systemd/systemd-inhibit

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Ein Terminal öffnen

Inhaltsverzeichnis
  1. Installation
  2. Benutzung
  3. Links

Wiki/Icons/terminal.png 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".

Installation

systemd-inhibit ist im Paket systemd enthalten, welches Grundbestandteil der Ubuntu-Installation ist.

Benutzung

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 

Optionen

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.