
Tengo una computadora con Ubuntu que utilizan varias personas. Pasa mucho tiempo apagado. En ocasiones, me gustaría iniciarlo usando Wake-On-Lan, conectarme vía ssh e iniciar un trabajo en segundo plano. No quiero que la PC se apague mientras se ejecuta este trabajo.
Sin embargo, dado que hay varias personas que podrían usar esta PC, alguien podría acercarse a la máquina, iniciar sesión, revisar su correo electrónico o lo que sea y luego apagar la PC. Alternativamente, alguien podría notar que está encendido y muestra la pantalla de inicio de sesión de GDM y decidir apagarlo.
¿Hay alguna manera de evitar que esto suceda? No tiene por qué hacerlo completamente imposible: simplemente hacer que en la computadora aparezca una ventana que diga "¿Está realmente seguro (los trabajos se están ejecutando en segundo plano)?" lo haría perfectamente bien. Sin embargo, debe funcionar tanto desde el menú de Gnome después de iniciar sesión como desde la pantalla de GDM.
Respuesta1
Puede desactivarlo tanto para GDM como desde el menú cuando inicie sesión.
Edito /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy
y donde dice
<allow_active>yes</allow_active>
cambiar eso a
<allow_active>auth_admin_keep</allow_active>
Entonces el archivo se verá así:
<?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>
Nota:tu notenerpara cambiar las dos últimas secciones(afectan el reinicio), pero supongo que si no quieres que alguien apague la computadora, tampoco quieres que la reinicie.
Para hacer esto más rápido, puede crear dos versiones de este archivo.(uno que permite a los usuarios normales apagar la computadora y otro que no)en algún lugar de su directorio de inicio y tenga un script que copie uno de ellos en
/usr/share/polkit-1/actions/
.
Respuesta2
Para gdm, creo que hay una manera de desactivar los controles del sistema, pero no sé cómo. Para gnome, puedes crear un lanzador con el comando "gksudo halt". Le pedirá la contraseña si desea apagar la computadora.