Estou tentando implementar a unidade de hibernação atrasada . Estou em arco/antergos.
>>> systemctl enable suspend-to-hibernate.service
Failed to enable unit ...to-hibernate.service: Invalid argument
systemd-analyze verify ...hibernate.service
responde com uma saída vazia.
Copiei o arquivo da unidade direto do arch wiki e mudei SLEEPLENGTH para 1 hora. Como posso depurar o problema? Como posso fazer com que o systemd emita mensagens de erro mais descritivas?
suspender para hibernar.service
[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
Conforme fornecido na página wiki do Arch, o arquivo deve estar no formato
/etc/systemd/system/
. Existem vários diretórios onde o systemd procura por arquivos de unidade e/etc/systemd/system/
é onde um administrador de sistema deve colocar seus arquivos de serviço. Vejaman systemd.unit
.Depois de criar ou modificar um arquivo nesses diretórios, você deve executar
systemctl daemon-reload
, que faz com que o systemd verifique novamente seus diretórios em busca de unidades novas ou modificadas. Só então você pode habilitar ou iniciar um novo serviço.