Ubuntu 16.04 Xenial Xerus
systemd-inhibit ist ein Hilfsprogramm von systemd, mit dessen Hilfe man erreichen kann, dass das Herunterfahren, der Ruhezustand etc. des Rechners nicht möglich ist, so lange ein Prozess oder ein Programm läuft.
Das englische Wort "inhibit" heißt ins Deutsche übersetzt "Sperre".
systemd-inhibit ist im Paket systemd enthalten, welches Grundbestandteil der Ubuntu-Installation ist.
Die Benutzung ist einfach: Man muss den Befehl systemd-inhibit
einfach dem eigentliche Befehl voranstellen. Die allgemeine Syntax lautet[1]:
systemd-inhibit BEFEHL
So würde z.B. der folgenden Aufruf eine Sperre bewirken, solange mpg123 eine Audiodatei abspielt:
systemd-inhibit mpg123 -q TITEL.mp3
Zur Kontrolle ruft man bei aktiver Sperre in einem zweiten Terminal den Befehl:
systemctl poweroff
auf. Allerdings wird der Befehl sofort ausgeführt, wenn der sperrende Prozess beendet wird, im obigen Beispiel also, wenn das Lied fertig abgespielt ist.
Zu beachten ist, dass die Sperre nicht allumfassend ist. So kann man mit Root-Rechten den Rechner trotzdem herunterfahren oder in den Ruhezustand versetzen. Ebenso kann man den Rechner über die entsprechende Schaltfläche der Desktop-Umgebung herunterfahren.
Um zu sehen, welche Prozesse gerade aktiv systemd-inhibit nutzen, dient der Befehl:
systemd-inhibit --list
systemd-inhibit kann ohne Optionen aufgerufen werden, auch wenn der Befehl eine Reihe von Optionen kennt. Die wichtigsten zwei sind: --what=
und --mode=
.
Mit der Option --what=
wird festgelegt, welche Aktionen gesperrt werden. Die mögliche Werte sind: shutdown, sleep, idle, handle-power-key , handle-suspend-key, handle-hibernate-key, handle-lid-switch
. Werden mehrere Werte angegeben, so müssen diese mit einem Doppelpunkt : (und ohne weitere Leerzeichen) getrennt werden. Wird die Option --what=
nicht angegeben, dann ist dies per Voreinstellung gleichbedeutend mit what=shutdown:sleep:idle
Möchte man also z.B. verhindern, dass der Laptop beim Zuklappen in den Ruhezustand geht, dann lautet der Befehl:
systemd-inhibit --what=handle-lid-switch mpg123 TITEL.mp3
Die zweite wichtige Option ist --mode=
, wobei hier zwei mögliche Werte gibt: block
(der Standardeinstellung) und delay
. Bei --mode=block
wird die Sperre solange aufrecht erhalten, wie der Prozess oder das Programm läuft. Bei --mode=delay
wird die Sperre nur für eine bestimmte Zeit aufrecht erhalten und danach aufgehoben.
Die Vorgabezeit sind 5 Sekunden. Der Wert kann aber über die Konfigurationsdatei /etc/systemd/logind.conf geändert werden. Dazu entfernt man vor der Zeile #InhibitDelayMaxSec=5
das Kommentarzeichen #
und ändert die Zahl auf den gewünschten Wert.
systemd-inhibit kennt noch ein paar weitere Optionen, welche in der Man-Page erklärt sind.
Prevent your laptop from sleep/suspend while something important is running... - Blogbeitrag, 09/2016
systemd - Hauptartikel zu systemd
Diese Revision wurde am 22. März 2017 15:32 von Natenom erstellt.