
Ich habe einen Computer mit Ubuntu, der von mehreren Personen verwendet wird. Er ist viel Zeit ausgeschaltet. Gelegentlich möchte ich ihn per Wake-On-Lan starten, mich per SSH verbinden und einen Job im Hintergrund starten. Ich möchte nicht, dass der PC herunterfährt, während dieser Job läuft.
Da dieser PC jedoch von mehreren Personen verwendet werden könnte, könnte jemand zum Computer gehen, sich anmelden, seine E-Mails abrufen oder was auch immer und dann den PC herunterfahren. Alternativ könnte jemand bemerken, dass er eingeschaltet ist und den GDM-Anmeldebildschirm anzeigt, und beschließen, ihn herunterzufahren.
Gibt es eine Möglichkeit, dies zu verhindern? Es muss nicht völlig unmöglich sein: Es reicht völlig aus, wenn auf dem Computer ein Fenster mit der Frage „Sind Sie wirklich sicher, dass (Jobs im Hintergrund ausgeführt werden)?“ angezeigt wird. Dies muss jedoch sowohl über das Gnome-Menü nach der Anmeldung als auch über den GDM-Bildschirm funktionieren.
Antwort1
Sie können es sowohl für GDM als auch über das Menü deaktivieren, wenn Sie angemeldet sind.
Bearbeiten /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy
und wo immer es heißt
<allow_active>yes</allow_active>
ändere das in
<allow_active>auth_admin_keep</allow_active>
Die Datei sieht also folgendermaßen aus:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
<!--
Policy definitions for ConsoleKit
-->
<policyconfig>
<action id="org.freedesktop.consolekit.system.stop">
<description>Stop the system</description>
<message>System policy prevents stopping the system</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>no</allow_active>
</defaults>
</action>
<action id="org.freedesktop.consolekit.system.stop-multiple-users">
<description>Stop the system when multiple users are logged in</description>
<message>System policy prevents stopping the system when other users are logged in</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>no</allow_active>
</defaults>
</action>
<action id="org.freedesktop.consolekit.system.restart">
<description>Restart the system</description>
<message>System policy prevents restarting the system</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.consolekit.system.restart-multiple-users">
<description>Restart the system when multiple users are logged in</description>
<message>System policy prevents restarting the system when other users are logged in</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
</policyconfig>
Notiz:Das tust du nichthabendie letzten beiden Abschnitte zu ändern(sie wirken sich auf den Neustart aus), aber ich gehe davon aus, wenn Sie nicht möchten, dass jemand den Computer herunterfährt, möchten Sie auch nicht, dass er ihn neu startet.
Um dies schneller zu erledigen, können Sie zwei Versionen dieser Datei erstellen(eine, die normalen Benutzern das Herunterfahren des Computers erlaubt, und eine, die dies nicht tut)irgendwo in Ihrem Home-Verzeichnis und haben Sie ein Skript, das eines davon nach kopiert
/usr/share/polkit-1/actions/
.
Antwort2
Ich glaube, es gibt eine Möglichkeit, die Systemsteuerung für GDM zu deaktivieren, aber ich weiß nicht wie. Für Gnome können Sie mit dem Befehl „gksudo halt“ einen Launcher erstellen. Wenn Sie den Computer herunterfahren möchten, werden Sie nach dem Kennwort gefragt.