Eu estou tentando fazer um serviço que me envia uma notificação a cada 60 minutos, eu fiz um script bash que faz isso chamado hourly.sh
, eu sei que funciona porque eu posso executá-lo muito bem com ./hourly.sh
, então Eu tentei fazer um timer
para executar este script a cada 60 minutos, mas por alguma razão desconhecida para mim, não está funcionando. Comecei com systemctl start hourlynotif.timer
Aqui está o meu código:
hourlynotif.service
:
[Unit]
Description=Hourly notifier with notify-send
[Service]
Type=oneshot
ExecStart=/etc/systemd/system/hourly.sh
[Install]
WantedBy=multi-user.target
apenas uma nota: adicionei a linha [Install]
para tentar executá-la como um serviço sem o temporizador (porque, se for para executar como temporizador, não precisa do rótulo [Install]), apenas para testá-lo , mas nada mudou
e hourlynotif.timer
:
[Unit]
Description=Hourly notifier with notify-send
[Timer]
#OnCalendar=hourly
OnActiveSec=1
[Install]
WantedBy=timers.target
Eu sei que o temporizador está funcionando como esperado porque systemctl list-timers --all
lista meu timer como 'passado', aqui está a saída: (não é por hora porque eu o editei para rodar 1s depois de iniciado para teste)
NEXT LEFT LAST PASSED UNIT ACTIVATES
n/a n/a Thu 2017-08-31 05:21:54 CST 6s ago hourlynotif.timer hourlynotif.service
alguma ideia?
Editar: o script bash se baseia em notify-send, que depende do widget de notificação do KDE para ser exibido. Se eu sudo o script, ele não aciona a notificação, então acredito que preciso executar o script com o usuário em que estou logado.