Ich versuche, einen benutzerdefinierten Kernel für meinen Computer zu erstellen, dessen Erstellung (wie erwartet) lange dauert. Ist es möglich, meinen GNOME-Desktop daran zu hindern, den Computer anzuhalten, bis die Kompilierung abgeschlossen ist, und ihn dann anzuhalten (vorausgesetzt, ich bin für die normalerweise 30 Minuten vom Computer entfernt).
Ich möchte Suspend nicht dauerhaft deaktivieren (was über das Systemeinstellungs-Kontrollfeld einfach zu bewerkstelligen ist, aber Strom verschwendet), sondern meinen Kompilierungsjob (über PID?) Angeben und den Computer nach Abschluss anhalten lassen.
gnome
power-management
suspend
Davefiddes
quelle
quelle
Antworten:
Ich habe jetzt nicht die Zeit für alle Details, aber siehe die FAQ von GNOME Power Manager " Wie kann ich meine Anwendung dazu bringen, das automatische Anhalten des Computers zu stoppen ", die auf die
Inhibit()
undUnInhibit()
DBus-Aufrufe verweist .Eine Einschränkung : Wenn der Prozessaufruf beendet wird,
Inhibit()
wird die Sperrung beendet -dbus-send
in einem Shell-Skript ist dies also nicht der Fall , aber ein Wrapper-Skript (z. B. in Python) wird benötigt.( Bearbeiten Dieser Blog-Beitrag enthält ein wenig mehr Informationen, auch einen Python-Stub, der nützlich sein könnte.)
quelle
Sie können das Inaktivitätszeitlimit vollständig deaktivieren.
Führen Sie beispielsweise aus, um das Zeitlimit für die Unterbrechung nur für Wechselstrom zu deaktivieren
Ich persönlich finde es völlig dumm, ein Zeitlimit für Inaktivität zu haben, um den Computer auszusetzen, während er standardmäßig mit Wechselstrom betrieben wird, und für normale Leute keine Option, dies zu deaktivieren.
quelle
Sie können den Befehl make in Ihre Shell einbinden, sodass die automatische Suspendierungsfunktion des Gnoms vorübergehend deaktiviert wird.
Zunächst müssen Sie herausfinden, wie Sie Autosuspend über eine Befehlszeile aktivieren / deaktivieren. Dies ist wahrscheinlich über gconftool-2 möglich. Ein wenig Recherche und Hacken mit gconf-editor sollten helfen (ich kann nicht wirklich helfen, ich benutze keinen Gnom).
Wickeln Sie dies dann in Funktionen in Ihrer Shell ein:
Verwenden Sie danach einfach den folgenden Wrapper:
Die Variable MAKEPRG dient dazu, den Pfad zum tatsächlichen Make zu speichern. Der Test ist hier für den Fall, dass Sie Ihre RC-Datei neu laden möchten.
Sie können auch unmittelbar nach dem Ende der Kompilierung über dbus anhalten:
quelle