In meinen beiden Beiträgen -> Ubuntu 16.04 mit Openbox als Kiosksystem und -> Openbox als Prüfungsumgebung sind einige Details ungeklärt geblieben, die ich hier zusammenfassen möchte. In „Tipps zur Openbox als Prüfungsrechner (I)“ geht es um die Zuweisung fester IP-Adressen, Änderung des Bildschirmhintergrunds, das Erstellen einer bootfähigen Live-CD und evtl. auftretende Fehler.
Invalide output from pipe-menu „/usr/bin/obamenu“
Diese Fehlermeldung taucht bei der Serverversion von Ubuntu 18.04 auf. Die Ursache dafür konnte ich mit
relativ schnell finden, da die Ausgabe
execve("/usr/bin/obamenu", ["obamenu"], 0x7ffe919cf1a0 /* 20 vars */) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 execve("/usr/local/sbin/python", ["python", "/usr/bin/obamenu"], 0x7ffd1d7727d8 /* 20 vars */) = -1 ENOENT (No such file or directory) execve("/usr/local/bin/python", ["python", "/usr/bin/obamenu"], 0x7ffd1d7727d8 /* 20 vars */) = -1 ENOENT (No such file or directory) execve("/usr/sbin/python", ["python", "/usr/bin/obamenu"], 0x7ffd1d7727d8 /* 20 vars */) = -1 ENOENT (No such file or directory) execve("/usr/bin/python", ["python", "/usr/bin/obamenu"], 0x7ffd1d7727d8 /* 20 vars */) = -1 ENOENT (No such file or directory) execve("/sbin/python", ["python", "/usr/bin/obamenu"], 0x7ffd1d7727d8 /* 20 vars */) = -1 ENOENT (No such file or directory) execve("/bin/python", ["python", "/usr/bin/obamenu"], 0x7ffd1d7727d8 /* 20 vars */) = -1 ENOENT (No such file or directory) execve("/snap/bin/python", ["python", "/usr/bin/obamenu"], 0x7ffd1d7727d8 /* 20 vars */) = -1 ENOENT (No such file or directory)
eindeutig darauf hinwies, dass lediglich kein Python installiert war.
Terminal Emulator startet nicht
Ich bin diesem Problem nicht weiter auf den Grund gegangen, da ich in /home/<Benutzer>/.config/openbox/menu.xml den Menüeintrag einfach ersetzt habe durch
<item label="Terminal emulator"> <action name="Execute"><execute>xterm</execute></action> </item>
Hintergrundbild festlegen
Openbox bietet keine Verwaltung für Bildschirmhintergründe. Um z.B. ein Logo dort platzieren zu können, benötigt man ein zusätzliches Programm wie Nitrogen, das mit
installiert wird. In der Openboxoberfläche kann man Nitrogen nun über das Terminal aufrufen oder man baut es wie in -> Openbox als Prüfungsumgebung beschrieben in das Pipe-Menü ein und wählt ein Bild oder Logo aus. Bild, Position etc. werden in ~/.config/nitrogen gespeichert. Damit das Bild/Logo bei einem erneuten Login geladen wird, muss in ~/.config/openbox/autostart die Zeile
nitrogen --restore &
eingetragen werden.
Zuweisen einer festen IP-Adresse
Ab Version 18.04 wird die Konfiguration in /etc/network/interfaces durch etc/netplan/ ersetzt. Die Konfiguration beider Varianten habe ich in -> Ubuntu Fehlerbehebung und Tipps beschrieben.
Live-CD oder Install erstellen
Ist ein System komplett konfiguriert, kann es sinnvoll sein, daraus eine Live-CD oder eine Installations-CD zu erstellen. Zwar wird Systemback seit 2016 nicht weiter entwickelt, es kann aber immer noch für Ubuntu 18.04/18.10 verwendet werden. Dazu muss man das ppa: für die Xenial-Version einbinden. Zunächst importiert man den GPG-Schlüssel des ppa: und bindet es dann ein.
:~# sudo add-apt-repository "deb http://ppa.launchpad.net/nemh/systemback/ubuntu xenial main"
Danach kann Systemback installiert werden:
:~# sudo apt install systemback
Gestartet werden kann Systemback aus dem Terminal des Openbox-Administrators. Dabei stösst man auf folgendes Problem:
Unsafe X Window authorization!
Please do not use 'sudo' command.
Da Systemback Root-Rechte verlangt, man aber aus Sicherheitsgründen keine grafischen Anwendungen mit sudo starten kann, erfolgt der Start mit
Ziel-Laufwerk für ISO mounten
Damit Systemback auf ein externes Laufwerk schreiben kann, muss z.B. eine USB-Festplatte gemountet werden. Dazu legt man einen Mountpunkt im Verzeichnis /media an und hängt die USB-Platte dort ein.
:~# mount /dev/sdb /media/exthdd
Die Laufwerksbezeichnung des USB-Laufwerks lässt sich mit lsblk feststellen.
Systemback verwenden
Zum Start wird das Passwort des Administratoraccounts verlangt. Die Erstellung erfolgt mit einem Zwischenschritt über den Button Live system create.
Wenn die *.sblive-Datei erstellt ist, kann daraus die ISO-Datei erzeugt werden-
Systemback kann noch wesentlich mehr, worauf ich hier aber nicht eingehe.
ISO-Datei von Stick oder HDD booten
Um das ISO-Abbild bootfähig zu machen, verwende ich entweder den LiLi USB Creator (auf Windows-Systemen) oder den Startup Disk Creator auf Ubuntu-Systemen.
Der zweite Teil von „Tipps zur Openbox als Prüfungsrechner“ finden Sie -> hier.
1 Comment