Comment suspendre avec un raccourci clavier?

11

Je voudrais suspendre mon système xubuntu (14.04) à partir d'un raccourci clavier sans entrer mon mot de passe superutilisateur ( sudo ). Je cherche une ligne de commande que je peux convertir en raccourci.

Jusqu'à présent, j'ai essayé deux solutions:

Commande Xfce:

xfce4-session-logout --suspend

Problème: le système ne verrouille pas la session. Je n'ai pas besoin d'entrer mon mot de passe pour le réveil et je veux le faire.

Dbus :

dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

Problème: après le réveil, la connexion Internet est coupée et je dois redémarrer le système pour le récupérer.

Existe-t-il une troisième solution qui 1. demande le mot de passe pendant le processus de réveil, et 2. ne gâche pas la connexion Internet?

En fait, le raccourci graphique par défaut (à partir du menu) fonctionne bien. Je ne sais simplement pas quelle ligne de commande est appelée.

ppr
la source

Réponses:

8

J'ai écrit un script. Il semble faire ce que vous demandez:

#!/usr/bin/env zsh
# Custom suspend
#
# (That 'zsh' up there can be switched to 'bash', or 
# pretty much any shell - this doesn't do anything too fancy.)
#
# Dependencies are mostly xfce stuff:
#
#   xbacklight
#   xflock4
#   xfce4-session-logout

# Set how dim we want the screen to go (percentage, out of 100)
dim=5

# Pack up your toys
previous_dimness=$(xbacklight -get)

# Turn down the lights
xbacklight -set $dim

# Lock the door (this requires a password to get back in)
xflock4

# And go to sleep
xfce4-session-logout --suspend

# When we wake up, turn the lights back on
xbacklight -set $previous_dimness
Jon Carter
la source
1
+1 pour les merveilleux commentaires. Je pense que j'utiliserai ce script lors de l'installation d'Ubuntu.
Wildcard
Je suis désolé mais où dois-je placer ce script? comment dois-je le connecter avec un raccourci clavier (par exemple ctrl + alt + s)? J'utilise Lubuntu
hipoglucido
Vous pouvez techniquement mettre le script n'importe où. J'ai un répertoire bin / sous mon répertoire personnel juste pour les scripts personnels comme celui-ci que je veux utiliser. Dans ce cas, le chemin d'accès au script est: / home / <nom d'utilisateur> / bin / custom-suspend Vous voudrez vous assurer que le script est exécutable. Une façon de le faire est d'exécuter la commande suivante: $ chmod + x / home / <username> / bin / custom-suspend Pour lui donner un raccourci sous LXDE (utilisé par Lubuntu), vous devriez pouvoir rechercher quelque chose comme 'clavier' dans le menu Démarrer, qui devrait vous montrer l'application de configuration du clavier.
Jon Carter
4

Vous pouvez très simplement envoyer la commande pour verrouiller l'écran en premier, puis la suspendre:

xscreensaver-command -lock ; xfce4-session-logout --suspend

Pour l'utilisation de xscreensaver-command, exécutezxscreensaver-command --help

Wilf
la source
Cela fonctionne à partir de la ligne de commande (bien que l'écran de verrouillage ne soit pas nécessaire car c'est automatique avec la suspension), mais pas comme raccourci d'application clavier (au moins avec Ubuntu 12.04). Soit dit en passant, l'application Xfce pour verrouiller l'écran est xflock4 (sans arguments), qui par défaut est liée à control-alt-delete.
BobDoolittle
xscreensaver-commandsemble avoir disparu en 15.10.
Jesse Glick
@JesseGlick - installez simplement le xscreensaverpaquet
Wilf
2

Curieusement, cela xfce4-session-logout --suspendfonctionne très bien, et mon système est xubuntu 14.04. Il verrouille également la session, bien que j'aie activé l'option "verrouiller l'écran avant de dormir", allez dans Paramètres-> Session et démarrage-> Avancé, et vérifiez s'il y est allumé.

OVNIS
la source
Cela fonctionne à partir de la ligne de commande (bien que l'écran de verrouillage ne soit pas nécessaire car c'est automatique avec la suspension), mais pas comme raccourci d'application clavier (au moins avec Ubuntu 12.04).
BobDoolittle
eh bien, il est censé fonctionner dans x ubuntu, pas ubuntu. Je ne sais pas pourquoi vous avez même la xfce4-session-logoutcommande.
Ufos
Nous parlons de Xfce, qui peut être ajouté à n'importe quelle distribution Ubuntu. Xubuntu est simplement une distribution de commodité qui se trouve avoir ajouté des packages Xfce et les avoir configurés en tant que bureau. Vous pouvez commencer avec ubuntu et l'ajouter / le configurer vous-même. La distinction xubuntu / ubuntu est un hareng rouge ici.
BobDoolittle
Fonctionne bien pour moi, avec verrouillage d'écran, dans Xubuntu 15.10.
Jesse Glick
0

Cette commande fonctionne pour moi: je crée un lanceur pour le bureau et je définis l'icône d'arrêt pour cela. mettre cette commande dans la commande déposée:

dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

Pour la première fois, demandez-moi de faire Executable et après ça, très bien.

J'utilise wicd pour la connexion Internet et ça marche bien aussi après le réveil!

Vahid
la source
Xubuntu 15.10:Error org.freedesktop.DBus.Error.UnknownMethod: Method "Suspend" with signature "" on interface "org.freedesktop.UPower" doesn't exist
Jesse Glick
0

Si vous êtes sur un ordinateur portable et que vous souhaitez simplement appuyer sur une touche. Vous pouvez utiliser le bouton d'alimentation. Le comportement peut être défini à partir des paramètres d'alimentation:

  1. Ouvrez le Gestionnaire de paramètres (ou par commande: xfce4-settings-manager)
  2. Ouvrez les paramètres de Power Manager
  3. En général: réglez Lorsque le bouton d'alimentation est enfoncé pour demander
  4. Fermer les paramètres de Power Manager

Si vous avez installé des scripts ACPI, désactivez ou mettez à jour le script du bouton d'alimentation à partir de

/etc/acpi/events/, and change the action field to /bin/true:
# EXAMPLE
event=button/power.*
#action=/usr/lib/acpid/power_button
action=/bin/true

Réf: https://wiki.xfce.org/tips#solution_2

Mads Hansen
la source