it-swarm.com.de

Wie man Ubuntu 14.04 zu einem Kiosk macht

Ich habe eine Neuinstallation von Ubuntu 14.04 LTS Desktop durchgeführt und möchte diese nun in einen Kiosk mit einem Vollbild-Webbrowser umwandeln.

Dies wurde zuvor in 10.04 durchgeführt und funktionierte einwandfrei, aber aufgrund von Hardwareänderungen (Grafiken) sind wir gezwungen, Version 14.04 zu verwenden.

Ich habe ein kiosk.desktop in /usr/share/xsessions und ein Shell-Skript namens kiosk.sh erstellt, das Firefox mit r-kiosk installiert startet. Das Shell-Skript ist ausführbar. Ein Benutzer mit dem Namen "kiosk" ist auf "autologin" (in /etc/lightdm/lightdm.conf) eingestellt.

Aber jetzt stecke ich fest. Ich möchte, dass kiosk.sh ausgeführt wird, wenn die Kiosk-Benutzersitzung gestartet wird.

In früheren Versionen konnte dies im GUI-Tool "Login Screen Settings" oder in /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf erfolgen.

Ich habe 50-ubuntu.conf in "user-session=kiosk" geändert, aber es startet nicht. Das Tool "Anmeldebildschirmeinstellungen" wurde nicht gefunden. Wurde es in 14.04 durch ein anderes Dienstprogramm ersetzt?

Platzieren Sie einen kiosk.sh.desktop in ~/kiosk/.config/autostart works, aber der Gnome-Desktop wird angezeigt, bevor Firefox im Vollbildmodus gestartet wird, damit die Benutzer mit dem Desktop interagieren können.

Was ist zu korrigieren/beste Weg, um Firefox im Vollbildmodus nach Benutzerautologin zu starten?

Vielen Dank

Thomas

9
Thomas

Ich persönlich würde das ganze lightdm und Xsession Zeug ablehnen und einfach meine eigene Instanz von X starten, mit der Firefox gerade gestartet wurde. Klingt albtraumhaft, ist aber wirklich einfach mit einem kleinen Upstart-Skript

start on (filesystem and stopped udevtrigger)
stop on runlevel [06]

console output
emits starting-x

respawn

exec Sudo -u thomas startx /etc/X11/Xsession /path/to/kiosk.sh --

Ändern Sie den Benutzernamen natürlich in einen beliebigen Benutzer, unter dem Sie das ausführen möchten, aber das ist so ziemlich alles. Speichern Sie das als /etc/init/x.conf und dann sollten Sie in der Lage sein, Sudo start x und Sie sind weg (es wird beim Booten geladen). Wenn Firefox abstürzt, wird X mit einer neuen Instanz neu geladen.

Wenn Sie dort eine vollständige Ubuntu-Installation haben, müssen Sie LightDM möglicherweise zuerst deaktivieren:

Sudo stop lightdm
echo manual | Sudo tee /etc/init/lightdm.override

Und Ihr Firefox-Profil liegt ganz bei Ihnen. Möglicherweise möchten Sie sogar ein Skript für eine Profilwiederherstellung erstellen, sodass Sie Ihren x -Dienst neu starten müssen, wenn Ihr Profil beschädigt wird, und die bereinigte Kopie erneut verwendet wird. Nur eine Idee.

Ich habe seitdem einen Blog-Beitrag geschrieben über Erstellen eines Kiosks von Grund auf mit 14.04 und Chrome .


Für Ihr Problem mit der WLAN-Konfiguration empfehle ich, möglichst wenig Gelegenheitsbenutzer zu beschäftigen. Sie können eine Verbindung mit einem TTY ziemlich einfach einrichten:

Sudo nmcli dev wifi con <SSID> password <password>

Das sollte die Verbindung zum System herstellen und eine Verbindung herstellen (und in Zukunft automatisch herstellen), aber ich habe es nicht getestet. Möglicherweise wird Sudo nicht benötigt, aber das hängt davon ab, über welche Berechtigungen Ihr Hauptbenutzer verfügt.

Der einfache Vorteil gegenüber dem Laden von etwas anderem im Hintergrund besteht darin, dass ein Passant nicht auf einen grafischen Netzwerkeinstellungsdialog zugreifen kann. Der Bediener muss die Anweisungen befolgen können.

Wenn sie damit nicht umgehen können, können Sie Ihren kiosk.sh ziemlich leicht ändern, um nach vorhandenen Verbindungen zu suchen und einige zenity- Fragen zu stellen, die in die Tabelle eingehen vorheriger nmcli Befehl:

if [[ $(nmcli con | wc -l) == 1 ]]; then
    SSID=$(zenity ...)
    PASS=$(zenity ...)
    nmcli dev wifi con $SSID password $PASS
fi

Das ist nur eine grobe Idee. Daran müssen Sie arbeiten. Möglicherweise gibt es eine bessere eigenständige grafische Konfigurationsanwendung für den Netzwerkmanager.

7
Oli