O serviço Systemd não está funcionando

0

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.

    
por Jose 31.08.2017 / 13:23

1 resposta

1

O problema é que eu não estava rodando com systemctl --user start <unit> , eu estava usando apenas systemctl start <unit> . O script bash se baseia em material do KDE específico do usuário, portanto, executar o script com sudo não funcionou, que é o modo padrão para serviços.

    
por 31.08.2017 / 14:14