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


10

J'utilise Xubuntu 12.04. Dans Power Manager, j'ai coché Extended -> Lock screen lorsque je vais suspendre / mettre en veille prolongée. 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 prolongée depuis la ligne de commande?; J'utilise cette commande via un raccourci clavier), l'écran n'est pas verrouillé. Comment puis-je (1) suspendre le système (2) verrouiller l'écran en même temps (3) ne nécessite pas de droits root pour le faire [car je voudrais que la commande soit affectée à un raccourci clavier].

Réponses:


10

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 le sh -c "<command>"remplacement <command>par la commande ci-dessus, comme:

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). Créez d'abord le fichier appelez 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 de départ de l'utilisateur. Ensuite, dans le raccourci il suffit d' appeler: ./suspend_lockscreen.sh.

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


Non, il ne fait que verrouiller l'écran et oublie de le suspendre selon un commentaire fait dans la réponse que j'ai faite;)
Rinzwind

1
Ahh bien. Je viens de réaliser qu'il gnome-screensaver-commandpeut également être remplacé par xscreensaver-commanddonc aucune installation supplémentaire n'est requise. Sans la && dbus-send...partie, on obtient simplement un verrou (sans suspension); avec elle, on obtient une suspension avec verrouillage au réveil. Parfait.
Marius Hofert

Malheureusement, la commande fonctionne depuis le terminal mais pas depuis le raccourci clavier que j'ai défini :-( Savez-vous quel pourrait être le problème?
Marius Hofert

@MariusHofert J'ai mis à jour la réponse avec la façon d'utiliser les commandes à partir d'un raccourci clavier. Voyez si cela fonctionne comme vous en avez besoin. (J'ai testé dans Ubuntu 12.04 et cela a fonctionné).
amfcosta

Toujours le même problème: le verrouillage fonctionne; la suspension ne fonctionne pas (Xubuntu 12.04)
Marius Hofert

2

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

J'ai ensuite trouvé cette commande:

xfce4-session-logout --suspend

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

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

J'utilise 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 filaire ne fonctionne que toutes les deux fois que l'EEE se réveille. Ceci est bien sûr très ennuyeux et signifie que la suspension est inutilisable.


1

Avec Ubuntu 15.10, cela fonctionne également:

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

0

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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.