実装しようとしています。遅延された休止状態デバイス。私はアーチ/アンテルゴスにいます。
>>> systemctl enable suspend-to-hibernate.service
Failed to enable unit ...to-hibernate.service: Invalid argument
systemd-analyze verify ...hibernate.service
空の出力で応答します。
アーチウィキからユニットファイルを直接コピーしてSLEEPLENGTHを1時間に変更しました。この問題をどのようにデバッグできますか?より説明的なエラーメッセージを表示するようにシステムを構築するにはどうすればよいですか?
休止状態サービスの一時停止
[Unit]
Description=Delayed hibernation trigger
Documentation=https://bbs.archlinux.org/viewtopic.php?pid=1420279#p1420279
Documentation=https://wiki.archlinux.org/index.php/Power_management
Conflicts=hibernate.target hybrid-sleep.target
Before=sleep.target
StopWhenUnneeded=true
[Service]
Type=oneshot
RemainAfterExit=yes
Environment="WAKEALARM=/sys/class/rtc/rtc0/wakealarm"
Environment="SLEEPLENGTH=+1hour"
ExecStart=-/usr/bin/sh -c 'echo -n "alarm set for "; date +%%s -d$SLEEPLENGTH | tee $WAKEALARM'
ExecStop=-/usr/bin/sh -c '\
alarm=$(cat $WAKEALARM); \
now=$(date +%%s); \
if [ -z "$alarm" ] || [ "$now" -ge "$alarm" ]; then \
echo "hibernate triggered"; \
systemctl hibernate; \
else \
echo "normal wakeup"; \
fi; \
echo 0 > $WAKEALARM; \
'
[Install]
WantedBy=sleep.target
答え1
Arch Wikiページに示されているように、ファイルには/etc/systemd/system/
.systemdにユニットファイルを見つけることができ、/etc/systemd/system/
システム管理者がサービスファイルを配置する必要があるいくつかのディレクトリがあります。バラよりman systemd.unit
。
これらのディレクトリでファイルを作成または変更したら、を実行する必要があります。systemctl daemon-reload
これにより、systemdはそのディレクトリで新しいデバイスまたは変更されたデバイスを再確認します。これでのみ、新しいサービスを有効または開始できます。