Estoy usando Arch Linux con KDE / Awesome WM. Estoy tratando de ponerme
notify-send
a trabajar cron
.
He intentado establecer DISPLAY
/ XAUTHORITY
variables y ejecutar notify-send
con "sudo -u", todo sin resultado.
Puedo llamar a notificar-enviar interactivamente desde la sesión y recibir notificaciones.
FWIW, el trabajo cron está funcionando bien, lo cual verifiqué haciendo eco de cosas en un archivo temporal. Es solo el "notificar-enviar" que no funciona.
Código:
[matrix@morpheus ~]$ crontab -l
* * * * * /home/matrix/scripts/notify.sh
[matrix@morpheus ~]$ cat /home/matrix/scripts/notify.sh
#!/bin/bash
export DISPLAY=127.0.0.1:0.0
export XAUTHORITY=/home/matrix/.Xauthority
echo "testing cron" >/tmp/crontest
sudo -u matrix /usr/bin/notify-send "hello"
echo "now tested notify-send" >>/tmp/crontest
[matrix@morpheus ~]$ cat /tmp/crontest
testing cron
now tested notify-send
[matrix@morpheus ~]$
Como puede ver, el eco antes y después de notificar-enviar funcionó.
También he intentado configurarDISPLAY=:0.0
ACTUALIZACIÓN: Busqué un poco más y descubrí que DBUS_SESSION_BUS_ADDRESS debe establecerse. ¡Y después de codificar esto usando el valor que obtuve de mi sesión interactiva, el pequeño mensaje de "hola" comenzó a aparecer en la pantalla cada minuto!
Pero el problema es que esta variable no es permanente por esa publicación, por lo que tendré que probar la solución de tubería con nombre sugerida allí.
[matrix@morpheus ~]$ cat scripts/notify.sh
#!/bin/bash
export DISPLAY=127.0.0.1:0.0
export XAUTHORITY=/home/matrix/.Xauthority
export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-BouFPQKgqg,guid=64b483d7678f2196e780849752e67d3c
echo "testing cron" >/tmp/crontest
/usr/bin/notify-send "hello"
echo "now tested notify-send" >>/tmp/crontest
Dado cron
que no parece admitir notificación-envío (al menos no directamente), ¿hay algún otro sistema de notificación que sea más cron
amigable que pueda usar?
&>>/tmp/crontest
a la línea de envío de notificaciones y ve sinotify-send
da algún mensaje de error?