Kiosk Modus mit einem Ubuntu 12.04 LTS

Für den Hackerspace in Neubrandenburg waren wir auf der Suche nach der Möglichkeit ein Kiosk-System unter Ubuntu 12.04 LTS einzurichten. Das System sollte dabei hochfahren, den Browser öffnen und eine Webseite im Vollbild darstellen. In dieser Anleitung wird dabei davon ausgegangen, das System mit der Serverversion von Ubuntu 12.04 LTS installiert wurde. Nach der Installation muss im ersten Schritt der Desktop nachinstalliert werden:

apt-get install ubuntu-desktop

Der installierte Desktop wird beim nächsten Neustart automatisch ausgeführt, so das hier keine weitere Konfiguration notwendig ist. Nun legen wir den Nutzer für den Kioskbetrieb an:

adduser kiosk

Dieser Nutzer soll beim Neustart automatisch angemeldet werden. Dazu wird die Datei /etc/lightdm/lightdm.conf bearbeitet. In diese Datei wird dabei folgendes eingetragen:

[SeatDefaults]

autologin-guest=false
autologin-user=kiosk
autologin-user-timeout=0
autologin-session=lightdm-autologin
user-session=ubuntu
greeter-session=unity-greeter

Damit sind die ersten grundlegenden Schritte fertiggestellt und der Rechner kann neugestartet werden. Der Rechner fährt nun hoch und loggt sich mit dem Nutzer kiosk ein. In unserem Fall wurde nun der Bildschirm um 90 Grad über die Systemeinstellungen gedreht, da die Webseite hochkant angezeigt werden sollte. Damit der Bildschirm nicht nach einer gewissen Zeit ausgeht, sollte der Bildschirmschoner und die automatische Sperrung in den Systemeinstellungen unter Helligkeit und Sperren deaktiviert werden. Anschließend sollte im Terminal:

gsettings set org.gnome.desktop.screensaver idle-activation-enabled false

eingeben werden. Im Nutzerordner des Nutzers kiosk wird nun eine Datei mit dem Namen firefox.sh angelegt. Die angelegte Bash-Datei wird mit folgendem Inhalt gefüllt:

#!/bin/bash
setterm -blank 0
sleep 90;
while true;
do
 firefox -url http://example.org/
      sleep 0.1s;
done

Im Firefox selbst sollte ein Add-On für den Kiosk-Modus installiert werden. Hier stehen mKiosk und R-kiosk zur Auswahl. Mit dem Add-On wird der Firefox in die Möglichkeiten versetzt die Webseite im Vollbild anzuzeigen. Für den automatischen Start des Firefox werden nun folgende Zeilen zur .profile-Datei des Nutzers kiosk hinzugefügt:

# Start firefox
./firefox.sh &

Die 90 Sekunden Verzögerung in dem Skript dienen dazu, dem System genug Zeit für die Initialisierung und die Bildschirmdrehung zu geben. Damit der Mauszeiger nicht zu sehen ist, bietet sich das Paket unclutter an. Mit:

unclutter -idle 0.01 -root

wird der Mauszeiger nach der definierten Zeit ausgeblendet, bis er wieder bewegt wird.

BleachBit

Betriebssysteme und Anwendungen hinterlassen an vielen Stellen Daten in Form von temporären, Sicherungs- und sonstigen Dateien. Das führt im schlimmsten Fall dazu das etliche Gigabyte auf der Festplatte unnötig belegt sind.

BleachBit unter Windows

BleachBit unter Windows

Mit BleachBit ist es möglich dieses Problem zu entschärfen und die Festplatte zu bereinigen. Dazu wählt man im ersten Schritt die gewünschten Bereinigungsmechanismen aus. Anschließend wird ermittelt wie viel Speicherplatz damit gespart werden kann und auf Wunsch wird die Bereinigung durchgeführt. Bezogen werden kann die Software auf der offiziellen Projektseite – es sind Versionen für Windows und Linux verfügbar. BlechBit ist unter der GPL3 lizenziert und damit freie Software.

Mail auf der Konsole versenden

Wenn man einen Server mit einem Mail Transfer Agent wie Postfix betreibt, kann man von diesem auch Mails versenden. Auf der Konsole ist dies dabei mit dem Kommando mail möglich, welches sich im Paket mailutils befindet. Mit dem Kommando kann mittels:

echo "Nachricht" | mail -s 'Betreff' 

eine Mail versandt werden. Natürlich können auch lokale Konten bespielt werden:

echo "Nachricht" | mail -s 'Betreff' root

Damit wird in diesem Fall dem Nutzer root eine Mail gesendet.

Invalid user settings unter Dovecot

Vor einigen Tagen ist mir ein Mailserver (bestehend aus Postfix und Dovecot) begegnet, welcher in der mail.err regelmäßig folgende Ausgabe wiederholte:

Apr 2 13:16:35 service dovecot: lda(root): Error: chdir(/root/) failed: Permission denied (euid=65534(nobody) egid=65534(nogroup) missing +x perm: /root, dir owned by 0:0 mode=0700)
Apr 2 13:16:35 service dovecot: lda(root): Error: chdir(/root) failed: Permission denied
Apr 2 13:16:35 service dovecot: lda(root): Error: user root: Initialization failed: Namespace '': stat(/root/Maildir) failed: Permission denied (euid=65534(nobody) egid=65534(nogroup) missing +x perm: /root, dir owned by 0:0 mode=0700)
Apr 2 13:16:35 service dovecot: lda(root): Fatal: Invalid user settings. Refer to server log for more information.

Der Dovecot-Service versucht auf einen Maildir-Ordner im Nutzerverzeichnis des Nutzers root zuzugreifen, was allerdings nicht gelingt. Einfach lösen lässt sich dieses Problem in dem man einen Alias für die Mailzustellung zum Nutzer root anlegt. Dazu wird im ersten Schritt die Datei /etc/aliases bearbeitet. In dieser Datei kann der entsprechende Alias eingetragen werden:

root: 

Nachdem die Datei gespeichert wurde, muss die Datei in ihre binäre Form überführt werden und die entsprechenden Services neugestartet werden:

newaliases
service dovecot restart
service postfix restart

Damit werden die Mails von root im entsprechenden Postfach hinterlegt und die Fehlermeldung gehört der Vergangenheit an.

Logrotate manuell ausführen

Mit dem Tool Logrotate werden unter Linux die Logs periodisch rotiert, damit der Speicherplatz nicht irgendwann durch die Logs erschöpft wird. Beim Schreiben einer neuen Konfiguration für Logrotate kann es vorkommen, das man diese anschließend testen möchte. Dazu gibt man im Terminal:

logrotate --force /etc/logrotate.d/dpkg

ein, womit der Vorgang für die definierte Konfigurationsdatei ausgeführt wird. Eventuelle Fehler und Warnmeldungen werden dabei mit angezeigt.