systemd 無効な引数 - 遅延休止状態サービスファイルのデバッグ

systemd 無効な引数 - 遅延休止状態サービスファイルのデバッグ

実装しようとしています。遅延された休止状態デバイス。私はアーチ/アンテルゴスにいます。

>>> 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はそのディレクトリで新しいデバイスまたは変更されたデバイスを再確認します。これでのみ、新しいサービスを有効または開始できます。

関連情報