Linutop Kiosk Documentation

The Linutop Kiosk is a secured web browser and a digital signage player manager.

Linutop Documentation Index


Table of Contents
1. Overview
Getting started with the configuration
2. Secure Web Browser
Web Kiosk browser tab
Parameters
Interface
using an external browser
Restrictions
Web Kiosk browser Security tips
Using the browser
3. Digital Signage Player
Playlist and format
Playlist management
Multimedia formats
Screen formats
Linutop TV Server (WEB or Private)
Local playlist (and shared folder)
USB update
Display settings
Player settings
Other options
Local remote control
Activation
Connection
Using Linutop remote control
4. Digital Signage with Linutop TV
5. Network settings
Proxy settings
Linutop Kiosk Network configuration
6. FAQ & Advanced configuration
FAQ
External applications
Type of slideshow items
Hooks
Prestart script
DBus interface
Scheduler (Advanced use)
Loops
Date and time
Example
Adding a font to the system
Prevent thunar network access
7. Quick configuration- Tutorials
Secure kiosk
Display a web page
Display a share drive content
Use the Linutop TV service
Linutop TV service configuration
Linutop TV private server configuration

Chapter 1. Overview

The Linutop Kiosk offers two modes:

Web Kiosk browser mode, for secure Internet access.

This mode allows to restrict various elements to make the browsing session very secure.

Digital signage player mode, for video display.

This mode allows to easily configure slideshows (playlist) of web pages, streames, images, PDF, sound, and videos locally or remotly.

Both modes can be used at the same time, allowing to use the digital signage mode as a screen saver when the kiosk is not used.

The Linutop Kiosk is divided in two software:

1)linutop-kiosk is the main application (player).

In the Linutop menu, Linutop Kiosk - Launcher entry.

2)linutop-webkiosk-settings is the configuration manager.

In the Linutop menu, Linutop Kiosk - Setup entry. This application is executed with the administrator rights. It defines how the main application will behave.

Linutop Kiosk is included into linutop OS Operating system.

Linutop Kiosk is accessible from the Linutop Menu


Getting started with the configuration

Starting the configuration tool will display the following screen:

The top section of the General tab (Kiosk mode) lets you choose the mode:

Digital signage of videos, images and web pages

This choice will enable the Digital Signage player tab. The application displays the choice of playlist sources and the content of a playlist in a loop.

Web Kiosk browser for secure Internet access

This choice will enable the Web Kiosk Browser tab. The main application will behave like a standard web browser, with the restrictions you'll setup (whitelist or blacklist of URLs, maximum session duration...).

Web Kiosk Browser and Digital signage as screen saver

This choice will simply enable all the features of the main application. At the end of browsing session, the digital signage feature will start to act like a screen saver.

The next section (Configuration) allows to setup a few things:

Fullscreen

If selected, the Kiosk will start in fullscreen mode.

Disable the system screen saver

If selected, the default system screen saver will never start.

Run the kiosk at startup

If selected, the Kiosk will automatically start when the system boots.

Password to exit the application

If selected, a password will be prompted. This password will be asked to the user when he tries to exit the application.(ESC or CTRL+q or Double click on mouse weel in "Digital signage player" mode)


Chapter 2. Secure Web Browser

Web Kiosk browser tab

The Web Kiosk browser tab of the configuration tool lets you define how the web browser should behave. It is split in 3 parts:

  • Interface: buttons to display to the users
  • Restrictions: websites restrictions
  • Advanced settings: some less used options, hidden by default


Parameters


Interface

These parameters define how the Kiosk will behave, and what will be shown to the user.

Hide the tool bar

Do not display the navigation toolbar. This setting can be activated if you allow navigation on only one website (a catalog of your shop articles for instance).

User can browse the local file system

If checked, the user can acess the file system, and acess a usb key for example for downloading purpose.

Display the 'clear' button

If checked, a Clean button will let the user explicitely clear his session. This will clear all cookies, all site authentications and clear the browsing history.

Allow user to print

If checked, the user can print a webpage

Begin a web session at startup

If unchecked, the application will wait for an external event to decide to start a web session.

Home page

URL to display when a session starts.

New Tab URL

URL to display when a new tab is opened.

Start the screen saver / Restart a web session after...

Defines how long (in seconds) the application should wait before cleaning the current session if the user is inactive. Setting this parameter to 0 will forbid the application to clean the session.

Zoom Factor

Zoom Factor allows enlarge the web pages. A 1.0 Zoom is 100% and 2.0 is 200%.

Default font

Allows to select the default font used when displaying web pages (in kiosk mode and in digital signage mode).


using an external browser

If the external browser option is checked, the application browser will be replaced by an external one to maximize navigation compatibility (by default, it is firefox on PC or epiphany on XS (raspberry Pi)). This option will launch the external browser with the selected url.

To improve security in this configuration, you will have to secure the external browser first. to do so you can use plugins like R-Kiosk or mKiosk for firefox


Using another web browser (chromium for exemple)

To use another web browser you need to edit this line in the main configuration file (/etc/xdg/webkiosk/preferences)


external_browser_cmd=chromium-browser --kiosk

--kiosk enable the chromium built-in kiosk option (fullscreen)


Restrictions

The Kiosk can be configured to forbid access to some Internet resources. You can define a list of URLs that will be used either as a blacklist (list of forbidden URLs, everything else is allowed) or as a whitelist (only the listed URLs are allowed). You can obviously choose to not restrict the URLs.

The list uses a set of URL patterns. The * has a special meaning. It symbolises any letter, as many as you want. For instance, to allow anything hosted by Google, you can use:

http*://*.google.*
This will allow to use both http and https protocols (http*://), on any subdomain (*.google) of any country (google.*).

The patterns can be defined as regular expressions. If you don't know what that is, you just don't need this! If you are familiar with regex's, have fun!

By default the file:// protocol, allowing the browser to act as a file browser, is forbiden. To enable this feature, check the User can browse the file system checkbox.


Web Kiosk browser Security tips

If you use the Linutop Kiosk for a public access point, you probably want to check a few things to secure the browser and the system.

  • Make sure to set a password in the General tab.
  • Start in fullscreen. This will prevent the user to access the rest of the desktop. And if the password is set, it will also remove the menu bar for maximum security.
  • Activate the cleanup of session after a certain time. This will prevent complaints from users who didn't clear their session themselves.
  • Make sure to enable the Linutop OS Lock mode to secure the entire system (system passwd, no reboot, useless desktop, hidden menu...).

Using the browser

The browser offers standard features for such an application:

  • 1: go to home page
  • 2: history navigation
  • 3: stop loading the page
  • 4: URL bar
  • 5: session cleanup

Chapter 3. Digital Signage Player

The Digital Signage Player tab of the configuration tool defines how the display part of the application should behave.


Playlist and format

The most important section is the Playlist update frame. It allows to setup how the data to be displayed should be retrieved. Two distinct methods can be used:

  • Online update will download a playlist and associated content from a network location. This mechanism is intended to be used with the Linutop TV service or private server.
  • Local update (USB, remote control or local directory update and static playlist) will use what is on the Linutop OS.


Playlist management

Linutop Kiosk playlist can be managed via different ways :

  • Linutop.TV Server ...
  • Local folder
  • Network folder
  • Local Playlist
  • USB
  • Remote control


Multimedia formats

Linutop kiosk can process the following formats :

  • Image: jpg, png, gif, Pdf...
  • Videos: mp4, avi, flv, mov...
  • Sounds: mp3...
  • HTML Pages Web: URL, IP Stream or RTSP
  • HTML templates (programmed)
  • Screen OFF (trigger screen sleep mode)


Screen formats

Linutop Kiosk can accomodate any screen resolution and orientation (landscape, portrait) for Image, PDF, web page, some limitations might appear for video depending on hardware limitation. Video HD (720p, 1080p), Video 4K, resolution, screen orientation and other settings can be configured in the linutop configuration pannel.


Linutop TV Server (WEB or Private)

By selecting Linutop TV Server button, If you are connected to the Internet, the public demo channels will appear in the window, you can display their content with a double click.

The Linutop TV service makes it easy to generate such playlists. If you have a Linutop TV account, the Install tab of the Linutop Configuration Panel offers a simple way to configure the Linutop Kiosk.

Connected on the internet, Linutop TV service can be automaticaly updated. For a demo, you can just double click on a channel.

Private playlist server

A playlist can be downloaded from a web or ftp site. To do so, check the Use a remote playlist button, and set the URL to access the file. This remote playlist uses an XML format, offering advanced features. See the Scheduler section for details.


Local playlist (and shared folder)

With local playlist, you can direclty create a playlist.

To add items to this list, simply press the add button and select the file from the file manager. The type of the file (video or image) will be detected automatically using the file name extension or protocol. URLs must be prefixed with the access protocol (usually http://, rtsp://, smb:// or files:///).

Local or network Directories (folders) can be added to a local playlist and all it's playable content will be shown with the same duration (except videos).

Items can be ordered in the tree using the arrow keys. You can define how long each item will be displayed (in seconds) in the Time column. Videos don't use this parameter, they will be entirely displayed.

The Add and Delete buttons allow to manipulate the list as well.

If you display web pages, you might need to perform logins on the websites. Two possibilities can be used, depending on how the website authenticates you.

  • If the site uses HTTP authentication (usually a popup window asking for a login and password), the login and password have to be included in the URL:

    http://mylogin:mypassword@mysite.com
    
  • If the authentication mecanism is more integrated in the site (Google login for instance), you will need to start a web session to set up things. This can be done by clicking the Set cookies button. This will start a web browser. The navigation arrows will let you access the sites defined in your playlist. Log in sites, and close the window. The login informations will be kept and used during the slideshow.
  • Adding a nework folder can be done with Thunar file manager on the network by copying the files location's network adress.

  • Or by entering manually the folder path :

    smb:///folder/path/
    
  • A local broacast folder can be synchonised with an online cloud storage service (Dropbox, Google Drive, Apple iCloud, Microsoft One Drive, ...) allowing display content management via a cloud shared folder.

    file:///home/pi/cloud-folder/
    
  • The 'Screen OFF' button allows to program the screen sleep mode automatically.

    Screen OFF - From: 20:00 TO: 08:00   0
    


USB update

If this option is selected, data can be automatically updated when a USB key is inserted on the Linutop machine.

The data on the USB must be at the key root or a directory holding the same name as the remote password.


Display settings

Resize image to fullscreen

This option Enlarge or reduce image to fullscreen and preserve image ratio.

Strech

This option Enlarge image to screen corners and do not keep aspect ratio.

Auto Scrolling

This option automatically slide down and up any web page vertially allowing reading on a big screen for a long web page, it also slide any panoramic picture horizontaly or verticaly.


Player settings

Hide the mouse pointer

If checked, the mouse pointer will disappear during slideshows.

Mute sound

If checked, the videos will not output sound.

1080p External HD Video player

This option run an external video player using full hardware acceleration. On OS XS (Raspberry Pi) this allows maximun video resolution of 1080p (video can't be stopped during playing),(Some HD videos might require more GPU memory to work properly and prevent a black screen). On PC, this option launche by default MPlayer and require adding acceleration software package. Other command line base hardware accelerators can be configured to accomodate other graphic cards.

Use an external web browser.

Use an external web browser in order to have the maximum compatibility possible. The external web browser has to be configured in full screen.


Other options

Refresh (minutes)

timming between two playlist update on Linutop TV

Shuffle

Plays items in random order.

Default display time

Delay (in seconds) to use as default time for added items the static playlist.


Local remote control

This feature allows the user to directly interact with the playlist. It can also be used to display a message with the direct display feature.


Activation

To enable the remote, remote activation has to be checkedm then to start the remote, the Linutop Launcher must be running.


Connection

Accessible from smartphone, tablette or PC

Once started, the remote is a web page accesssible from any devices, such as smartphone, tablet, PC's web browser connected on the same network.

The remote web address can be seen in blue below the remote activation checkbox. Just copy the URL web dress in any browser to display it.

Note: The remote is available only when the linutop-kiosk software is running

It can also be directly displayed on the same screen as the player by clicking on the right mouse button.


Using Linutop remote control

Channels management

Playlist management

You can directly select a channel in order to display it, the player may need some time to upload all the data before displaying it depending of your network speed.

The playlist view allows to select directly one playlist item.


Direct display

 

Direct display allows to send a text message on the screen, it also return a copy of the screen.

You can also directly display an item usig the drag and drop menu below

The direct display template can be customized using the button change direct template in the Linutop kiosk settings menu.


Chapter 4. Digital Signage with Linutop TV

Linutop TV is an online digital signage service. It will automatically send to the Linutop Kiosk a playlist and its associated documents remotely.

Configuration of your display system is done in 3 steps:

Linutop.tv can be accessed from any PC or web browser.

Linutop.tv is also available as a Private server, for more informations: www.linutop.tv

Subscribe to Linutop TV Service


Chapter 5. Network settings

Proxy settings

The Network tab of the setup interface lets you define which proxy to use.

As shown on the screenshot, URI, user name and password can be defined.

User name and password entries can be left blank if your proxy doesn't require authentication.

The URI can take two forms:

  • http://192.168.1.2:3128: simple URL, with port
  • pac+http://192.168.1.3/proxy.pac: URI of a autoconfiguration script


Linutop Kiosk Network configuration

Linutop Kiosk Can display on several screens on the same network from linutop.TV broacast management server. on a local network or via Internet.


Chapter 6. FAQ & Advanced configuration

FAQ

Can Linutop Kiosk play HD video?

- Yes Linutop Kiosk plays HD video depending on you hardware.

My screen is black nothing to display?

- Linutop Kiosk has nothing to display, your playlist is empty or the document cannot be reached.

My screen is in sleep mode?

- Linutop Kiosk is in sceen off mode to quit press 'ESC' key or CTRL+Q or Double click on mouse wheel.

How do I quit the linutop Kiosk in full screen ?

-To quit Linutop Kiosk press 'ESC'key or CTRL+Q or Double click on mouse wheel.

Can we use Linutop Kiosk as an Audio player ?

- Yes Linutop Kiosk play any audio files.


External applications

The set of applications displaying specific files can be configured in the main configuration file (/etc/xdg/webkiosk/preferences). The association between files and applications is done using mime types, in a [mimetypes] section.

Simple exemple of file associations:

[mimetypes]
application/pdf = evince

Type of slideshow items

When using the local playlist to define the slideshow (no XML), the application will guess the type of each item to display using the protocol and file extension. If not correctly detected, the default behaviour is to display the item as a web page. To override this behaviour, you can associate filename extensions with display types.

The known types are:

  • video
  • image
  • document (distant item that will be cached and displayed locally)

The association is done in the main configuration file (/etc/xdg/webkiosk/preferences), in a [slideshow-types] section. For exemple:

[slideshow-types]
iso = video
flv = video
gif = image

Hooks

Scripts can be executed when some event happen on the kiosk. For each hook a different script must be used. The scripts just need to be named like the event, and to be executable. The scripts must be saved in the hook dir (/etc/xdg/webkiosk/hooks/).

The current events are:

  • session-start: triggered when a web session starts
  • session-stop: triggered when a web session ends

Prestart script

In Kiosk mode, a prestart script can be used to define whether a web session should be triggered when the kiosk application starts. It can obviously also setup a few things before the application startup.

The prestart script is /etc/xdg/webkiosk/prestart. It will be used if it exists and is executable.

If the script returns 0, a web session will be triggered at startup. Any other return code will start the kiosk in display mode.


DBus interface

The browser offers a DBus interface, allowing to control a few things.

The DBus interface listens signals sent on the system bus on the object /com/linutop/WebKiosk. The messages are:

  • com.linutop.WebKiosk.Signal.StopSession: stop the current web session
  • com.linutop.WebKiosk.Signal.StartSession: start a new session
  • com.linutop.WebKiosk.Signal.AddTime (uint32 s): add s secondes to the timer
  • com.linutop.WebKiosk.Signal.uit: stop the application

dbus-send can be used to send the signals:


# stop the current session
dbus-send --system /com/linutop/WebKiosk com.linutop.WebKiosk.Signal.StopSession

# add 2 minutes to the timer
dbus-send --system /com/linutop/WebKiosk com.linutop.WebKiosk.Signal.AddTime uint32:120

Scheduler (Advanced use)

The Linutop Kiosk can use an XML file to define multiple playlists, managed by a scheduler. It is possible to manually create these files.


Loops

The scheduler uses loop blocks to define the various playlists. Each loop must have an id attribute (0 being reserved for the default playlist). A single loop will contain the list of the items to displays:

<schedule>
  <loop id="0">
    <item uri="http://www.google.com" time="10" />
    <item uri="http://my_server/display/an_image.png" type="image" time="5" />
    <item uri="http://my_server/display/a_video.avi" type="video" />
    <item uri="http://my_server/display/an_image_as_web_page" time="5" />
    <item uri="http://my_server/display/a_video_as_web_page" />
  </loop>
</schedule>

The previous example shows the definition of a basic playlist. The <schedule> and <loop> nodes are mandatory. The "id" attribute is also mandatory.

Each item must define an uri" attribute which indicates where the item can be found. It can use several schemes, depending on the type attribute:

http://www.google.com

will show a web page (the type attribute must be omitted)

http://my_server/display/an_image.png

  • if the type attribute is present, the webkiosk will download the file, and display it as a local file (the file is cached, and redownloaded only if needed).
  • if the type attribute is missing, the uri will be used as if it were a web page (no cache).

The two supported types are image and video.

for URLs and images a time attribute must be defined. It stores the number of seconds that the item should be displayed. For videos, the next item will be displayed when the video has ended.

Supported URI schemes are:

  • http:// for HTTP access (web server)
  • ftp:// for FTP access
  • file:// for file access

Authentication is supported. For example, using a FTP authentication in a URI would give:

uri="ftp://username:passwd@server/myfile"

Date and time

Several loops can be defined. Each loop must have a uniq ID, and must define a time period. The loop ID'ed 0 will be the default loop, used if other loops don't match the current date/time.

Here are some examples of loops describing the schedule options:

<schedule>
  <loop id="0">
    <!-- default playlist defined here -->
  </loop>

  <loop id="1" start="14:00" end="18:15">
    <!-- this playlist will be read every day between 14:00 and 18:15 -->
  </loop>

  <loop id="2" start="14:00" end="18:15" weekdays="0246">
    <!--  this playlist will be read every monday, wednesday,
          friday and sunday between 14:00 and 18:15 -->
  </loop>

  <loop id="3" start="2011/03/25 00:00">
    <!-- this playlist will be used starting on march the 25th of 2011 -->
  </loop>

  <loop id="4" start="20:00" end="06:00" idle="1">
    <!-- this playlist is marked as idle. This will shut down the screen of the client -->
  </loop>
</schedule>

Combinations of these examples can be used.


Example

A demo playlist is available at http://display.linutop.com/demos/linutop.xml.


Adding a font to the system

Additionnal fonts can be necessary to display some web pages or documents.

It is possible to add new fonts to the system using a font file (fontname.ttf), to do so you need to create a folder with the name of the font in lower case in /usr/share/font then copy the fontname.ttf file into the folder. There is two way to do so, using thunar as root :


$ sudo thunar
Or doing it with in command line (open the terminal in the folder containing the .ttf file):

$ sudo mkdir /usr/share/font/fontname
$ sudo cp fontfile.ttf /usr/share/font/fontname/fontname.ttf


Prevent thunar network access

By default thunar can access your network. to secure/prevent this network access, use the command below.


$ sudo chmod 000 /usr/share/gvfs/mounts/network.mount
And if you want to put it back:

$ sudo chmod 644 /usr/share/gvfs/mounts/network.mount
You need to restart your computer in order to apply the change.


Chapter 7. Quick configuration- Tutorials

Secure kiosk

This section explain how to setup a secure kiosk.

First you need to select Web Kiosk in the main pannel and to check fullscreen and use a password (don't forget to set the password).

Then in the Web Kiosk tab you can choose which website will be displayed as home and in each new tab. Also you can blacklist or whitelist website using the restriction panel. Once done hit the OK button to validate the configuration.

Once secured to quit the kiosk application hit Ctrl+q and enter your password.


Display a web page

This section explain how to display a web page. It can be a local, Internet or intranet web page such as a dashboard, a clock or a template.

First you need to select Digital Signage Player in the main pannel and if you want it to start automaticaly check the associated parameter.

Then in the Media Player tab, you need to use the add button to open a dialog that allows you to choose the web page to display and the time it nees to be displayed, a time of 0 means that it will be displayed forever.


Display a share drive content

This section explain how to display a local network share drive content.

First you need to go to your share drive with Thunar File Manager and copy the path.

Then in the Media Player tab, you need to use the add button to open a dialog that allows you to paste the share drive file path.

Once in the playlist, all the displayable files will automatically be displayed by the player.


Use the Linutop TV service

This section explain how to use the Linutop TV service.

First you need to select Media Player in the main pannel and if you want it to start automaticaly check the associated parameter.


Linutop TV service configuration

If you use a public server you need to select Linutop TV server and to log with your invoice number and you password. Then choose the playlist you want to diplay and hit the OK button.

To quit the kiosk application hit Esc. If a password is set, use Ctrl+q and enter your password instead.


Linutop TV private server configuration

If you use a private server you need to select Linutop TV server and to check Private then enter the url or ip address of your server. once done you need to use your login and password to access the playlist (by default admin/linutop). Then choose the playlist you want to diplay and hit the OK button.

To quit the kiosk application hit Esc. If a password is set, use Ctrl+q and enter your password instead.