Я використовую Arch Linux з KDE / Awesome WM. Я намагаюся взяти
notify-send
на роботу cron
.
Я спробував налаштування DISPLAY
/ XAUTHORITY
змінні та працює notify-send
з "sudo -u", і все без результату.
Я можу зателефонувати сповіщенням-надіслати інтерактивно з сеансу та отримувати сповіщення.
FWIW, робота cron працює нормально, що я перевірив, повторивши матеріали до тимчасового файлу. Просто "сповістити-надіслати" не працює.
Код:
[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 ~]$
Як ви бачите відлуння до і після відправлення сповіщень.
Також я спробував налаштуванняDISPLAY=:0.0
ОНОВЛЕННЯ: Я трохи більше шукав і виявив, що DBUS_SESSION_BUS_ADDRESS потрібно встановити. І після жорсткого кодування цього значення за допомогою значення, яке я отримав під час свого інтерактивного сеансу, крихітне маленьке повідомлення "привіт" почало спливати на екран щохвилини!
Але уловлювач полягає в тому, що ця змінна не є постійною для цієї посади, тому я спробую запропонований там проект, який пропонується.
[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
Оскільки, cron
здається, не підтримується сповіщення-відправлення (принаймні, безпосередньо), чи є якась інша система сповіщень, яка є більш cron
дружньою, яку я можу використовувати?
&>>/tmp/crontest
до рядка надсилання сповіщень і не подивитесь, чиnotify-send
дає повідомлення про помилки