crontab + notificar-enviar + Ubuntu 16.04 [duplicado]

2

No meu Ubuntu 16.04, sistema operacional de 64 bits, eu tentei o seguinte

* * * * * export DISPLAY=:0.0 && notify-send Hey "How are you"

e

* * * * * export DISPLAY=:0.0 && /usr/bin/notify-send Hey "How are you"

Mas, infelizmente, não está funcionando.

Eu encontrei em outros tópicos que o comando acima funciona.

Como executá-lo na minha máquina?

O comando notify-send Hey "How are you" funciona no terminal.

Além disso, o comando * * * * * echo "trying to notify at $(date)" >> /home/user/Desktop/test.txt funciona bem no arquivo crontab

A saída de $ echo $DISPLAY é :0

também

$ who -u
cosmicraga   tty7         2016-11-07 06:45 06:12        2524 (:0)
cosmicraga   pts/1        2016-11-07 12:54   .          6333 (:0)
cosmicraga   pts/17       2016-11-07 12:50 00:02        6333 (:0)
    
por cosmicraga 07.11.2016 / 08:00

1 resposta

2

Crie o arquivo notify.sh no diretório inicial.

#!/usr/bin/env bash

username=$(/usr/bin/whoami)
pid=$(pgrep -u $username nautilus)
dbus=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$pid/environ | sed 's/DBUS_SESSION_BUS_ADDRESS=//' )
export DBUS_SESSION_BUS_ADDRESS=$dbus

/usr/bin/notify-send "How are you"

No crontab :

* * * * *  DISPLAY=0:0 /bin/sh /home/YOURUSERNAME/notify.sh
    
por SkillFull 04.03.2017 / 11:27