Systemctlマンページから:
サスペンド
システムを一時停止します。これにより、特別なターゲットユニットのsuspend.targetのアクティブ化がトリガーされます。このコマンドは非同期であり、サスペンド操作が正常にキューに入れられた後に戻ります。一時停止/再開サイクルが完了するのを待ちません。
私のシステムでは、_suspend.target
_は次のようになります。
_[Unit]
Description=Suspend
Documentation=man:systemd.special(7)
DefaultDependencies=no
Requires=systemd-suspend.service
After=systemd-suspend.service
StopWhenUnneeded=yes
_
そこにリストされているman:systemd.special(7)
を見ると、次のことがわかります。
suspend.targetシステムを一時停止するための特別なターゲットユニット。これにより、sleep.targetが取り込まれます。
_systemd-suspend.service
_をさらに掘り下げると、次のようになります。
systemd-suspend.serviceは、suspend.targetによってプルされ、実際のシステムの中断を担当するシステムサービスです。
...
内部的には、このサービスは「mem」のような文字列を/ sys/power/stateにエコーし、実際のシステムの一時停止をトリガーします。 /etc/systemd/sleep.confまたはsleep.conf.dファイルの「[Sleep]」セクションで構成できる場所を正確に記述します。
_sleep.conf
_のドキュメントは私に伝えています:
デフォルトの構成はコンパイル時に定義されるため、構成ファイルは、それらのデフォルトから逸脱する必要がある場合にのみ必要です。
私のシステムには_sleep.conf
_がないため、コンパイルされたデフォルトを使用する必要があります。私はそれらが何であるか理解できません。
デフォルトで_/sys/power/state
_によって_systemctl suspend
_および友達に送信される正確なコマンドは何ですか?
デフォルトは "mem", "standby", "freeze"
です(最後の2つとスリープモードを構成する機能は 2013年に追加されました なので、古いセットアップでは使用できない場合があります)。
引用したマニュアルページには、その方法、つまりsystemd-suspend.service
の記述方法が記載されています
...
"mem"
のような文字列を/sys/power/state
に挿入して、実際のシステムの一時停止をトリガーします。
スリープ状態と、それらの状態を制御するためにユーザー空間で使用できるsysfs
インターフェイスの詳細については、公式ドキュメントを参照してください。 System Sleep States