No meu Kubuntu 22.04, um script executado pelo meu crontab usa notify-send
. No entanto, não funciona: não aparece nenhum pop-up. Se eu redirecionar a saída ( stderr
em particular) do script para um arquivo, este erro é impresso:
Error calling StartServiceByName for org.freedesktop.Notifications: Timeout was reached
Se, em vez disso, eu executar notify-send
diretamente de um cronjob,
0 * * * * env DISPLAY=:0.0 notify-send --expire-time=0 --app-name="Test" 'Test text' 1>/tmp/out1 2>/tmp/out2
out1
e out2
estão vazios; no entanto, isso não funciona como antes. O pop-up não aparece.
Existe uma maneira de fazer notify-send
o trabalho como esperado?
Acho que, para
notify-send
trabalhar em um trabalho cron, você deve copiar a variável de ambienteDBUS_SESSION_BUS_ADDRESS
de sua sessão atual da área de trabalho e defini-la no trabalho cron. Além disso,notify-send
deve ser executado como o mesmo usuário que está conectado à sessão da área de trabalho.Pelo menos isso funciona para mim.