18/8/12

Ubuntu: No se puede reiniciar/apagar si hay múltiples/varios usuarios activos

Ubuntu no reinicia/apaga con múltiples usuarios


Es muy normal utilizar las capacidades de multiusuario que posee Ubuntu y configurar usuarios individuales para cada persona.

Además de ser algo muy simple de realizar, también permite personalizar cada sesión y, junto con las últimas actualizaciones de LightDM, se puede tener el fondo de pantalla en el login, cambiando de fondo al cambiar el selector de usuario.

Si bien es una cuestión cosmética, facilita y simplifica la búsqueda y selección de los usuarios.

Pero si hay varios usuarios con la sesión iniciada ("logueados") hay un problema al intentar reiniciar o apagar el ordenador, ya que sólo realizará el cierre de la sesión, quedando en la pantalla de login.

En la pantalla de login, si se intenta reiniciar o apagar el ordenador, simplemente no pasa nada.

No hay forma de reiniciar o apara el ordenador si hay varios usuarios activos. La única solución es pedirle a cada usuario que retome su sesión y la cierre.

No hay diferencia entre los usuarios. Tanto los usuarios normales como los administradores corren con la misma suerte, sin poder reiniciar o apara el ordenador.

Este problema a originado el bug #855556 en Launchpad y algunas preguntas en AskUbuntu, como esta o esta otra.

Solución

Una solución propuesta parece ser muy efectiva y pasa por modificar los permisos de PolicyKit para cada una de estas acciones.

Es necesario modificar el archivo:

/usr/share/polkit-1/actions/org.freedesktop.consolekit.policy

En este archivo hay dos secciones, una para apagar (stop) y otra para reiniciar (restart). En cada sección hay que cambiar:

auth_admin_keep

por

yes


Lo que estamos haciendo con este cambio es que cualquier usuario puede reiniciar o apagar el ordenador, por lo que se debe ser muy cuidadoso con el trabajo sin guardar que pueda tener cualquier usuario en el sistema, ya que los cambios no guardados se perderán.


Modificaciones

A modo de ejemplo, muestro los cambios que he realizado en mi sistema.

Original

  <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>auth_admin_keep</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>auth_admin_keep</allow_active>
    </defaults>
  </action>


Modificado

  <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>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>




Fuente: http://askubuntu.com/questions/1190/how-can-i-make-shutdown-not-require-admin-password