web-dev-qa-db-fra.com

Comment suspendre de la ligne de commande de telle sorte que l'écran est verrouillé?

J'utilise Xubuntu 12.04. Dans le gestionnaire d’alimentation, j’ai coché Étendu -> Verrouiller l’écran lorsqu’il s’agissait de suspendre/hiberner. Si je choisis de suspendre depuis le menu principal/Panneau 1, l’écran est verrouillé. Cependant, si j'utilise dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend (voir Comment puis-je suspendre/mettre en veille depuis une ligne de commande? ; J'utilise cette commande via un raccourci clavier), l'écran est pas verrouillé. Comment puis-je (1) suspendre le système (2) avoir l'écran verrouillé en même temps (3) ne pas avoir besoin des droits root pour le faire [puisque je voudrais que la commande soit assignée à un raccourci clavier].

10
Marius Hofert

Vous pouvez le faire en utilisant ce qui suit:

gnome-screensaver-command --lock && dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend

Dans un raccourci clavier, vous devez mettre sh -c "<command>" en remplaçant <command> par la commande ci-dessus, comme suit:

sh -c "gnome-screensaver-command --lock && dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend"

Si la commande ci-dessus ne fonctionne pas, vous pouvez également essayer d'utiliser un fichier de script shell (par exemple, suspend_lockscreen.sh). Commencez par créer le fichier en appelant les commandes suivantes dans une console:

cd ~
echo "gnome-screensaver-command --lock" >> suspend_lockscreen.sh
echo "dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend" >> suspend_lockscreen.sh
chmod +x suspend_lockscreen.sh

Cela créera un fichier nommé suspend_lockscreen.sh dans le dossier d’accueil de l’utilisateur. Ensuite, dans le raccourci, appelez simplement: ./suspend_lockscreen.sh.

Remarque: gnome-screensaver-command peut être remplacé par xscreensaver-command, comme indiqué dans un commentaire.

10
amfcosta

J'utilisais la commande dbus de amfcosta pour suspendre à partir de la ligne de commande. Cependant, à la reprise, eth0 était en panne.

J'ai alors trouvé cette commande:

xfce4-session-logout --suspend

Cette commande désactive la mise en réseau, interrompt puis réactive la mise en réseau lorsque l'ordinateur se réveille.

xfce4-session-logout est spécifique à xfce, mais d'autres environnements de bureau peuvent avoir des commandes similaires *-session-logout.

Je cours sous Xubuntu 14.04.

Mise à jour: Cela peut ne pas affecter les autres, mais il s'avère que sur mon Asus EEE 900, la connexion Ethernet câblée ne fonctionne que tous les deux fois que celui-ci se réveille. Ceci est bien sûr très ennuyeux et signifie que suspendre est inutilisable.

2
mpb

Avec Ubuntu 15.10, cela fonctionne aussi:

gnome-screensaver-command --lock && systemctl -i suspend
1
iGEL

Remarque: le xscreensaver-command ne fonctionne qu'avec l'option -lock (avec 1 trait d'union, pas un double comme avec le gnome-screensaver-command). Cependant, la commande ne fonctionne que lorsque l'économiseur d'écran est en cours d'exécution, ce qui n'est donc pas très utile.

0
LinuxRev