Come si può disconnettersi tramite il terminale?


248

Esiste un comando terminale che ti disconnetterà dalla sessione del desktop corrente e ti riporterà alla schermata di accesso?

Risposte:


197

11.10 e versioni successive

gnome-session-quit

11.04 e versioni precedenti

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

(tramite testo alternativoDoR , vedi la sua risposta a "Riavvia senza privilegi sudoer?" per più bontà del dbus!)

o in alternativa, puoi usare

gnome-session-save --force-logout

--force-logoutal contrario di just --logoutnon chiederà all'utente di gestire documenti non salvati e così via.

è questo il modo più semplice? nessun semplice comando a una riga come sudo logout ?? Non ricorderò mai tutto questo.

Sì, esiste un comando chiamato logout, ma riguarda il terminale. gnome-session-save è il programma che effettivamente chiude gnome-session, che puoi ovviamente uccidere, ma che non si qualificherebbe come disconnettersi. :-)

Si noti inoltre che questi comandi non richiedono di essere root.

Puoi sempre aggiungere un alias al tuo sistema se vuoi avere un comando più breve.

Apri ~/.bash_aliasescon un editor di testo o crealo se non è presente e aggiungi qualcosa di simile a questo:

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

(.bashrc è uno script che viene eseguito ogni volta che viene avviato un nuovo terminale virtuale , è necessario impostare tutti gli alias permanenti lì, vedere anche: Come creare un "alias" permanente? )


1
è questo il modo più semplice? nessun semplice comando a una riga come sudo logout?? Non ricorderò mai tutto questo.
TheXed

2
Bene, c'è sempre Ctrl-Alt-Backspace (se lo abiliti), ma di nuovo questo sta uccidendo la sessione piuttosto che disconnettersi da essa.
koanhead,

4
Puoi aggiornare la tua risposta dicendo che "gnome-session-save" è stato rinominato in "gnome-session-quit" per l'11.10 +
mac

1
È possibile che si desideri aggiungere DISPLAY =: 0.0 o simile quando si tenta di disconnettersi da una sessione da ssh o da un altro terminale.
Patrikf,

3
Mi sembra che "--force-logout" non funzioni del tutto, in quanto fornisce questo errore: ATTENZIONE **: Impossibile avviare: opzione sconosciuta --force-logout. Dopo aver man gnome-session-quitcercato, ho scoperto che "--force" e "--logout" sono in realtà intesi come argomenti diversi. Pertanto, "--force --logout" (due meno canta prima di "force" e "logout", con uno spazio tra) sarebbe migliore in quanto non si verificheranno errori. Almeno, questo è il caso di Ubuntu 13.04 e Linux Mint 15. IDK su altre versioni precedenti di entrambe le distribuzioni.
TSJNachos117,

76

Avevo installato mate desktop e nessuno dei menu funzionava, anche i tasti f non funzionavano. Sono riuscito a ottenere xterm navigando con il file manager.

L'unica cosa che ha funzionato è stata:

sudo pkill -u username

2
Ho anche fatto un pseudonimo per me alias ulogout="sudo pkill -KILL -u $1". Potrebbe tornare utile per qualcuno. Utilizzo:ulogout user_name
Eugene il

1
@Eugene Che ne dici di alias logout="sudo pkill -u ${USER}"?
Georgi-it,

Questa è un'ottima soluzione per le macchine virtuali come in Virtualbox.
Phil Lawlor,

1
C'è un motivo per cui hai bisogno del sudo? Inoltre, penso che questo sia diverso dal logout, poiché ucciderà tutti i tuoi processi (ad esempio, se hai un'altra sessione remota, verrà anche ucciso). Inoltre, non sono sicuro che ucciderà necessariamente tutti i tuoi processi (posso immaginare che potrebbe uccidere se stesso per primo?) Sai se è possibile?
capybaralet,

Per il compagno, usa mate-session-save --force-logout. Vedere questa risposta .
Jérôme,

32

11.10 e versioni successive

Ecco la mia soluzione personale!

Nel terminale, esegui:

gedit ~/.bash_aliases

E aggiungi:

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

al file! Ora devi solo eseguire il log-out!



11

Per le sessioni di gnome, gnome-session-quitfunziona bene. Per impostazione predefinita, chiede conferma e quindi si disconnette (ovvero, l' --logoutargomento viene assunto a meno che non venga sostituito --power-offesplicitamente). Puoi anche dire al comando di non richiedere conferma al logout:

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

gnome-session-quit è ancora valido in 12.04.

Dato che l'OP non ha specificato il gestore finestre / desktop e che gnome-session-quit potrebbe non funzionare con tutte le possibilità, ecco un modo X-windows generico per tornare alla schermata di accesso o al selettore che ho usato più volte le ultime versioni diverse:

Da un terminale (invocato, in vari modi, 'Alt-F2 + xterm, o Ctrl-T, o Crt-Alt-F1, o facendo clic con il tasto destro del mouse sul desktop in Nautilus e usando il collegamento "apri nel terminale", ecc. ) genere

sudo pkill X

Questo è generalmente eccessivo per la maggior parte delle situazioni. Tendo a usarlo quando ho un processo bloccato o quando devo disconnettermi rapidamente. Quando l'ho fatto, Ubuntu mi ha gentilmente riportato alla schermata di accesso rigenerando X-windows.

Non ho ancora usato la power-offfunzione di gnome-session-quit, come in genere uso shutdown -P nowa tale scopo.


9

Su Xubuntu (o quando si utilizza una sessione Xfce), è possibile disconnettersi tramite il terminale utilizzando

xfce4-session-logout --logout

È necessario specificare --logouto verrà visualizzata la schermata di conferma della disconnessione. Funzionerà indipendentemente dal fatto che tu abbia specificato "Sessione Xubuntu" o "Sessione Xfce" quando hai effettuato l'accesso Lightdm, poiché la sessione è ancora gestita dal gestore sessioni Xfce.

Inoltre, verrà disconnessa anche un'altra opzione:

xfce4-session-logout --fast  

Se viene emesso questo comando, la sessione non viene salvata, quindi è normalmente meglio usarla xfce4-session-logout --logout.

La possibilità di disconnettersi utilizzando il terminale ti sarà molto utile, così come le altre opzioni come la sospensione che sono disponibili con xfce4-session-logout.

Per ulteriori informazioni, consultare man xfce4-session-logouto le manpage di Ubuntu online .


Confermato, questo vale anche per tutti i gusti di Ubuntu Studio.
qualcosa del

9

È possibile utilizzare il comando seguente:

sudo service lightdm restart

2
Questo uccide duramente tutte le sessioni X in esecuzione, per tutti gli utenti.
Sehe

per ~/.bash_aliasesiscrittoalias logmeout="service lightdm restart"
noobninja,

7

Per l'uso di Ubuntu Mate mate-session-save --force-logout. È come gnome-session-quit.


6

lubuntu 12.10 LXDE in esecuzione su un netbook Samsung (CPU: 1,66 GHZ Intel Atom; RAM: 2 GB)

I due comandi seguenti mi hanno disconnesso immediatamente:

sudo pkill -u username
sudo service lightdm restart

questa è la risposta corretta per me!


3

Nel caso in cui non si desideri interrompere la sessione, è possibile tornare alla schermata di accesso utilizzando:

dm-tool switch-to-greeter

Se si seleziona l'utente e si immette la password, la sessione verrà ripresa, quindi non è un logout completo.


2

Definisci una funzione aggiungendo la seguente riga al tuo .bashrc, quindi invoca digitando la disconnessione al prompt della shell.

  logoff() { gnome-session-quit --logout --no-prompt ; } # Log Out

2
Potresti aggiungere ulteriori informazioni su come utilizzarlo effettivamente? È un po 'vago ora. Grazie!
Seth

aggiungi la linea al tuo .bashrc, digita logoff al prompt.
vanvliet.eric,

È necessario modificare tali informazioni nella risposta;)
Seth

1

E in Kubuntu 12.04+ è:

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

0

C'è un modo che funzionerà se stai eseguendo X o sei in un TTY. Ecco qua:

  • Se usi lightdm

    sudo service lightdm restart
    
  • se usi gdmo in Ubuntu GNOME

    sudo service gdm restart
    
  • Se usi kdmo in Kubuntu

    sudo service kdm restart
    

Il rovescio della medaglia di questo comando è che chiederà la tua password.


0

Aggiornamento 2019

Altre risposte non hanno funzionato per me. Su Ubuntu 18 (LTS) è facile digitare:

exit

Tornerà alla schermata di accesso.


-1

L'ho trovato per caso.

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

Qui ottieni l'ID del processo della sessione corrente.

Così facile. Uccidilo

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

Ecco qua

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.