Tipps zur Openbox als Prüfungsrechner (I)

Openbox

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

:~# sudo strace -e trace=file obamenu

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.

:~# sudo apt install python

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

:~# sudo apt install nitrogen

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 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 382003C2C8B7B4AB813E915B14E4942973C62A1B
:~# sudo add-apt-repository "deb http://ppa.launchpad.net/nemh/systemback/ubuntu xenial main"

Danach kann Systemback installiert werden:

:~# sudo apt update
:~# sudo apt install systemback

Gestartet werden kann Systemback aus dem Terminal des Openbox-Administrators. Dabei stösst man auf folgendes Problem:

:~# sudo systemback
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

:~# /usr/öib/systemback/sbsustart systemback
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.

:~# mkdir /media/exthdd
:~# 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.

Systemback Live system create
Klicken zum Vergrößern
Systemback Live system create
Klicken zum Vergrößern

Wenn die *.sblive-Datei erstellt ist, kann daraus die ISO-Datei erzeugt werden-

Systemback Convert to ISO
Systemback Convert to ISO

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.

Buy Me a Coffee at ko-fi.com

You May Also Like

1 Comment

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.

Aus persönlichen Gründen...

... kann ich den Blog im Moment leider nicht wie gewohnt betreuen und Anfragen zeitnah beantworten. Lediglich die technische Funktionalität versuche ich aufrecht zu erhalten. Sollte es trotzdem was Neues hier geben, dann schreibe ich eine Info in die Telegram-Gruppe.


In der Telegram-Gruppe können Sie sich weiterhin mit anderen Lesern von Împuşcătura austauschen.

Zur Telegram-Gruppe