Configure CMS Connection
After installing a player, you need to connect it to your Xibo CMS.
What You Need
- A running Xibo CMS instance (v3 or v4)
- The CMS server key (found in CMS → Administration → Settings → Display Settings → CMS Secret Key)
- The CMS URL (e.g.
https://your-cms.example.com)
Step 1: Enter CMS Credentials
Kiosk images (first-boot wizard)
The setup wizard appears automatically on first boot. Enter:
- CMS URL — your Xibo CMS address
- CMS Key — the server key from CMS settings
- Display Name — a name to identify this display (e.g. "Lobby Screen 1")
Electron Player
On first launch, the player shows a setup page. Enter the same three fields. You can also configure via command line:
xiboplayer-electron --cms-url=https://your-cms.example.com --cms-key=YOUR_KEY --display-name="Lobby"
Or edit the config file at ~/.config/xiboplayer/electron/config.json.
Chromium Player
The Chromium player opens the PWA setup page in the browser. Enter CMS URL, key, and display name directly in the form.
PWA (browser)
Navigate to https://your-cms.example.com/player/pwa/ and enter the CMS key and display name on the setup page.
Config Templates (RPM/DEB installs)
For automated deployments or managing multiple displays, use config templates instead of the setup wizard. Templates separate secrets (CMS credentials) from configuration profiles (kiosk, dev, sync).
Secrets
Create your secrets file once per CMS. The templates read from it automatically.
cp /usr/share/xiboplayer-electron/configs/secrets.env.example \
~/.config/xiboplayer/secrets.env
nano ~/.config/xiboplayer/secrets.env
CMS_URL=https://your-cms.example.com
CMS_KEY=your-server-key
API_CLIENT_ID=your-oauth-client-id
API_CLIENT_SECRET=your-oauth-client-secret
Profiles
Kiosk
Production mode. Fullscreen, mouse hidden, no debug UI, error-only logging. Use for deployed signage displays.
apply.sh electron-kiosk electron
apply.sh chromium-kiosk chromium
Development
Windowed mode with debug overlays, keyboard controls (T=timeline, D=downloads, S=setup), verbose logging. Use for testing and troubleshooting.
apply.sh electron-dev electron
apply.sh chromium-dev chromium
Multi-Display Sync
Synchronized playback across multiple screens. One lead coordinates timing, followers stagger layout transitions.
apply.sh electron-sync-lead electron-sync-lead
apply.sh electron-sync-follower electron-sync-follower-1 PORT=8771 DISPLAY_NAME=follower-1
Custom overrides
Pass variables on the command line to override template defaults:
apply.sh electron-kiosk electron DISPLAY_NAME="Lobby Screen 1" PORT=8770
Template syntax: {{VAR}} is required, {{VAR:default}} has a fallback. Empty OAuth fields are removed automatically so the display uses manual CMS authorization instead.
Reset a player
Cache clear
Clears browser cache (GPU cache, compiled code, blob storage) but keeps CMS auth, media files, and service worker data.
clean.sh electron cache
Full wipe
Removes all player data. The display re-registers with the CMS as a new device.
clean.sh electron full
Step 2: Authorize in CMS
After the player registers, it appears in your CMS with status Waiting for Authorization.
- Open your CMS admin UI
- Go to Displays
- Find your new display (status: Waiting)
- Click Authorize
The player will pick up the authorization on its next collection cycle (typically within 30 seconds).
Step 3: Assign Content
- In CMS, go to Schedule
- Create or select a Campaign or Layout
- Schedule it to your display or display group
- The player downloads media and starts playback automatically
Display Settings
Once authorized, the CMS pushes display settings to the player including:
- Collection interval (how often the player checks for updates)
- Download window (restrict large downloads to off-hours)
- Screenshot interval
- Log level
- XMR channel (for real-time push commands)
These are configured per-display or per-display-group in CMS → Displays → Edit Display → Display Settings.
Verifying Connection
From the player
Press T to toggle the timeline overlay. If the schedule is loaded and layouts are listed, the connection is working.
Press D to see download progress for media files.
From the CMS
In CMS → Displays, check:
- Status: should show a green tick (authorized and communicating)
- Last Access: should show a recent timestamp
- Storage: shows remaining disk space on the player
- Screenshot: if configured, shows the latest screenshot from the player
