回答:
要するに、あなたは一般的にあなたのディストリビューションによって統合されたサスペンドモードを好むべきです。systemdを出荷するディストリビューションの場合、通常はsystemctl suspend
です。
たとえば、Arch Linux wikiはこう言っています:
systemdは、サスペンド、ハイバネート、およびハイブリッドサスペンドのためのネイティブコマンドを提供します。詳細については、「systemdによる電源管理」を参照してください。これはArch Linuxで使用されるデフォルトのインターフェースです。
systemdでは
pm-utils
、フックは使用されなくなり、代わりにが使用されますsystemd-suspend
。
ディストリビューションが使用するものにこだわる理由は、サスペンド/レジュームを考慮したパッケージがpm-utils
(/usr/lib/pm-utils/sleep.d
)またはsystemd
(/usr/lib/systemd/system-sleep/
)と統合するフックスクリプトを出荷するため、すべての適切な機能を実現するために同じインターフェイスを使用する必要があるためですフックは期待どおりに実行されます。
さらに、ディストリビューションは通常、適切なサスペンド/ハイバネートメソッドをACPIにフックして、ハードウェアイベント、デスクトップ環境(サスペンド/ハイバネートが可能なシャットダウンボタン用)、スクリーンセーバー/ロックなどを備えています。
両方ともpm-suspend
、systemd-suspend
通常は同じインターフェイスを使用して、実際にコンピューターをスリープ状態にします。
どちらもデフォルトで(への書き込みにより/sys/power/state
)カーネルのサスペンドドライバーを使用し、どちらも外部のサスペンドドライバーをサポートします(などuswsusp
、systemdにフックする方法の詳細については、こちらを参照してください)。
どちらも、一時停止または再開のプロセスで呼び出される構成ファイルとフックスクリプトをサポートしています。主な違いは、ファイルの場所です(フックのAPIは非常に似ています)。
pm-utils
内のファイルから構成を読み取り、とディレクトリの/etc/pm/config.d
両方からフックを実行します。/etc/pm/sleep.d
/usr/lib/pm-utils/sleep.d
systemd-suspend
/etc/systemd/sleep.conf
ファイル(またはsleep.conf.d
ディレクトリ内のファイル)から構成を読み取り、からフックを実行し/usr/lib/systemd/system-sleep/
ます。したがって、その観点から見ると、どちらも非常によく似ています...
しかし、systemdは、suspend / hibernate / resumeのサポートをさらに進めています。
systemctl suspend
はもちろんオプションです)。コマンドを実行するのではなく、D-Busを介して中断をトリガーするのは通常、デスクトップ環境から役立ちます。だから、両方のにもかかわらず、pm-utils
そしてsystemd-suspend
実際の達成は同じ方法についてシステムの中断、システムの他のコンポーネントとの統合は、それが1と呼ばれる重要なように、それを作る...とにsystemdを出荷ディストリビューションでは、systemctl suspend
一般的です右の1つを呼び出す。
pm-utils
デフォルトではインストールされておらずsystemctl
、に依存しているようですが、中に/usr/lib/pm-utils/sleep.d/
は何かがあり、/usr/lib/systemd/system-sleep/
存在しません。しかし、私は/lib/systemd/system-sleep/
との下/snap/
にさらにいくつかを表示します。それらのすべてに1つまたは2つのファイルが含まれています。