Wie verhindere ich, dass GNOME angehalten wird, während ich einen Kompilierungsauftrag beende?

Wie verhindere ich, dass GNOME angehalten wird, während ich einen Kompilierungsauftrag beende?

Ich versuche, einen benutzerdefinierten Kernel für meinen Computer zu erstellen, dessen Erstellung (wie erwartet) sehr lange dauert. Ist es möglich, meinen GNOME-Desktop davon abzuhalten, den Computer in den Ruhezustand zu versetzen, bis die Kompilierung abgeschlossen ist, und ihn dann in den Ruhezustand zu versetzen (vorausgesetzt, ich bin für die 30 Minuten, die dies normalerweise dauern würde, nicht am Computer).

Ich möchte den Suspend-Modus nicht dauerhaft deaktivieren (was über die Systemsteuerung in den Systemeinstellungen einfach möglich ist, aber Strom verschwendet), sondern lieber meinen Kompilierungsauftrag angeben (über PID?) und den Computer in den Suspend-Modus versetzen, wenn er abgeschlossen ist.

Antwort1

Sie können das Timeout bei Inaktivität vollständig deaktivieren.

Um beispielsweise das Suspend-Timeout nur für die Netzstromversorgung zu deaktivieren, führen Sie Folgendes aus:

gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0

Ich persönlich finde es völliger Blödsinn, dass es standardmäßig ein Inaktivitäts-Timeout gibt, um den Computer in den Ruhezustand zu versetzen, während er mit dem Stromnetz verbunden ist, und dass es für normale Leute keine Möglichkeit gibt, dies zu deaktivieren.

Antwort2

Ich habe jetzt nicht die Zeit, alle Einzelheiten zu lesen, aber siehe dieHäufig gestellte Fragen zum GNOME Power Manager "Wie kann ich den automatischen Suspend des Computers bei meiner Anwendung stoppen?"welches auf die Inhibit()und UnInhibit()DBus-Aufrufe verweist.

AVorbehalt: wenn der aufrufende Prozess Inhibit()beendet wird, wird die Sperre aufgehoben -dbus-sendin einem Shell-Skript funktioniert also nicht, aber es wird ein Wrapper-Skript (z. B. in Python) benötigt.

(Bearbeiten Dieser Blog-Beitragenthält ein paar weitere Informationen, außerdem einen Python-Stub, der nützlich sein könnte.)

Antwort3

GNOME hat eine nette Lösung für dieses Problem in Form des gnome-session-inhibitDienstprogramms entwickelt. Um es zu verwenden, fügen Sie es einfach vor dem lang laufenden Befehl ein, etwa so:

gnome-session-inhibit make

Bei Bedarf können mehrere Inhibit-Sitzungen gleichzeitig ausgeführt werden. Diese können aufgelistet werden, indem Sie ausführen gnome-session-inhibit -l. Weitere Einzelheiten finden Sie immanpage.

Antwort4

Erstellen Sie eine einstündige leere Videodatei und spielen Sie sie auf einem Player ab, der MPRIS2 unterstützt. Sie können eine Reihe von „Videos“ unterschiedlicher Länge erstellen und diese in einer Wiedergabeliste anordnen, um die gewünschte Sperrzeit zu erhalten.

Ihm ist kein Prozess bekannt, der die Sperrfrist möglicherweise überdauert, aber wenn Sie ungefähr wissen, wie lange der Prozess dauern wird, können Sie dies wahrscheinlich abschätzen.

Alternativ können Sie ein kostengünstiges Gerät namens „Mouse Jiggler“ kaufen. Es sieht aus wie ein kabelloser Maus-Empfänger, simuliert aber eine Maus, die hin und wieder wackelt. Einige Modelle verfügen über eine Taste zum Umschalten der Funktion.

verwandte Informationen