Cerrar sesión de forma remota en la sesión (gráfica)

12

Tengo una sesión (gráfica) de inicio de sesión ejecutándose en una computadora de oficina, y me gustaría cerrarla para ahorrar en algunos recursos de la computadora.

Puedo pasar a la caja de la oficina, pero cuando lo intento gnome-session-quitobtengo esto:

$ gnome-session-quit --logout --no-prompt

** (gnome-session-quit:18500): WARNING **: Command line `dbus-launch --autolaunch=fca99a51622d1930b068883b00000005 --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.\n

** (gnome-session-quit:18500): WARNING **: Unable to start: Cannot open display: 

Tiene sentido ya que my $DISPLAYestá vacío (ya que es una sesión ssh sin cabeza). Cuando corro w, veo que se gnome-sessionestá ejecutando tty7. ¿Hay alguna forma en que pueda pretender ser tty7e iniciar un cierre de sesión? ¿Hay una mejor manera de hacer esto?

drevicko
fuente
Por lo general w, veo alguna línea en este sentido: muru :0 Wed20 ?xdm? 11:15m 1.10s gdm-session-worker [pam/gdm-password]el :0ser mi relevante $DISPLAY. Tu no? También puedes probar pgrep -fa Xy ver con qué se está ejecutando X.
muru
1
la entrada de wwith gnome-sessiontenía tty7como pantalla, pero la sesión tenía varias otras entradas con :0(¿terminales abiertos, supongo?). Al comprobar la columna de tiempo, wme di cuenta de que :0la sesión gráfica era segura (:
drevicko

Respuestas:

14

Después de iniciar sesión con ssh, ejecute:

env DISPLAY=:0.0 gnome-session-quit --logout

Esto forzará un cierre de sesión en la máquina remota como si hubiera cerrado sesión en el menú (pero sin preguntar). Es posible que necesite para funcionar gnome-session-quitcon --force-logoutsi hay una aplicación con, por ejemplo, el trabajo no guardado, que de otra manera prevenir un cierre de sesión limpio.

Si usa una versión muy antigua (<2011) de GNOME, entonces necesita

env DISPLAY=:0.0 gnome-session-save --logout

... porque gnome-session-savefue renombrado gnome-session-quiten 2011.

Fuente

ene
fuente
2
En la casilla de la oficina, no hay gnome-session-save, pero hay una gnome-session-quitque (con el resto de su respuesta) hizo el truco. Olvidé mencionar que está ejecutando Ubuntu 12.04, ¿tal vez por eso?
drevicko
@drevicko probablemente un error tipográfico. Todavía está -quiten una caja de 12.04 que tengo.
muru
1
gnome-session-save fue renombrado a gnome-session-quit en 2011: mail.gnome.org/archives/desktop-devel-list/2011-February/…
Jan
2
@muru: respuesta actualizada en consecuencia
Jan