Pour les distributions Linux utilisant SystemD, existe-t-il une différence pratique entre ces deux commandes?
systemctl suspend
pm-suspend
Que dois-je utiliser ou préférer?
En bref, vous devez généralement préférer le mode de suspension intégré par votre distribution. Pour la distribution que Système de navire, c'est typiquement systemctl suspend
.
Par exemple, le Arch Linux Wiki dit :
systemD fournit des commandes natales pour la suspension, l'hibernate et une suspension hybride, voir "Gestion de l'alimentation avec SystemD" pour plus de détails. Il s'agit de l'interface par défaut utilisée en Arch Linux.
Et pour Debian Jessie :
Avec SystemD,
pm-utils
et ses crochets ne sont plus utilisés, il y a plutôtsystemd-suspend
.
La raison pour laquelle vous voulez coller avec ce que votre distribution utilise est que leurs paquets qui se soucient de suspendre/reprise expédieront des scripts de crochet qui s'intègrent à l'une des pm-utils
(/usr/lib/pm-utils/sleep.d
) ou systemd
(/usr/lib/systemd/system-sleep/
), vous devez donc utiliser la même interface pour que tous les crochets appropriés fonctionnent comme prévu.
En outre, les distributions vont généralement accrocher la méthode de suspension/hibernation appropriée dans ACPI pour des événements matériels, des environnements de bureau (pour les boutons d'arrêt qui permettent une suspension/hibernate) et avec des épargnants/serrures à écran, etc.
Les deux pm-suspend
et systemd-suspend
_ utilisent généralement les mêmes interfaces à en réalité Placez l'ordinateur pour dormir.
Par défaut à l'utilisation du pilote de suspension du noyau (en écrivant à /sys/power/state
) et les deux supports de suspension externe (tels que uswsusp
, voir ici Pour plus de détails sur Comment l'accrocher à SystemD.)
Ils soutiennent tous les deux des fichiers de configuration et des scripts de crochet appelés dans le processus de suspension ou de reprise, la principale différence étant l'emplacement des fichiers (l'API des crochets est très similaire):
pm-utils
lit sa configuration à partir de fichiers dans /etc/pm/config.d
et exécute des crochets des deux annuaires /etc/pm/sleep.d
et /usr/lib/pm-utils/sleep.d
répertoires.systemd-suspend
lit sa configuration à partir du fichier /etc/systemd/sleep.conf
(ou des fichiers dans un répertoire sleep.conf.d
) et exécute des crochets à partir de /usr/lib/systemd/system-sleep/
.Donc, à partir de ce point de vue, les deux ont l'air très similaire ...
Mais SystemD va plus loin dans son soutien pour suspendre/hibernation/CV, depuis:
systemctl suspend
est toujours une option.) Déclencher la suspension de la D-Bus plutôt. que en exécutant une commande est généralement utile à partir d'un environnement de bureau.Donc même si les deux pm-utils
_ et systemd-suspend
obtiennent la suspension réelle du système dans de la même manière, l'intégration avec les autres composants du système le rend afin que cela compte lequel est important Appelé ... et sur les distributions d'expédition SystemD, puis systemctl suspend
est typiquement la bonne à appeler.