Como posso fazer um systemd - timer do usuário ficar ativado após a reinicialização?

0

O sistema é: Ubuntu 16.04.

~/.config/systemd/user/mpd.timer

[Unit]
Description=mpd timer

[Timer]
OnCalendar=minutely
Persistent=true

[Install]
WantedBy=default.target

~/.config/systemd/user/mpd.service

[Unit]
Description=mpd

[Service]
ExecStart=/home/redacted/temp/mpd-service/mpd.sh
Type=oneshot

Ran: systemctl --user start mpd.timer , o serviço é executado com sucesso e está listado em systemctl --user list-timers .

Ran: systemctl --user enable mpd.timer , que criou um symlink em ~/.config/systemd/user/default.target.wants .

Após a reinicialização systemctl --user enable mpd.timer mostra vazio. Também tentei com timers.target para WantedBy de mpd.timer . O resultado foi o mesmo.

Ran: systemctl --user --type=target --all , mostra default.target e timers.target carregado e ativo.

Tentei: systemctl --user daemon-reload .

Tentei: sudo loginctl enable-linger redacted . Ran: loginctl show-user redacted . Mostra: Linger=yes . O resultado foi o mesmo.

Eu pesquisei problemas semelhantes, mas não consegui encontrar mais nada para tentar.

    
por linden2015 20.03.2018 / 20:09

1 resposta

0

Eu acho que pode não haver nada errado com sua configuração, apenas um mal-entendido sobre como o systemd funciona. Se você habilitar uma unidade duas vezes, o systemctl não mostrará mais a saída na segunda vez, já que ela já criou o symlink, ele não irá avisar que já está habilitado

Você pode verificar se o timer está ativado e foi iniciado e está sendo executado com systemctl --user status mpd.timer .

A primeira linha imprime o nome e a descrição, a segunda linha (aquela que começa com Loaded: ) informa a localização do arquivo e, se estiver ativada, e a terceira linha ( Active: ) informa se está ativo (em execução) e desde quando. Ele também deve informar se houve erros ou falhas.

Cf. link

Atualização: Desculpe, eu estava errado sobre demora.

    
por 09.04.2018 / 05:47