¿Cómo puedes cerrar sesión a través del terminal?

248

¿Existe un comando de terminal que lo desconecte de su sesión de escritorio actual y lo lleve nuevamente a la pantalla de inicio de sesión?

TheXed
fuente

Respuestas:

197

11.10 y superior

gnome-session-quit

11.04 y versiones anteriores

dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.Logout uint32:1

(a través de texto alternativoDoR , vea su respuesta a "¿Reiniciar sin privilegios de sudoer?" para obtener más dbus).

o alternativamente, puedes usar

gnome-session-save --force-logout

--force-logouten contraste con simplemente --logoutno le pedirá al usuario que se ocupe de documentos no guardados, etc.

¿Es esta la forma más fácil? ¿No hay un comando simple de una línea como sudo logout? Nunca recordaré todo eso.

Sí, hay un comando llamado cerrar sesión, pero se trata de la Terminal. gnome-session-save es el programa que realmente cierra gnome-session, que por supuesto puedes matar, pero que no calificaría como cerrar sesión. :-)

Observe también que estos comandos no requieren que sea root.

Siempre puede agregar un alias a su sistema si desea tener un comando más corto.

Abra ~/.bash_aliasescon un editor de texto, o créelo si no está allí, y agregue algo como esto:

alias logout-gnome="gnome-session-save --force-logout"

(.bashrc es un script que se ejecuta cada vez que se inicia un nuevo terminal virtual , debe configurar todos sus alias permanentes allí, consulte también: ¿Cómo crear un "alias" permanente? )

Stefano Palazzo
fuente
1
¿Es esta la forma más fácil? no hay un comando simple de una línea como sudo logout?? Nunca recordaré todo eso.
TheXed
2
Bueno, siempre hay Ctrl-Alt-Retroceso (si lo habilita), pero de nuevo eso está matando la sesión en lugar de cerrar la sesión.
koanhead
44
¿Puedes actualizar tu respuesta diciendo que "gnome-session-save" fue renombrado como "gnome-session-quit" para 11.10 +
mac
1
Es posible que desee agregar DISPLAY =: 0.0 o similar al intentar cerrar la sesión de ssh u otro terminal.
patrikf
3
Me parece que "--force-logout" no funciona, ya que da este error: ADVERTENCIA **: No se puede iniciar: opción desconocida --force-logout. Después de investigar man gnome-session-quit, descubrí que "--force" y "--logout" en realidad están destinados a ser argumentos diferentes. Por lo tanto, "--force --logout" (dos menos antes de "force" y "logout", con un espacio entre ellas) sería mejor ya que no tendrá errores. Al menos, ese es el caso con Ubuntu 13.04 y Linux Mint 15. IDK sobre otras versiones / versiones anteriores de cualquiera de las distribuciones.
TSJNachos117
76

Había instalado Mate Desktop y ninguno de los menús funcionaba, incluso las teclas f no funcionaban. Logré obtener xterm navegando con el administrador de archivos.

Lo único que funcionó fue:

sudo pkill -u username
Dan
fuente
2
También hice un alias para mí alias ulogout="sudo pkill -KILL -u $1". Podría ser útil para alguien. Uso:ulogout user_name
Eugene
1
@ Eugene ¿Qué tal alias logout="sudo pkill -u ${USER}"?
Georgi-it
Esta es una gran solución para máquinas virtuales como en Virtualbox.
Phil Lawlor
1
¿Hay alguna razón por la que necesitas sudo? Además, creo que esto es diferente a cerrar sesión, ya que matará todos sus procesos (por ejemplo, si tiene otra sesión remota, también se eliminará ). Tampoco estoy seguro de que necesariamente matará todos sus procesos (¿puedo imaginar que podría suicidarse primero?) ¿Sabe si eso es posible?
carpincho
Para compañero, uso mate-session-save --force-logout. Mira esta respuesta .
Jérôme
32

11.10 y superior

¡Aquí está mi solución personal!

En la terminal, ejecuta:

gedit ~/.bash_aliases

Y añadir:

alias log-out="gnome-session-quit"

al archivo! ¡Ahora solo tiene que ejecutar el cierre de sesión!

Mella
fuente
11

Para sesiones de gnomos, gnome-session-quitfunciona bien. Por defecto, solicita confirmación y luego cierra la sesión (es decir, --logoutse supone que el argumento se anula a menos que se anule --power-offexplícitamente). También puede indicarle al comando que no solicite confirmación al cerrar sesión:

--no-prompt
      End the session without user interaction. This only works with --logout.

gnome-session-quit sigue siendo válido en 12.04.

Dado que el OP no especificó el administrador de ventana / escritorio, y el gnome-session-quit podría no funcionar con todas las posibilidades, aquí hay una forma genérica de X-windows para volver a la pantalla de inicio de sesión o al selector que he usado varias veces Los últimos lanzamientos:

Desde un terminal (invocado con, de manera diversa, 'Alt-F2 + xterm, o Ctrl-T, o Crt-Alt-F1, o haciendo clic derecho en el escritorio en Nautilus y utilizando el acceso directo "abrir en terminal", etc. ) tipo

sudo pkill X

Esto generalmente es excesivo para la mayoría de las situaciones. Tiendo a usarlo cuando tengo un proceso bloqueado o cuando tengo que cerrar sesión rápidamente. Cuando hice esto, Ubuntu me devolvió cortésmente a la pantalla de inicio de sesión volviendo a generar X-windows.

Todavía no he usado la power-offfunción de gnome-session-quit, como normalmente uso shutdown -P nowpara ese propósito.

belacqua
fuente
9

En Xubuntu (o siempre que use una sesión de Xfce), puede cerrar sesión a través del terminal utilizando

xfce4-session-logout --logout

Debe especificar --logouto se mostrará la pantalla de confirmación de cierre de sesión. Esto funcionará si ha especificado 'sesión Xubuntu' o 'sesión Xfce' cuando inició sesión Lightdm, ya que la sesión todavía es administrada por el administrador de sesión Xfce.

Además, otra opción también lo desconectará:

xfce4-session-logout --fast  

Si se emite este comando, la sesión no se guarda, por lo que normalmente es mejor usarla xfce4-session-logout --logout.

La capacidad de cerrar sesión usando el terminal será muy útil para usted, al igual que las otras opciones como suspender que están disponibles con xfce4-session-logout.

Para obtener más información, consulte man xfce4-session-logoutlas páginas de manual de Ubuntu en línea .


fuente
Confirmado, esto también es válido para cualquier versión de Ubuntu Studio.
algo
9

Puede usar el siguiente comando:

sudo service lightdm restart
Osama El-gedawy
fuente
2
Eso mata todas las sesiones X en ejecución, para todos los usuarios.
sehe
en ~/.bash_aliasesescrituraalias logmeout="service lightdm restart"
noobninja
7

Para uso de Ubuntu Mate mate-session-save --force-logout. Es como gnome-session-quit.

Viejo badman gris
fuente
6

lubuntu 12.10 LXDE ejecutándose en una netbook Samsung (CPU: 1.66 GHZ Intel Atom; RAM: 2GB)

Los siguientes dos comandos me desconectaron de inmediato:

sudo pkill -u username
sudo service lightdm restart
afc888ny
fuente
¡Esta es la respuesta correcta para mí!
3

Lo intenté gnome-session-quit --forcey funciona!

Nota: uso ubuntu 15.04

Vazha Gelashvili
fuente
3

En caso de que no desee finalizar su sesión, puede volver a la pantalla de inicio de sesión con:

dm-tool switch-to-greeter

Si selecciona su usuario e ingresa su contraseña, la sesión se reanudará, por lo que no es un cierre de sesión completo.

Zanna
fuente
2

Defina una función agregando la siguiente línea a su .bashrc, luego invoque escribiendo cerrar sesión en el indicador de comandos de la shell.

  logoff() { gnome-session-quit --logout --no-prompt ; } # Log Out
vanvliet.eric
fuente
2
¿Podría agregar más información sobre cómo usar esto realmente? Es un poco vago ahora. ¡Gracias!
Seth
agregue la línea a su .bashrc, simplemente escriba logoff en el indicador.
vanvliet.eric
Debería editar esa información en su respuesta;)
Seth
1

Y en kubuntu 12.04+ es:

qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout 0 0 0
Adobe
fuente
0

Hay una manera que funcionará si está ejecutando X o está en un TTY. Ahí tienes:

  • Si utiliza lightdm

    sudo service lightdm restart
    
  • si usas gdmo en Ubuntu GNOME

    sudo service gdm restart
    
  • Si usas kdmo en Kubuntu

    sudo service kdm restart
    

La desventaja de este comando es que le pedirá su contraseña.

usuario258456
fuente
0

Actualización 2019

Otras respuestas no funcionaron para mí. En Ubuntu 18 (LTS) es fácil escribir:

exit

Le devolverá a la pantalla de inicio de sesión.

Pavel Kovalev
fuente
-1

Encontré esto accidentalmente.

luvpreet@DHARI-Inspiron-3542:~/go/bin$ who -uH
NAME     LINE         TIME             IDLE          PID COMMENT
luvpreet tty7         2017-12-27 17:33  old        27458 (:0)

Aquí obtienes la identificación del proceso de tu sesión actual.

Tan fácil. Mátalo

luvpreet@DHARI-Inspiron-3542:~$ kill 27458

Ahí tienes.

luv.preet
fuente