systemd argumento inválido - depuração atrasada arquivo de serviço de hibernação

1

Estou tentando implementar a unidade de hibernação adiada . Estou no 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 unitário diretamente do arch wiki e alterei o SLEEPLENGTH para 1 hora. Como posso depurar o problema? Como posso fazer o systemd emitir mais mensagens de erro descritivas?

suspend-to-hibernate.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
    
por pandita 02.04.2018 / 03:39

1 resposta

2

Como indicado na página wiki do Arch, o arquivo deve estar em /etc/systemd/system/ . Existem vários diretórios onde o systemd procura por arquivos unitários, e /etc/systemd/system/ é onde o administrador do sistema deve colocar seus arquivos de serviço. Consulte man systemd.unit .

Depois de criar ou modificar um arquivo nesses diretórios, você precisa executar systemctl daemon-reload , que será systemd para verificar novamente seus diretórios para unidades novas ou modificadas. Só então você pode ativar ou iniciar um novo serviço.

    
por 02.04.2018 / 10:45