Linutop Kiosk Documentation

The Linutop Kiosk is a secured web browser, and digital display manager. More info on linutop.com.

Linutop Documentation Index


Table of Contents
1. Overview
Getting started with the configuration
2. Secure Web Browser
Configuration tab
Parameters
Interface
Restrictions
Security tips
Using the browser
3. Digital Signage
Playlist
Remote playlist (Online update)
Local playlist (Use playlist below)
Other parameters
Scheduler (Advanced use)
Loops
Date and time
Example
4. Digital Signage with Linutop TV
5. Network settings
Proxy settings
6. Advanced configuration
External applications
Type of slideshow items
Hooks
Prestart script
DBus interface

Chapter 1. Overview

The Linutop Kiosk offers two modes aiming at different uses:

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 parts.

linutop-webkiosk is the main application. It can be started from the Internet menu, Linutop Kiosk - Launcher entry.

linutop-wksettings is the configuration manager. It can be started from the Linutop menu, Linutop Kiosk - Setup entry. This application is executed with the administrator rights. It defines how the main application will behave.


Getting started with the configuration

Starting the configuration tool will display the following screen:

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

Digital signage of videos, images and web pages

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

Web Kiosk for secure Internet access

This choice will enable the Web Kiosk 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 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 (Misc) 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.

Default font

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


Chapter 2. Secure Web Browser

Configuration tab

The Web Kiosk 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 end his web session

If checked, a Quit button will appear in the navigation toolbar. If no password has been set, clicking on this button will leave the application.

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.

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.

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.


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.


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.
  • 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: history navigation
  • 2: go to home page
  • 3: stop loading the page
  • 4: URL bar
  • 5: session cleanup
  • 6: quit

Chapter 3. Digital Signage

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


Playlist

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.
  • Local update (USB update and static playlist) will use what is on the Linutop OS.


Remote playlist (Online update)

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.

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.


Local playlist (Use playlist below)

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

Items can be ordered in the tree using drag and drop as well. 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.

Playlists can be imported and exported using the Import and Export buttons.

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.


Other parameters

The General section defines a few more parameters:

Hide the mouse pointer

If checked, the mouse pointer will disappear during slideshows.

Mute sound

If checked, the videos will not output sound.

Default display time

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

Refresh the playlist every...

How much minutes should we wait before trying to see if the playlist has been updated (remote playlist).


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.


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.

For more information: 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


Chapter 6. Advanced configuration

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