[[Vorlage(Getestet, jammy )]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] '''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]: {{{#!vorlage Befehl systemd-inhibit BEFEHL }}} So würde z.B. der folgenden Aufruf eine Sperre bewirken, solange [:mpg123:] eine Audiodatei abspielt: {{{#!vorlage Befehl systemd-inhibit mpg123 -q TITEL.mp3 }}} Zur Kontrolle ruft man bei aktiver Sperre in einem zweiten Terminal den Befehl: {{{#!vorlage 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: {{{#!vorlage 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: {{{#!vorlage 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:Man-Page] erklärt sind. = Links = * [https://blog.natenom.com/2016/09/prevent-your-laptop-from-sleepsuspend-while-something-important-is-running Prevent your laptop from sleep/suspend while something important is running...] {en} - Blogbeitrag, 09/2016 * [:systemd:] - Hauptartikel zu systemd #tag: System, systemd