Question Comment puis-je suspendre / hiberner à partir de la ligne de commande?


Comment puis-je suspendre ou mettre en veille mon ordinateur portable en utilisant la ligne de commande, sans installer de logiciel supplémentaire?


310
2017-08-09 20:24


origine


Pour Ubuntu 16.04, voir cette question: askubuntu.com/questions/777178/suspend-command-in-ubuntu-16-04 et sa réponse systemctl suspend - CJlano


Réponses:


Traditionnellement, Ubuntu supportait une méthode assez directe de suspension et d'hibernation. Ni s'intègrent bien avec d'autres applications et parfois même ne fonctionnent pas sur certaines machines. La nouvelle méthode ne nécessite pas root et avertit toutes les applications à l'écoute des événements d'alimentation.

Méthode Systemd

À partir d'Ubuntu 16.04, systemctl l'appel doit être utilisé (voir Suspendre la commande dans Ubuntu 16.04)

systemctl suspend

et

systemctl hibernate

Nouvelle méthode

Voir la réponse ici sur cette page d'Adam Paetznick concernant l'utilisation de dbus. Idéalement, vous créeriez un ~/bin/suspend raccourci / script qui facilite l'utilisation de cette action.

Pour une utilisation sur ssh, vous devriez modifier les règles du policykit telles que décrites par Peter V. Mørch

Ancienne méthode

Selon le Forum Ubuntu vous pouvez utiliser les commandes suivantes:

pmi action suspend

et

pmi action hibernate

Cela nécessite que vous installiez le package powermanagement-interface (non testé).

sudo apt-get install powermanagement-interface

J'ai aussi trouvé les commandes sudo pm-suspend et sudo pm-hibernate travailler sur mon netbook.


260
2017-08-09 20:32



pm-suspend et pm-hibernate fonctionne pour moi et c'est facile. Nécessite sudo mais ça va. (L'idée de pmi trouvée avant mais l'installation d'un paquet pour utiliser la suspension est bien mauvaise ...) - user1034
Notez que vous devez apt-get install powermanagement-interface pour courir pmi - nealmcb
Le 11.10 seulement, pm- * fonctionne, même avec powermanagament-interface ajouté - Omegafil
ne fonctionne pas avec mon ubuntu 12.10. après apt-get install powermanagement-interface - somethis
nouvelle méthode est maintenant cassé voir unix.stackexchange.com/questions/153099/… - ijk


La manière la plus simple consiste à utiliser dbus.

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

Il y a deux avantages à cette commande sur pm-suspend.

  1. Il verrouille votre écran (lors de la reprise) si vous avez sélectionné cette option dans gnome.

  2. Il ne nécessite pas de privilège root, il est donc facile de l’ajouter en tant que raccourci clavier, par exemple.

Comme mentionné dans les commentaires échangeant le Suspend dans la dernière ligne à Hibernate crée une commande hibernate:

dbus-send --system --print-reply \
    --dest="org.freedesktop.UPower" \
    /org/freedesktop/UPower \
    org.freedesktop.UPower.Hibernate

Si l'hibernation lance Error org.freedesktop.UPower.GeneralError: not authorized votre utilisateur pourrait ne pas être autorisé à hiberner. Modifier ou créer /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla il contient donc la section suivante: (la source)

[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

Cela a été testé sur UbuntuGnome 14.04.

Note: Ceci est fondamentalement la même que la réponse de qbi, mais mise à jour pour fonctionner avec les nouvelles versions d'Ubuntu, y compris la mise en veille prolongée.


185
2018-05-03 20:40



Votre réponse devrait être la première. C'est la manière non-root de le faire. Comme! - turbo
À Hibernate, vous pouvez simplement remplacer la dernière ligne par org.freedesktop.UPower.Hibernate - Sheharyar
sur mon 13.10 ça marche. Cependant, l'écran est ne pas verrouillé lors de la reprise, même si dans "Sécurité et confidentialité", "Exiger mon mot de passe lorsque je quitte Suspend" est activé. - andreas-h
N'a pas fonctionné pour moi (Gnome 3.12, Ubuntu 14.04). Semble que l'interface [UPower.Suspend] a été supprimée, selon bugs.launchpad.net/ubuntu/+source/gnome-power-manager/+bug/… - Gui Ambros
L'interface de suspension a été déplacée vers la fermeture de session; askubuntu.com/questions/652978 - Khurshid Alam


Anglais

Si vous voulez que votre ordinateur soit suspendu en une heure parce que vous voulez aller au lit en écoutant votre station de radio préférée, ouvrez le terminal et tapez:

sudo bash -c "sleep 1h; pm-suspend"

et votre ordinateur va s'endormir dans 1 heure. Lorsque vous vous réveillez, vos images ouvertes et toutes vos affaires auront été conservées.

Vous pouvez remplacer 1h par ce que tu veux: h Pendant des heures, m pendant des minutes, s pendant des secondes, d pendant des jours.

Bonne nuit!

English

Si vous voulez juste que votre ordinateur se mette en veille dans une heure parce que vous voulez vous endormir en écoutant votre radio préférée, ouvrez Terminal et répondez:

sudo bash -c "sleep 1h; pm-suspend"

et votre ordinateur s'endormira dans une heure. Quand vous réveillerez, il aura gardé en mémoire vos applications ouvertes.

Vous pouvez remplacer 1h par ce que vous voulez: h pour les heures, m pour les minutes, s pour les secondes, d pour les jours.

Bonne nuit!

Español

Si quieres suspender tu computadora dans une heure de départ dans une chambre avec radio-réveil, tan solo abre el terminal y escribe:

sudo bash -c "sleep 1h; pm-suspend"

y tu computadora se quedará dormida en 1 hora. Cuando despiertes, allí habrán quedado abiertas tus imágenes y todas tus cosas.

Puedes reemplazar 1h por lo que desees: h para horas, m para minutos, s para segundos, d para días.

Bonne nuit!


52
2018-01-18 08:31



Solution parfaite et facile! - wakeup
C'est mon cas d'utilisation que je cherche! AFIK pm- * peut être exécuté sans les autorisations de superutilisateur - ruX
meilleure réponse, simple, élégant, pas d'installation de paquets supplémentaires - Louis


Pour Ubuntu 12.04 LTS  et Ubuntu 13.04

Pour obtenir l'hibernation:

sudo pm-hibernate

Pour suspendre:

sudo pm-suspend

30
2017-09-14 13:45



"sudo pm-suspend" ne fonctionne pas sur mint 13 mate :( - rsjethani
Oui, je pense que ce paquet n'a pas été installé. Recherchez ces paquets dans synaptic. - Ten-Coin
le paquet est installé, je pense que «mate-power-manager» interfère avec lui. - rsjethani
L'inconvénient de cette méthode est que si vous utilisez l'interface graphique, pm-suspend ne bloquera PAS votre session, ce qui peut être non sécurisé. - Raúl Salinas-Monteagudo
Cela fonctionne aussi sur Ubuntu 15.10. - Searene


Vous pouvez utiliser le fichier /sys/power/state pour faire ça. D'abord, découvrez quels sont les états pris en charge:

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:

    # Suspendre     dbus-send --session --dest = org.gnome.PowerManager \       --type = method_call --print-reply --reply-timeout = 2000 \       / org / gnome / PowerManager org.gnome.PowerManager.Suspend     #Hiberner     dbus-send --session --dest = org.gnome.PowerManager \       --type = method_call --print-reply --reply-timeout = 2000 \       / org / gnome / PowerManager org.gnome.PowerManager.Hibernate

Selon ce entrée dans le tableau de bord l'interface ci-dessus a été supprimée. Donc ça ne marcherait plus dans Ubuntu.


22
2017-08-09 20:35



La première idée me donne: "bash: echo: erreur d'écriture: argument invalide": l'idée de Dbus donne une sortie: "Error org.freedesktop.DBus.Error.UnknownMethod: méthode" Suspend "avec signature" "sur l'interface" org.gnome.PowerManager " n'existe pas " - user1034
J'ai ajouté une petite explication à la /sys/power/state-chose. De plus, la méthode dbus a été retirée d'Ubuntu pour ne plus fonctionner. - qbi
$ sudo echo -n mem > /sys/power/state - bash: /sys/power/state: Permission denied - Hubro
Cela fonctionne très bien. Pour les personnes ayant des problèmes avec cette méthode lors de l'utilisation de sudo, le "pipe to file", aka ">" s'exécute dans votre shell actuel, donc il n'obtient pas de privilèges super utilisateur pendant que votre écho l'a fait. Vous devrez utiliser sudo -i d'abord, ou pipe to sudo tee ainsi: echo mem | sudo tee /sys/power/state - RandomInsano


Pour arrêter un système (14.04) à partir de la ligne de commande (ou du 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

11
2017-08-07 15:08





La réponse dbus-send d'Adam Paetznick ne fonctionnait pas comme je le pensais sur lucide; la machine s'est réveillée déverrouillée, même si le 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 de gnome, mais je n'ai pas testé cela.


8
2018-05-15 16:07



Agréable. Ou xscreensaver-command --lock selon le cas. - phyzome


depuis 15.04 systemD est le système d'initialisation standard, il y a donc une nouvelle commande à utiliser:

systemctl suspend

8
2017-11-27 13:36



J'utilise Xubuntu 15.04. La commande systemctl suspend ne suspend pas l'ordinateur, mais cela ne bloque pas l'écran, même si j'ai coché la case "Verrouiller l'écran lorsque le système est en veille" dans Paramètres -> Power Manager -> Sécurité. Quelqu'un a une idée pourquoi? - Teemu Leisti
Je suis passé à Xubuntu 16.04. La commande systemctl suspend suspend toujours l'ordinateur. Désormais, l'écran est également verrouillé si et seulement si la case "Verrouiller l'écran lorsque le système est en veille" dans Paramètres -> Power Manager -> Sécurité est cochée. - Teemu Leisti


Nouvelle interface

… Qui fonctionne dans 15.10 Wily, et peut-être Utopic and Vivid.

dbus-send --print-reply --system                         \
    --dest=org.freedesktop.login1                        \
    /org/freedesktop/login1                              \
    org.freedesktop.login1.Manager.Suspend boolean:true

Utilement, cela ne nécessite pas sudo, contrairement à la pm-suspend commander.


2
2017-11-18 18:09



Mon XPS 13 9350 avec Debian / Gnome était avec des problèmes de suspension / hibernation lors de la fermeture du couvercle. Après avoir exécuté cette commande (et l'équivalent de l'hibernation), elle est passée avec succès en suspension (et en veille prolongée) et maintenant la fermeture et l'ouverture du couvercle fonctionnent comme prévu! - Victor Schröder


Voici comment mettre une machine distante en veille sur ssh:

ssh -t 192.168.1.4 'sudo nohup &> / dev / null bash -c "(veille 1; echo -n mem> / sys / power / state) &"'
Mot de passe de x@192.168.1.4:
[sudo] mot de passe pour x:
Connexion à 192.168.1.4 fermée.

/ sys / power / state fonctionne dans Ubuntu 13.10. pmi donne une erreur Dbus.


1
2017-12-27 05:09





Personnellement, j'ai expérimenté la méthode pmi. Cependant, lorsque j'ai essayé ceci, 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 3ème commentaire de ce rapport de bogue, qui semble avoir fonctionné pour moi (j'utilise Ubuntu 13.03).


0
2017-08-31 05:11



Bien que cela puisse théoriquement répondre à la question, ce serait préférable inclure les parties essentielles de la réponse ici, et fournir le lien pour référence. - fossfreedom♦