54 votes

Comment puis-je me déconnecter du GUI en utilisant le CLI ?

J'ai choisi un DE Openbox au moment de la connexion et le système a mis du temps à charger le DE. Je suis donc passé au CLI ( Ctrl + Alt + F1 ) et j'ai redémarré mon système (mais je voulais me déconnecter de l'interface graphique et ne pas redémarrer tout le système).

Ma question est la suivante : puis-je émettre une commande dans l'interface CLI pour me déconnecter de l'interface graphique afin de pouvoir sélectionner un autre DE ? (Je ne veux pas redémarrer mon système à chaque fois que DE se bloque).


$ DISPLAY=:0 gnome-session-quit --force

** (gnome-session-quit:3144): WARNING **: Failed to call logout: The name org.gnome.SessionManager was not provided by any .service files

59voto

mblasco Points 2217

Pour mettre fin à tous les processus utilisateur et être renvoyé à l'écran de connexion, vous pouvez utiliser :

kill -9 -1

Mais ne l'exécutez pas en tant que root, pour les raisons évoquées plus haut. aquí .

28voto

Cela peut être fait en utilisant l'option gnome-session-quit commandement. Elle a besoin de la --force pour supprimer la boîte de dialogue de confirmation qui s'afficherait sans elle.

Contrairement aux applications exécutées à partir d'un émulateur de terminal X, la fin d'une session à partir d'un TTY nécessite l'ajout de la balise DISPLAY pour indiquer quel écran X exécute la session. Ainsi :

DISPLAY=:0 gnome-session-quit --force

en supposant que vous exécutez GNOME sur :0, ce qui est le cas dans les situations normales.

  • Dans Ubuntu 12.04LTS exécutant GNOME, la commande

    "DISPLAY=:0 gnome-session-quit --logout --no-prompt" 

    travaux. L'argument "--force" n'existe pas dans le niveau de mise à jour actuel].

13voto

rugk Points 741

Dans les distros Linux systemd modernes, les réponses sont toutes un peu trop compliquées. La solution est la suivante un outil : loginctl .

Dans un bon Shell, vous disposez même de l'autocomplétion, alors faites usage de Tab pour voir les options et les paramètres et c'est assez intuitif. La commande à rechercher est kill-session .

Si vous utilisez la tabulation, vous remarquerez que chaque session a un ID, mais dans mon cas, il a également montré le nom d'utilisateur et le TTY (c'est-à-dire l'identifiant de l'utilisateur). Ctrl + Alt + <strong><em>number</em></strong> que vous tapez) et le siège.

Voici à quoi cela ressemble pour moi, par exemple :

$ loginctl kill-session 10  
10  -- 1000 rugk seat0 tty2

Vous pouvez passer en revue les sessions pour trouver la bonne.

Autrement, si cela ne fonctionne pas vous pouvez trouver l'ID de la session en exécutant loginctl list-sessions ou simplement loginctl . Vous obtenez quelque chose comme ça :

$ loginctl list-sessions                            
SESSION  UID USER SEAT  TTY 
    10 1000 rugk seat0 tty2

Je pense qu'il est évident que la première colonne contient l'ID de la session que vous devez transmettre à loginctl kill-session .

Cela fonctionne très bien si l'interface graphique se bloque et que vous devez la forcer, ce qui semble être votre cas.

Si vous voulez que cela soit expliqué de manière plus élaborée Voici comment vous pouvez tuer votre propre session si l'interface graphique ne répond pas ou si vous ne pouvez pas utiliser votre clavier. .

10voto

Stewart Points 1385

Veuillez suivre suggestion de takkat . La norme est Ctrl + Alt + Backspace .

Vous pouvez aussi courir :

$ sudo service lightdm restart

3voto

Suhaib Points 3978

Une autre façon,

sudo pkill -u NameOftheUser

ou

sudo pkill x

qui tuent tous les utilisateurs.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X