This knowledge was brought to you by Guru.
XIBO is a popular open source digital signage solution. if you want to save some money and avoid using Microsoft Windows on the signage clients, here you go.
From version 1.8.12, XIBO signing CMS supports Linux clients. Some specific settings are still not implemented, but with time they should be. Here is a little tutorial how to set all up, you can use it to supplement the official documentation.
In BIOS, under Power
tab, set After Power Failure
to Power On
.
On Intel NUC, hold F2
to enter BIOS after powering on the device.
Pick a distribution, something Ubuntu based, we are using Lubuntu with LXDE (as there seems to be no updates, we are picking vanilla Ubuntu).
Easiest install is via the Snapcraft package manager.
First install snap:
$ sudo apt update
$ sudo apt install snapd
Sometimes you need to logout and login again so snap gets all the PATHs.
Then install the XIBO player:
$ sudo snap install xibo-player
Run xibo-player.options and set up the client.
The problem with most Linux VNC installs is that you get a different display when you run the VNC server, so you can’t really see what is going on on the display.
Install TigerVNC:
$ sudo apt-get install tigervnc-scraping-server
Set a password:
$ vncpasswd
Run the VNC server:
$ x0vncserver -display :0 -passwordfile ~/.vnc/passwd
Click around in the desktop environment you have installed.
On Ubuntu, right click, Display settings and then Power. Disable blanking screen and dimming.
Click around in the desktop environment you have installed.
Click around in the desktop environment you have installed.
On Ubuntu run Startup, add an item, name=xibo, command=xibo-player.
The latest xibo-player seeems to use the watchdog, so this is obsolete.
On Microsoft Windows, there is a XIBO player watchdog program, that makes sure that XIBO player is always running. If you check the XIBO Linux player package, you will also see a watchdog binary, that does nothing, as it is not implemented yet.
So to solve this (XIBO player was crashing from time to time on our clients), we can create a service and make sure it is restarted if it does not exist or is not running.
$ sudo vim /etc/systemd/system/xibo.service
[Unit]
Description=Service Xibo-client
[Service]
Type=simple
RestartSec=30
Environment=DISPLAY=:0
User=xibo
ExecStart=/snap/bin/xibo-player
Restart=always
[Install]
WantedBy=default.target
$ sudo systemctl enable xibo.service
$ sudo systemctl daemon-reload
Source: Tony.J in a comment https://blog.xibo.org.uk/linux-player-1-8-r1-released/
Obsolete
Occasionally the clients would fail to obtain data from XIBO CMS, in our case the error was too many connections. Dirty fix is to restart the XIBO player, so lets do that every night in a cronjob.
$ sudo vim /etc/cron.d/xibo
00 00 * * * root systemctl restart xibo.service