Menüs

Ubuntu 16.04 mit Openbox als Kiosksystem

Ubuntu Server 16.04 mit Openbox

Die Vorgaben für das System sind:

  • Einem Standardbenutzer ist nur das Starten vorgegebener Programme erlaubt oder die Programme starten automatisch.
  • Es ist nur über einen SSH- oder RDP-Zugang administrierbar.
  • Der Standardbenutzer kann die GUI nicht verlassen.

Installation

Zuerst wird die Serverversion 16.04 von Ubuntu installiert (Download -> hier). Bei der installation wählt man No automatic updates und installiert mit der Paketauswahl Manual package selection. -> Hier gibt es im Netz eine gute und bebilderte Anleitung sowohl zur Desktop als auch zur Serverinstallation.
Nach der Installation und einem Reboot wird das System zuerst aktualisiert.

:~$ sudo apt update && sudo apt upgrade

Als Oberfläche wird Openbox installiert. Eigentlich wollte ich mir den ganzen Ballast von Openbox sparen und mit dem Parameter –no-install-recommends installieren, das klappte bei mir aber nicht. Des weiteren brauchen wir Xorg als Display-Server und Slim als Starter für Openbox.

:~$ sudo apt install xorg openbox slim

Die Administrationszugänge werden installiert, wobei prinzipiell SSH ausreichend ist. Hier installiere ich den RDP-Zugang mit.

:~$ sudo apt install openssh-server xrdp

Um die Administration zu vereinfachen, wird der Midnight Commander installiert.

:~$ sudo apt install mc

Unter Ubuntu Server 18.04 muss zunächst das Repository Universe hinzugefügt werden, da sich der Midnight Commander sonst nicht installieren lässt.

:~$ sudo apt-add-repository universe

Falls eine Java-Anwendung laufen soll, muss noch das Java-JRE installiert werden.

:~$ sudo apt-get install default-jre 

Zum Testen wird ein User angelegt und der Benutzergruppe video zusätzlich zugeordnet. Dazu kann man sich mit -> PuTTY per SSH verbinden. Mit dem Neustart sollte jetzt der Loginscreen von Openbox verfügbar sein.

:~$ sudo adduser testuser
:~$ sudo usermod -aG video testuser
:~$ sudo shutdown -r -t 0

Mit dem Neustart sollte jetzt der Login-Screen von Openbox verfügbar sein.

TIPP: Sollte irgendetwas während der Konfiguration schiefgegangen, kann man mit STRG + ALT + F1 in die Konsole ohne Fenstermanager wechseln.

Konfiguration

Am Beispiel des Dokumentenbetrachters Evince soll gezeigt werden, wie man dem Testuser eine Anwendung zur Verfügung stellt. Dazu wird zunächst Evince installiert.

:~$ sudo apt install evince 

Die allgemein gültige Konfiguration von Openbox befindet sich in /etc/xdg/openbox/ und wird in das home-Verzeichnis des Testusers kopiert. Sie wird dann anstelle der Konfiguration in /etc/xdg/openbox/ geladen, so dass man ggfls. jedem User eine angepasste Oberfläche zuordnen kann und vor allem die Originalkonfiguration zur Sicherheit noch behält.

:~$ sudo mkdir /home/testuser/.config
:~$ sudo mkdir /home/testuser/.config/openbox
:~$ sudo cp /etc/xdg/openbox/{rc.xml,menu.xml,autostart,environment} /home/testuser/.config/openbox
:~$ sudo chown -R testuser:testuser /home/testuser/.config/openbox

Das Menü für den Testuser wird in der Datei /home/testuser/.config/openbox/menu.xml angepasst, indem nach
<menu id=”root-menu” label=”Openbox”> folgendes eingefügt wird:

<item label="Document-Reader">
<action name="Execute"><execute>evince</execute></action>
</item>

Soll Evince mit einem PDF-Dokument geöffnet werden, gibt man einfach den Pfad dort mit an.

<item label="Document-Reader">
<action name="Execute"><execute>evince /Pfad/zum/Dokument.pdf</execute></action>
</item>

Nach dem gleichen Schema können auch Scripte ausgeführt werden. Liegen die Scripte nicht im home-Verzeichnis des Testusers, muss der Pfad angegeben werden und natürlich müssen auch die Zugriffsrechte stimmen und die Dateien ausführbar sein.

<item label="Mein Sctipt">
<action name="Execute"><execute>./start.sh</execute></action>
</item>

Soll auf dem Kiosk-System ein Browser laufen, dann gibt es -> hier einen sehr guten Artikel, wie man das mit Chromium macht.

Autologin mit Slim

Die Konfigurationsdatei dafür ist /etc/slim.conf. Dort werden die Einträge geändert auf

# default user, leave blank or remove this line
# for avoid pre-loading the username.
default_user testuser
....
focus_password no
....
auto_login yes

Autostart von Programmen

Um für den automatisch eingeloggten User Programme zu starten, trägt man sie in die OpenBox-Konfiguration im home-Verzeichnis des Users ein. Für dieses Beispiel ist das /home/testuser/.config/openbox/autostart. Um Firefox zu starten wird am Ende der Datei firefox angefügt. Will man mehrere Programme starten, muss man mit & dafür sorgen, dass die Startshell nicht blockiert wird. Um den Editor NodePadQQ und ein PDF mit Evince automatisch zu öffnen sieht das so aus:

# If you want to use XFCE config tools...
#
#xfce-mcs-manager &
notepadqq &
evince /home/testuser/Irgendein.pdf 

Kurz mal mounten

Um Dateien und Programme auf den Kiosk-PC zu übertragen, kann man z.B. -> WinSCP verwenden oder man mountet mal eben kurz ein Netzlaufwerk.  Handelt es sich um eine Windows-Freigabe, benötigt man cifs zum Mounten. Um einen USB-Stick mit fat32 zu mounten, legt man in /media ein Verzeichnis für den Mountpunkt an.

:~$ sudo apt-get install cifs-utils
:~$ sudo mkdir /media/external

Dann sucht man die Bezeichnung des eingesteckten USB-Sticks

:~$ sudo fdisk -l  

und kann ihn dann mounten mit

:~$ sudo mount -t vfat /dev/sdb1 /media/external -o uid=1000,gid=1000,utf8,dmask=027,fmask=137

Optimierungen

Silent Boot

Um ohne Systemmeldungen zu booten, passt man die Datei sudoedit /etc/default/grub an.

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""

Anschließend muss grub noch mit der geänderten Konfiguration aktualisiert werden.

:~$ sudo update-grub 
Quelle: https://thepcspy.com/read/building-a-kiosk-computer-ubuntu-1404-chrome/

Absicherung

Um den Kiosk gegen Ausbruchsversuche ins System abzusichern, muss insbesondere der Tastatur noch einige Aufmerksamkeit gewidmet werden. Dazu folgender -> Artikel.

Buy Me a Coffee at ko-fi.com

Kommentare 2

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.