J'ai trouvé deux versions de travail pour suspendre correctement mon ordinateur portable en RAM.
$ dbus-send --system --print-reply \
--dest=org.freedesktop.login1 /org/freedesktop/login1 \
"org.freedesktop.login1.Manager.Suspend" boolean:true
et
$ systemctl suspend
Lequel des éléments ci-dessus est celui à utiliser et quelle est la différence entre ceux-ci?
Autant que je sache, la commande correcte est systemctl suspend
ou hibernate
car cette commande utilise Systemd et est privilégiée depuis 16.04.
Lien vers une question similaire antérieure. Dans la section commentaires/réponses, on dit que l'ancienne méthode dbus (qui est votre premier exemple de commande) est supposée être déconseillée.
Dans les systèmes antérieurs à 15.04, vous utilisez uniquement l’approche dbus. Sur Ubuntu 15.04 et les versions plus récentes, vous utilisez les deux, car Ubuntu a démarré systemd init system. Les deux sont appropriés, ils utilisent simplement des programmes différents pour obtenir le même résultat.
La différence est que systemd est un système init, il contrôle le démarrage d’autres processus au démarrage. Le système de communication dbus isterprocess est particulièrement utile dans le bureau pour permettre aux utilisateurs d'effectuer certaines tâches sans avoir besoin d'un accès root
Vous pouvez utiliser qdbus, si disponible. Cette commande peut être utile lorsque le bouton Kickstart/menu de KDE ne fonctionne pas (vous cliquez sur le bouton de menu ou appuyez sur Alt + F1 mais le menu ne s'ouvre pas), ce qui signifie que vous ne pouvez pas vous déconnecter ou être en veille prolongée.
Les commandes suivantes devraient fonctionner avec KDE 5 (Plasma).
Hibernate via la ligne de commande:
qdbus org.kde.Solid.PowerManagement /org/freedesktop/PowerManagement CanHibernate && qdbus org.kde.Solid.PowerManagement /org/freedesktop/PowerManagement Hibernate
Suspendre via la ligne de commande:
qdbus org.kde.Solid.PowerManagement /org/freedesktop/PowerManagement CanSuspend && qdbus org.kde.Solid.PowerManagement /org/freedesktop/PowerManagement Suspend
Afficher l'écran de déconnexion via la ligne de commande:
qdbus org.kde.ksmserver /KSMServer logout 1 3 3