Ich habe jetzt schon eine ganze Weile meinen Kopf dagegen geschlagen. Es hängt mit dieser Frage zusammen . Ich möchte genau wissen, was passiert, wenn ich meine Linux-Box über die GUI herunterfahre. Dies scheint (wenn überhaupt) schlecht dokumentiert zu sein.
Im Idealfall hoffe ich auf eine DE- und OS-agnostische Antwort. Ansonsten interessiert mich der spezielle Fall von Mandriva 2010.1 und Debian 6.x (Squeeze) und 7.0 (Wheezy), auf denen Gnome läuft. (Wenn Sie genau hinschauen, ist das Gnome 2 und Gnome 3)
Grundsätzlich möchte ich wissen, welcher Befehl / welches Skript / welche Sequenz von Skripten gestartet wird, wenn ich "Herunterfahren" oder "Neustart" drücke, damit ich ihr Verhalten ändern kann. Einige Forenbeiträge, die ich mir angesehen habe, schlagen Hacking vor, /etc/polkit-1/*aber diese Verzeichnisstruktur ist nur ein Grundgerüst auf meiner Debian (Squeeze) -Box.
Kann jemand helfen?
BEARBEITEN
Was ich bisher ausprobiert habe
- Die
shutdownausführbare Datei wurde durch ein eigenes Skript ersetzt. Dies funktioniert nicht: Wenn ich aufshutdownGnome drücke, meldet sich Gnome ab, ohne mein Skript auszuführen. - Es wurde versucht, das Gnome 2-Menü zu bearbeiten. Keine Freude: Die Optionen "Herunterfahren", "Abmelden" und "Bildschirm sperren" werden im Menü-Editor nicht angezeigt.
- Gesehen
/usr/share/menu, nichts hilfreiches da.
Mögliche Lösungswege
stracedie GUI-Optionen (ist das überhaupt möglich?)- Seht
shutdowneuch den Quellcode an - Seht
gnome-sessioneuch den Quellcode an
Aktualisieren
Gemäß meinen Kommentaren zur Antwort unten habe ich die polkitAktionen unter untersucht /usr/share/polkit-1/actions/und (in der Datei org.freedesktop.consolekit.policy) eine Aktion namens gefunden org.freedesktop.consolekit.system.stop-multiple-users, die die Nachricht auslöst
System policy prevents stopping the system when other users are logged in
Ich denke (aufgrund der org.freedesktop.*Namenskonvention), dass dies eine Art Signal ist, das über den D-BUS an den DM gesendet wird. Darüber hinaus wird diese Meldung angezeigt, wenn versucht wird, das System grafisch herunterzufahren, während andere Benutzer angemeldet sind. Daher muss der auslösende Mechanismus derselbe sein, der ausgelöst wird, wenn "Herunterfahren" oder "Ausschalten" auf der GUI ausgewählt wird.
Kann jemand bestätigen / widerlegen? Gibt es eine Möglichkeit, dieses Signal abzufangen oder zu modifizieren?
/etc/init.d/rc.localum ein Skript aufzurufen, wenn es angehalten wird .