web-dev-qa-db-fra.com

Comment suspendre correctement via une commande

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?

6
cytopia

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.

3
FrostedCookies

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

1
Sergiy Kolodyazhnyy

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
0
basic6