Comment puis-je me déconnecter de l'interface graphique à l'aide de l'interface de ligne de commande?

37

J'ai choisi une Openbox DE au moment de la connexion et le système a mis des années à charger le DE. Alors je suis passé à 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 le l'ensemble du système).

Ma question est la suivante: puis-je émettre une commande au niveau de l'interface de ligne de commande pour me déconnecter de l'interface graphique afin que je puisse sélectionner d'autres 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
    
posée Ankit 26.08.2012 - 14:38
la source

8 réponses

39

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

kill -9 -1

Ne l'exécutez pas en tant que root, pour des raisons évoquées ici .

    
réponse donnée mblasco 27.08.2012 - 02:50
la source
16

Cela peut être fait en utilisant la commande gnome-session-quit . Il a besoin de l'option --force pour supprimer la boîte de dialogue de confirmation qui apparaîtrait sans elle.

Contrairement aux applications exécutées à partir d’un émulateur de terminal X, si vous terminez une session à partir d’un TTY, vous devez ajouter la variable DISPLAY pour indiquer quel affichage X exécute la session. D'où:

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

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

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

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

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

réponse donnée Cumulus007 26.08.2012 - 16:31
la source
6

Veuillez suivre la suggestion de takkat . La norme est Ctrl + Alt + Retour arrière .

Vous pouvez également exécuter:

$ sudo service lightdm restart
    
réponse donnée terdon 26.08.2012 - 18:44
la source
3

Une autre façon,

sudo pkill -u NameOftheUser

ou

sudo pkill x

qui tue tous les utilisateurs.

    
réponse donnée Suhaib 03.04.2013 - 18:12
la source
1

Le vrai problème est que les variables de session DBUS doivent être définies et correspondre à la session que vous essayez de contrôler.

J'ai créé ce script qui définit les variables de session DBUS à partir de l'environnement gnome-session au cas où vous souhaiteriez déconnecter d'autres utilisateurs / sessions:

Comment redémarrer Gnome-Shell à partir de la ligne de commande ?

function logout() {
    local USERNAME
    export USERNAMES=( ) 
    while [ -n "" ]; do case "" in
        -* ) break ;;
        *) USERNAMES+=( "" ); shift ;;
    esac; done

    for USERNAME in "${USERNAMES[@]}"; do
        local SESSION_PID=$(pgrep -fu "$USERNAME" gnome-session|head -1)
        if [ -n "$SESSION_PID" ]; then
            (
                sudo -u "$USERNAME" cat "/proc/$SESSION_PID/environ" | xargs -0 -n 1 echo export
                echo "gnome-session-quit --logout [email protected]"
            ) | sudo -u "$USERNAME" sh -;
        fi
    done
}
    
réponse donnée sehe 21.01.2017 - 14:29
la source
0

Si vous êtes dans une session xubuntu ou similaire, vous devez utiliser la commande xfce4-session-logout des commandes de session gnome, ce qui explique pourquoi vous recevez des avertissements

    
réponse donnée Sergio Abreu 04.12.2016 - 14:14
la source
0

C'est ce qui marche le mieux pour moi (avec xfce, lightdm et ssh):

$ DISPLAY=:0.0 xfce4-session-logout --logout

Ou

$ sudo service lightdm restart
    
réponse donnée pascalv 02.05.2018 - 11:46
la source
-2

Vous pouvez utiliser la commande killall gnome-session pour vous déconnecter. Cela fonctionnera pour toutes les sessions GNOME et si je me souviens bien de toutes les sessions liées à GNOME. Il vous ramène directement à LightDM pour vous permettre de sélectionner un nouvel utilisateur ou un nouvel utilisateur. :)

    
réponse donnée Ryan McClure 26.08.2012 - 16:22
la source

Lire d'autres questions sur les étiquettes