Comment puis-je suspendre ou mettre en veille mon ordinateur portable en ligne de commande sans installer de logiciel supplémentaire?
Traditionnellement, Ubuntu prenait en charge une méthode assez brutale de suspension et de veille prolongée. Ni s'intégrerait bien avec d'autres applications et parfois même ne pas travailler sur certaines machines. La nouvelle méthode ne nécessite pas de racine et informe toutes les applications à l'écoute des événements d'alimentation.
À partir de Ubuntu 16.04, l'appel systemctl
doit être utilisé (voir commande Suspend dans Ubuntu 16.04 )
systemctl suspend
et
systemctl hibernate
Voir la réponse ici sur cette page d'Adam Paetznick concernant l'utilisation de dbus . Idéalement, vous créeriez un raccourci/script ~/bin/suspend
qui facilite l'utilisation de cette action.
Pour une utilisation sur ssh, vous devez modifier les règles du kit de règles comme indiqué par Peter V. Mørch
Selon le buntu Forum , vous pouvez utiliser les commandes suivantes:
pmi action suspend
et
pmi action hibernate
Cela nécessite que vous installiez le paquet powermanagement-interface (non testé).
Sudo apt-get install powermanagement-interface
J'ai également trouvé les commandes Sudo pm-suspend
et Sudo pm-hibernate
pour fonctionner sur mon netbook.
Le moyen le plus simple pour les gnomes est d'utiliser dbus.
dbus-send --system --print-reply \
--dest="org.freedesktop.UPower" \
/org/freedesktop/UPower \
org.freedesktop.UPower.Suspend
Cette commande présente deux avantages par rapport à pm-suspend
.
Il va verrouiller votre écran (lors de la reprise) si vous avez sélectionné cette option dans gnome.
Il ne nécessite pas de privilège root, il est donc facile de l'ajouter sous forme de raccourci clavier, par exemple.
Comme mentionné dans les commentaires, l'échange de Suspend
dans la dernière ligne en Hibernate
crée une commande hibernate:
dbus-send --system --print-reply \
--dest="org.freedesktop.UPower" \
/org/freedesktop/UPower \
org.freedesktop.UPower.Hibernate
Si le mode veille prolongée génère Error org.freedesktop.UPower.GeneralError: not authorized
, il se peut que votre utilisateur ne soit pas autorisé à mettre en veille prolongée. Editez ou créez /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
pour qu'il contienne la section suivante: (source)
[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
Ceci a été testé sur buntuGnome 14.04 .
Note: Ceci est fondamentalement identique à la réponse de qbi, mais mis à jour pour fonctionner pour les versions plus récentes d'Ubuntu, ainsi que pour inclure hibernate.
Si vous souhaitez que votre ordinateur suspende au bout d'une heure parce que vous souhaitez aller au lit en écoutant votre station de radio préférée, ouvrez un terminal et tapez:
Sudo bash -c "sleep 1h; pm-suspend"
et votre ordinateur s’endormira au bout d’une heure. À votre réveil, vos images ouvertes et toutes vos affaires seront conservées.
Vous pouvez remplacer 1h
par ce que vous voulez: h
pendant des heures, m
variable__ pour des minutes, s
pour secondes, d
nom____ jours.
Bonne nuit!
You are like to you your computer to mette in veille in a time parce que vous voulez vous connecter à votre radio préférée, ouvrez Terminal et tapez:
Sudo bash -c "sleep 1h; pm-suspend"
et votre ordinateur s'endormira dans une heure. Quand vous vous réveillez, il aura conservé en mémoire vos applications ouvertes.
Vous pouvez remplacer 1h
par ce que vous voulez: h
event__ pour les heures, m
_ pour les minutes, s
pour les secondes, d
pour__, pour les jours.
Bonne nuit!
Si vous êtes suspendu à l'ordinateur et que vous portez votre voix à la radio, c'est-à-dire que vous préférez écouter de la musique, que ce soit en solo ou à la volée:
Sudo bash -c "sleep 1h; pm-suspend"
vous êtes ici pour dormir dans 1 heure. Droits de la personne, toutes les informations sur les personnes et les femmes.
Puedes reemplazar 1h
by our que desees: h
pour horas, m
pour minutos, s
pour segundos, d
pour días.
Bonne nuit!
Pour buntu 12.04 LTS et buntu 13.04
Pour passer en veille prolongée:
Sudo pm-hibernate
Pour obtenir une suspension:
Sudo pm-suspend
Vous pouvez utiliser le fichier /sys/power/state
pour le faire. D'abord, découvrez quels états sont supportés:
user@linux:_> cat /sys/power/state
standby mem disk
root@linux:~> echo -n mem > /sys/power/state # suspend to ram
root@linux:~> echo -n disk > /sys/power/state # suspend to disk
ou via dbus:
Selon cette entrée dans le tableau de bord , l'interface ci-dessus a été supprimée. Donc, cela ne fonctionnerait plus dans Ubuntu.
Pour arrêter un système (14.04) à partir de la ligne de commande (ou d'un raccourci clavier), utilisez:
dbus-send --system --print-reply --dest="org.freedesktop.login1" /org/freedesktop/login1 org.freedesktop.login1.Manager.PowerOff boolean:true
J'ai découvert cela en jouant avec gdbus qui peut lister les interfaces disponibles:
Pour lister les services disponibles sur le bus:
dbus-send --system --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames
Pour trouver les méthodes:
gdbus introspect --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1 --recurse
depuis 15.04 systemD est le système init standard. Il faut donc utiliser une nouvelle commande:
systemctl suspend
La réponse dbus-send d'Adam Paetznick n'a pas fonctionné comme prévu pour moi sur lucid; la machine s’est réveillée non verrouillée, même si gnome-power-manager est configuré pour verrouiller l’écran au réveil. Je veux que l'écran soit verrouillé au réveil et j'ai constaté que ce qui suit fait cela:
$ gnome-screensaver-command --lock && pmi action hibernate
J'imagine que cela ne dépend pas de la configuration du gnome, mais je n'ai pas testé cela.
Nouvelle interface
… Qui fonctionne dans 15.10 Wily, et peut-être utopique et vif.
dbus-send --print-reply --system \
--dest=org.freedesktop.login1 \
/org/freedesktop/login1 \
org.freedesktop.login1.Manager.Suspend boolean:true
Heureusement, cela ne nécessite pas Sudo, contrairement à la commande pm-suspend
.
Voici comment mettre une machine distante en veille sur ssh:
ssh -t 192.168.1.4 'Sudo Nohup &>/dev/null bash -c "(sommeil 1; echo-n mem>/sys/power/state) &"' x @ Le mot de passe de 192.168.1.4: [Sudo] mot de passe pour x: La connexion à 192.168.1.4 est fermée.
/ sys/power/state fonctionne dans Ubuntu 13.10. pmi donne une erreur Dbus.
Mise à jour pour ceux qui, comme moi, travaillent toujours sur les systèmes KDE/Ubuntu 14.04. Pour verrouiller, utilisez qdbus
et pour suspendre, utilisez dbus
. Commande complète:
qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock && dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
Pour mettre en veille prolongée, c’est-à-dire suspendre sur un disque dur au lieu de la RAM, remplacez "Suspendre" à la fin de la commande par "Hibernate".
Pour verrouiller simplement l'écran sans suspension, xscreensaver-command -lock
fonctionnera, SI vous ne tapez qu'un seul trait d'union pour l'option '-lock', et uniquement si l'économiseur d'écran est en cours d'exécution. En fait pas une commande très utile. Utiliser i3lock
est plus facile, mais vous n'obtiendrez pas une boîte de dialogue de connexion soignée pour retourner au travail, comme vous le feriez lorsque vous utiliserez qdbus
.
Ce qui suit fonctionne pour moi le 16.04 (avec le bureau Gnome):
gnome-screensaver-command --lock && compsleep
Je l'ai également installé en tant que raccourci clavier personnalisé via le panneau de configuration du Gnome sous la forme de touches "Shift-Super-X".
Personnellement, j'ai expérimenté la méthode pmi. Cependant, lorsque j'ai essayé cela, j'ai reçu un message d'erreur: Error org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1
. Cependant, il existe une solution de contournement dans le ème commentaire de ce rapport de bogue , qui semble avoir fonctionné pour moi (j'utilise Ubuntu 13.03).