Support

Linux Digital Signage

Linux Digital Signage

At Play Digital Signage, we love Linux digital signage. We’ve packaged Linux executable in AppImage format that is supported on most Linux distributions these days with just a few clicks. Linux-based players can be also scheduled to turn off the TV (for nighttime) to save power and extend the life of the TV via HDMI-CEC functionality (provided the player hardware supports it), see more in our FAQ.

Before you start Go to start for Linux digital signage app

Starting in 2018, Linux desktop environments started including an external program to manage and better integrate AppImages. This program is wonderful for regular users, however, for an unattended digital signage setup, it adds a layer of software that is beyond our control. We recommend uninstalling appimagelauncher before proceeding. On Debian based systems you can remove it with the following command:

sudo apt-get remove --purge appimagelauncher

Getting Started - Step 1 - Sign up

Sign up at my.playsignage.com

Go sign up at playsignage.com, using Facebook, Google, Microsoft, or simply a username and password.

Getting Started - Step 2 - Connect your player

Connect your player

Connect your player using a standard HDMI cable (Some TV’s have a player built-in)

Getting Started - Step 3 - Download

Download our APP

Download and install our APP – Download the APP or if you are using the device with an ARM processor? Click here to download thearmv7l player software

Getting Started - Step 4 - Link your screen

Link the APP

Log in at my.playsignage.com, then go to Screens, hit Add screen, and use the code from the TV to link the APP to your account.

Getting Started - Step 5 - Design your content

Design your content

Go to Playlists, hit Create Playlist, and design your content.

Getting Started - Step 6 - Link playlist

Link your playlist

Go to Groups & Schedules, pick your playlist in the group’s base playlist and move your screen to the group.

Set executable permissions Go from Permissions to start for Linux digital signage app

By default Linux does not give execute permissions to files downloaded from the Internet, therefore you need to grant the permission. Most file managers enable to do it by right-clicking on the file, going to Properties, and finding either a checkbox for making it executable or selecting from drop-down Execute “Anyone”. This process varies a little depending on which file manager is your Linux distribution using.

Making Play Digital Signage AppImage executable

If you prefer the console way, you can also do that with the following command:

chmod +x PlaySignage-*-x86_64.AppImage

Launch APP on startup

Launching the APP on startup is not on when you first install our APP. If you want the APP to launch after a power outage or simply when you power on the player go to my.playsignage.com, Screens, open the settings for the screen and toggle on Launch APP on startup.

Options

Options can be accessed directly by the player or in settings for your player.

  • Launch player on startup - Toggle this ON to make sure our APP starts when your player starts up, for example after a power outage.
  • Show top menu bar - Toggle this ON if you want the top bar to appear when moving the mouse or using the remote for your player. Toggle this OFF if you want a kiosk experience where users can't exit the app by clicking the exit button on the top menu bar. You can still access the menu with "Ctrl + o" command.
  • Optimize for touchscreen - Toggle this ON if you are planning on using our APP on a touchscreen. This setting will make small adjustments to how our APP works in conjunction with a touchscreen.
  • Analytics - Toggle this ON if you need analytic data from this particular player. Read more about Analytics
  • Display Orientation - This option should only be used if your player operating system does not support changing the orientation as we recommend the adjustment on an operating system level instead.. You have the option of portrait (Clockwise) and portrait (Counter-clockwise).
  •  Website rendering engine - Our app comes with a pre-packaged Chromium engine and by default the websites are rendered using the prepackaged browser, however you can change this and use the system engine instead, then websites will be rendered using default browser that is configured as the webview engine in your Android device. The prepackaged browser works well for most users so there should not be a need to change it unless there are problems with specific website rendering. 
  • UserAgent - UserAgent is a piece of text that browsers use to identify itself to the web server. Certain websites will render a mobile view if they detect Android userAgent, altough the site is displayed on a big screen. With this option you can work around this issue and spoof a desktop computer's UserAgent. The UserAgent lets you pick Default, Mobile, Desktop, or Custom.
  • Reload player every day at - It is good practice to clear the cache on the player once every 24 hours. Here you can set a time that is not inconvenient, for example at night when no one is watching your TVs. Rooted devices will be rebooted, unrooted devices will simply restart our app.
  • Tags - If you are using tags they will be listed here. You also can find and add a tag.
  • Clear cache - In case you need to clear the cache manually you can do that here. For example, if you are changing your content continually and you experience something not working as expected, clearing the cache should help as it removed any old data stored on the players' storage.
  • Reload - Reloading your player is similar to clearing the cache. In addition, reloading will close and start the APP.
  • Status - Status tells you if the APP is connected to the cloud. Green means you are connected and red means you are not connected. If you see a red status you should check the internet and wifi connection to your player.
  • Device Time - The device time tells you the player's time and date. If the device time is wrong it will also be wrong in our APP and thus all time related scheduling will be off, so make sure to correct the time on the player operating system if you are having problems.
  • Resolution - The resolution is the resolution according to your player's operating system. If the operating system on the players tells us its running HD, your content on the TVs will be optimised for HD. Please note that many devices that are advertised as 4K can only decode video in 4K but run apps in a lower resolution. This means you may see a lower resolution reported by our app, but any 4K video that you use will be still played as 4K. If you are seeing a lower resolution, you can install a 3rd party "resolution checker" app on the device to confirm the resolution from another app as well.
  • Version - This is the version of our APP
  • Screen ID - Also referred to as UID. The UID is the unique ID for your player.
  • Disc Usage - Disc usage will tell you how much data have been used on the player's storage. We do not recommend more than max. 80% storage use.
  • Android Settings - This is reserved for developers only
  • Screen edges - In case you have a LED screen, video wall, or an older model TV you might have to adjust the edges so that they match your TV and the content.
  • Browser - Here you can easily access the browser used by the APP to check content, connectivity, etc.
  • Reset - If you need to unlink your player or perhaps link the player to another account you can use reset.

 

FAQ for Linux digital signage Go from FAQ to start for Linux digital signage app

I got my screen linked, what next?

We recommend checking out our 5-minute video guide on getting started, it covers most of the basics.

Where are the files stored?

The player saves files to ~/.config/PlaySignage/assets
Please note that the .config folder is not visible in Linux by default.

Can I run several instances of the application?

By default, the application enables a maximum of one window, however in situations where you have a Linux machine with several monitors, you may need to run one player application per monitor. To do this, you need to set a different data directory for each application window using the --data-dir parameter, for example:
~/Downloads/PlaySignage.AppImage --data-dir=/home/playsignage/play-app2

The second instance however would still use the same autolaunch file on Linux. So don’t enable autostart on the second instance, instead manually create the launch command. Make a copy of the ~/.config/autostart/PlaySignage.desktop file in the same folder, let’s call it PlaySignage2.desktop, then open up the file with a text editor and give it a different name in the name field, and also append the same –data-dir parameter to the Exec row.

Intranet website with a self-signed SSL certificate is not showing?

By default as a security precaution, the application does not show websites with certificate errors. However, if you need to show a website that does not have a valid SSL certificate, you can launch the app with a --ignore-certificate-errors parameter, for example:
~/Downloads/PlaySignage.AppImage --ignore-certificate-errors

The mouse cursor is visible after restart?

When running Linux digital signage, you can install a program to hide the cursor. By default unclutter will hide the cursor if it’s not moved for 5 seconds.

  • Ubuntu sudo apt-get install unclutter
  • Arch sudo pacman -Syu unclutter

After installing you can test unclutter by launching it in the terminal with unclutter the command. If it works for you, be sure to add it to startup programs!

How can I turn off the TV for the night to save power? Link

Our software uses cec-utils software package to issue commands over HDMI to your TV, if you downloaded our Raspberry PI image, then the package is already pre-installed. The second key component is

  • Install cec-utils software package: sudo apt-get update && sudo apt-get install cec-utils (Ubuntu)
  • Make sure that CEC is enabled in your TV. Different manufacturers have different names for the same functionality.
    • Tizen: Menu -> System -> General -> Anynet+
    • Philips: Home -> Settings -> TV Settings -> Easylink
    • LG: Settings -> All Settings -> General -> SIMPLINK
    • SONY: Options (On the remote) > Settings > Inputs > External inputs > BRAVIA Sync settings
    • Other brands: Most modern TVs have this functionality, try to find how your TV’s manufacturer has named it and find it in the settings.

Now that the software is installed and CEC is enabled in the TV, you can test if the TV is detected. Run the following command in the terminal:

echo 'scan' | cec-client -s -d 1

The scan takes about 10 seconds and it outputs a list of devices. If you see your TV listed (usually under device #0), then the connection works! You may also see more than one device listed, which is okay as they’re virtual interfaces.

You can also use our API function to trigger the TV on or off, this can be combined with a scheduled webhook service, such as https://crontap.com/

How do I update Linux digital signage? Link

There is a built-in auto-updater, however, in certain circumstances, the software is not automatically updated. You can apply the update manually without having to link the screen again:

  1. Close the player application if it’s running.
  2. Download the latest version.
  3. Make the downloaded file executable (see step 3 above).
  4. Start the newly downloaded.AppImage file.

The plugins don’t work

If one or more plugin doesn’t work on your Linux digital signage, it’s possible that the PlaySignage app on your player device is out of date. Click here to learn more.

How do I access OPTIONS if I disabled the top menu bar?

In the APP options, you can hide the top menu bar if you for example are running a touch screen. To access the top menu bar, when hidden, you can use CTRL + O for options or CTRL + Q to close the APP.

I’m getting an error about the “SUID Sandbox helper binary”?

Our application creates a namespace sandbox, however on some Linux distributions this option is disabled, there are 2 possible solutions:

  1. Enable apps to create namespace sandbox: sudo echo ‘kernel.unprivileged_userns_clone=1’ > /etc/sysctl.d/00-local-userns.conf
  2. The second option is to disable the sandboxing and run our AppImage with --no-sandbox flag

More info about SUID Sandbox helper binary.