Comment pouvez-vous vous déconnecter via le terminal?

248

Existe-t-il une commande de terminal qui vous déconnecte de votre session de bureau actuelle et vous ramène à l'écran de connexion?

TheXed
la source

Réponses:

197

11.10 et plus

gnome-session-quit

11.04 et versions précédentes

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

(via texte alternatifDoR , voir sa réponse à "Redémarrer sans privilèges sudoer?" pour plus de bonté dbus!)

ou alternativement, vous pouvez utiliser

gnome-session-save --force-logout

--force-logoutcontrairement à --logoutne demandera tout simplement pas à l'utilisateur de traiter des documents non sauvegardés, etc.

est-ce le moyen le plus simple? pas de simple commande en ligne comme sudo logout? Je ne me souviendrai jamais de tout ça.

Oui, il existe une commande appelée logout, mais elle concerne le terminal. gnome-session-save est le programme qui ferme réellement le programme gnome-session, ce que vous pouvez bien sûr tuer, mais cela ne serait pas considéré comme une déconnexion. :-)

Notez également que ces commandes ne nécessitent pas que vous soyez root.

Vous pouvez toujours ajouter un alias à votre système si vous souhaitez avoir une commande plus courte.

Ouvrez ~/.bash_aliasesavec un éditeur de texte, ou créez-le s'il n'est pas là, et ajoutez quelque chose comme ça:

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

(.bashrc est un script exécuté à chaque démarrage d'un nouveau terminal virtuel . Vous devez y configurer tous vos alias permanents. Voir aussi: Comment créer un "alias" permanent? )

Stefano Palazzo
la source
1
est-ce le moyen le plus simple? pas de simple commande en ligne comme sudo logout?? Je ne me souviendrai jamais de tout ça.
TheXed
2
Eh bien, il y a toujours Ctrl-Alt-Backspace (si vous l'activez), mais encore une fois, cela tue la session plutôt que de la déconnecter.
koanhead
4
Pouvez-vous s'il vous plaît mettre à jour votre réponse en disant "gnome-session-save" a été renommé "gnome-session-quit" pour 11.10 +
mac
1
Vous voudrez peut-être ajouter DISPLAY =: 0.0 ou similaire lorsque vous essayez de vous déconnecter d'une session depuis ssh ou un autre terminal.
patrikf
3
Il me semble que "--force-logout" ne fonctionne pas très bien car cela donne cette erreur: AVERTISSEMENT **: Impossible de démarrer: option inconnue --force-logout. Après avoir fouillé avec man gnome-session-quit, j’ai trouvé que "--force" et "--logout" sont en réalité des arguments différents. Par conséquent, "--force --logout" (deux chants moins avant "force" et "logout", avec un espace entre) serait préférable, car vous n'aurez pas d'erreur. Du moins, c’est le cas avec Ubuntu 13.04 et Linux Mint 15. IDK concernant d’autres / anciennes versions de l’une ou l’autre des distributions.
TSJNachos117
76

J'avais installé Mate Desktop et aucun des menus ne fonctionnait, même les touches f ne fonctionnaient pas. J'ai réussi à obtenir xterm grâce à la navigation avec le gestionnaire de fichiers.

La seule chose qui a fonctionné était:

sudo pkill -u username
Dan
la source
2
J'ai aussi fait un alias pour moi alias ulogout="sudo pkill -KILL -u $1". Peut-être utile pour quelqu'un. Utilisation:ulogout user_name
Eugene
1
@ Eugène Que diriez-vous alias logout="sudo pkill -u ${USER}"?
Georgi-it
C'est une excellente solution pour les ordinateurs virtuels, comme dans Virtualbox.
Phil Lawlor
1
Y a-t-il une raison pour laquelle vous avez besoin du sudo? De plus, je pense que cela diffère de la déconnexion, car tous vos processus seront tués (par exemple, si vous avez une autre session distante, elle sera également tuée). Je ne suis pas sûr non plus que cela tue nécessairement tous vos processus (j'imagine qu'il pourrait se tuer tout d'abord?) Savez-vous si cela est possible?
capybaralet
Pour compagnon, utilisez mate-session-save --force-logout. Voir cette réponse .
Jérôme
32

11.10 et plus

Voici ma solution personnelle!

Dans le terminal, lancez:

gedit ~/.bash_aliases

Et ajouter:

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

au fichier! Il ne vous reste plus qu'à lancer la déconnexion!

pseudo
la source
11

Pour les sessions de gnome, gnome-session-quitfonctionne bien. Par défaut, il demande une confirmation, puis vous déconnecte (l' --logoutargument est utilisé sauf s'il est --power-offexplicitement remplacé ). Vous pouvez également indiquer à la commande de ne pas demander de confirmation lors de la déconnexion:

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

gnome-session-quit est toujours valable en 12.04.

Puisque l'OP n'a pas spécifié le gestionnaire de fenêtres / bureaux, et que gnome-session-quit peut ne pas fonctionner avec toutes les possibilités, voici une méthode générique pour X-windows permettant de revenir à l'écran de connexion ou au sélecteur que j'ai utilisé plusieurs fois les dernières sorties:

Depuis un terminal (invoqué avec, de différentes manières, Alt-F2 + xterm, ou Ctrl-T, ou Crt-Alt-F1, ou en cliquant avec le bouton droit de la souris sur le bureau dans Nautilus et en utilisant le raccourci "open in terminal", etc. ) type

sudo pkill X

C'est généralement exagéré dans la plupart des situations. J'ai tendance à l'utiliser quand j'ai un processus bloqué ou lorsque je dois me déconnecter rapidement. Ce faisant, Ubuntu m'a renvoyé poliment à l'écran de connexion en faisant apparaître à nouveau X-windows.

Je n'ai pas encore utilisé la power-offfonctionnalité de gnome-session-quit, comme je l'utilise généralement shutdown -P nowà cette fin.

Belacqua
la source
9

Sur Xubuntu (ou lors de l’utilisation d’une session Xfce), vous pouvez vous déconnecter via le terminal en utilisant

xfce4-session-logout --logout

Vous devez spécifier --logoutou l'écran de confirmation de déconnexion s'affichera. Cela fonctionnera que vous ayez spécifié «session Xubuntu» ou «session Xfce» lorsque vous vous êtes connecté Lightdm, car la session est toujours gérée par le gestionnaire de session Xfce.

De plus, une autre option vous déconnectera également:

xfce4-session-logout --fast  

Si cette commande est émise, la session n'est pas enregistrée, il est donc préférable de l'utiliser xfce4-session-logout --logout.

La possibilité de vous déconnecter à l'aide du terminal vous sera très utile, de même que les autres options telles que suspendre qui sont disponibles avec xfce4-session-logout.

Pour plus d'informations, consultez man xfce4-session-logoutou les pages de manuel Ubuntu en ligne .


la source
Confirmé, cela est également vrai pour tous les goûts Ubuntu Studio.
somethis
9

Vous pouvez utiliser la commande ci-dessous:

sudo service lightdm restart
Osama El-Gedawy
la source
2
Cela tue toutes les sessions X en cours, pour tous les utilisateurs.
Voir le
en ~/.bash_aliasesécriturealias logmeout="service lightdm restart"
noobninja
7

Pour Ubuntu Mate, utilisez mate-session-save --force-logout. C'est comme gnome-session-quit.

Old Badman Grey
la source
6

Lubuntu 12.10 LXDE fonctionnant sur un netbook Samsung (CPU: 1.66 GHz Intel Atom; RAM: 2 Go)

Les deux commandes ci-dessous m'ont immédiatement déconnecté:

sudo pkill -u username
sudo service lightdm restart
afc888ny
la source
c'est la bonne réponse pour moi!
3

J'ai essayé gnome-session-quit --forceet ça marche!

Note: j'utilise Ubuntu 15.04

Vazha Gelashvili
la source
3

Si vous ne souhaitez pas interrompre votre session, vous pouvez revenir à l'écran de connexion en utilisant:

dm-tool switch-to-greeter

Si vous sélectionnez votre utilisateur et entrez votre mot de passe, la session reprendra pour vous éviter une déconnexion complète.

Zanna
la source
2

Définissez une fonction en ajoutant la ligne suivante à votre fichier .bashrc, puis appelez-la en tapant logoff à l'invite du shell.

  logoff() { gnome-session-quit --logout --no-prompt ; } # Log Out
vanvliet.eric
la source
2
Pourriez-vous ajouter plus d'informations sur la façon de l'utiliser? C'est un peu vague maintenant. Merci!
Seth
ajoutez la ligne à votre fichier .bashrc, tapez simplement logoff à l'invite.
vanvliet.eric
Vous devriez modifier cette information dans votre réponse;)
Seth
1

Et dans kubuntu 12.04+ c'est:

qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout 0 0 0
Adobe
la source
0

Il y a un moyen qui fonctionne si vous utilisez X ou si vous êtes dans un téléscripteur. Voilà:

  • Si tu utilises lightdm

    sudo service lightdm restart
    
  • si vous utilisez gdmou dans Ubuntu GNOME

    sudo service gdm restart
    
  • Si vous utilisez kdmou à Kubuntu

    sudo service kdm restart
    

L'inconvénient de cette commande est qu'elle vous demandera votre mot de passe.

utilisateur258456
la source
0

Mise à jour 2019

Les autres réponses n'ont pas fonctionné pour moi. Sur Ubuntu 18 (LTS), il est facile de taper:

exit

Cela vous ramènera à l'écran de connexion.

Pavel Kovalev
la source
-1

J'ai trouvé ceci accidentellement.

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

Ici, vous obtenez l'ID de processus de votre session actuelle.

Si facile. Tue le

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

Voilà.

luv.preet
la source