Die folgenden Abschnitte befassen sich mit einer alternativen Lösung, mit denen auch weniger programmiererfahrene Anwender ihre Programme an die eigenen Bedürfnisse anpassen können. Als Basis dienen die Skriptsprache Python sowie die grafischen Elemente, die das PyGTK-Toolkit bereitstellt [9]. Python selbst gehört ja als integraler Bestandteil zu Raspbian, PyGTK installieren Sie mit den Aufrufen aus Listing 2.
Listing 2
$ sudo apt-get update $ sudo apt-get install python-gtk2
Die Grundidee der im Folgenden vorgestellten Lösung beruht darauf, über eine einfache Einstiegsoberfläche verschiedene Funktionen des RasPi per Berührung verfügbar zu machen. Dabei geht es in erster Linie um simple Dinge wie etwa den Neustart, das Herunterfahren oder Statusabfragen. Dafür liegen bereits Programme vor, die es nur noch in eine App zu packen gilt.
Der Launcher
An erster Stelle steht der Startbildschirm oder neuhochdeutsch “Launcher”. Dieser Bildschirm enthält ein Fenster mit den Icons aller Apps. Technisch handelt es sich um einfache PyGTK-Buttons. Gibt es mehr Apps, als auf den Bildschirm passen, dann verteilt der Launcher sie automatisch auf mehrere Seiten. Die Navigation erfolgt dabei über die Toolbar (Abbildung 5).

Abbildung 5: Ein alternativer Launcher erlaubt das komfortable Bedienen vordefinierter Funktionen auf dem Kleinstbildschirm.
Damit der Launcher automatisch startet, konfigurieren Sie per sudo raspi-config das System so, dass es automatisch in den Desktop bootet. Anschließend erzeugen Sie die Datei .config/lxsession/LXDE/autostart samt übergeordneten Verzeichnissen im Home-Verzeichnis des Standardbenutzers pi, die lediglich die Zeile @PiAppLauncher.py enthält. Sofern das Programm existiert, erscheint dann nach einem Neustart der Startbildschirm mit den Apps.
Jede Applikation nutzt ein eigenes Unterverzeichnis mit allen zu ihr gehörenden Dateien. Der Launcher sucht die Apps an festgelegten Orten, unter anderem in ~/.local/lib/pi28apps und /usr/lib/pi28apps. Er lädt pro App-Verzeichnis eine Konfigurationsdatei namens appconfig.py, und das war es auch schon. Eine minimale Konfiguration für einen Systemneustart sieht so aus wie in Listing 3.
Listing 3
name = "Reboot" icon = "./system-reboot.png" cmd = ["sudo","reboot"]
Dabei enthält die Python-Liste cmd innerhalb von eckigen Klammern die per Komma getrennten Elemente des auszuführenden Kommandos samt aller Parameter.
Klicken ohne Reue
Für einfache Kommandos genügt dieser minimalistische Ansatz. Allerdings möchte kaum jemand einen Neustart per Fehlklick auslösen. Außerdem gibt es Programme, die nur in der Konsole die eigentliche Information preisgeben – starten Sie sie in der grafischen Oberfläche, landen die Ausgaben allerdings im Nirwana.
Deshalb bedient sich der Starter eines zweiten PyGTK-Programms namens CommandGui.py. Es dient als Wrapper für Kommandozeilenprogramme und ermöglicht neben der Ausgabe des Ergebnisses auch noch eine Ja/Nein-Abfrage vor dem Ausführen (Abbildung 6).

Abbildung 6: Um das versehentliche Ausführen von Programmen zu verhindern, erfolgt auf Wunsch eine interaktive Abfrage.
Die Konfigurationsdatei appconfig.py sieht damit so aus wie in Listing 4 gezeigt. sudo reboot startet jetzt per Wrapper-Programm. Der Parameter "-i" weist den Wrapper ab, vor der Ausführung interaktiv beim Benutzer nachzufragen.
Listing 4
name = "Reboot" icon = "./system-reboot.png" cmd = ["CommandGui.py","-i","sudo","reboot"]
Doch das Wrapper-Programm leistet noch mehr: Abbildung 7 zeigt zum Beispiel die Abfrage der aktuellen IP-Adresse des Rechners. Die Quellen des Wrappers samt Dokumentation und Installationsanleitung finden Sie auf der Heft-DVD dieser Ausgabe sowie auf Sourceforge [10].

Abbildung 7: Der Wrapper erlaubt auch das Einbinden von Konsolenprogrammen. Hier im Bild die Ausgabe von »ifconfig«.
Fazit
Wie der RasPi selbst verfügen auch die hier vorgestellten Bildschirme nur über begrenzte Ressourcen. Für manche Anwendungsfälle dürfte die Beschränkung auf 320 x 240 Pixel stören, doch letztlich regen die begrenzten Möglichkeiten – genau wie beim RasPi selbst – die Fantasie des Bastlers erst recht an. Mit einem kleinen Bildschirm, der kaum zusätzlichen Strom benötigt, bleibt der Raspberry Pi bei seinen Wurzeln, und es tun sich viele neue Projekte auf, die nur eine einfache Benutzerschnittstelle benötigen.





