Saya menggunakan Arch Linux dengan KDE / Awesome WM. Saya mencoba untuk mulai
notify-sendbekerja cron.
Saya telah mencoba pengaturan DISPLAY/ XAUTHORITYvariabel, dan berjalan notify-senddengan "sudo -u", semuanya tanpa hasil.
Saya dapat memanggil notify-send secara interaktif dari sesi dan mendapatkan notifikasi.
FWIW, pekerjaan cron berjalan dengan baik yang saya verifikasi dengan menggemakan hal ke file sementara. Hanya "kirim-kirim" yang gagal berfungsi.
Kode:
[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 ~]$
Seperti yang Anda lihat gema sebelum & sesudah pemberitahuan-kirim bekerja.
Saya juga telah mencoba pengaturanDISPLAY=:0.0
UPDATE: Saya mencari sedikit lebih banyak dan menemukan bahwa DBUS_SESSION_BUS_ADDRESS perlu disetel. Dan setelah hardcoding ini menggunakan nilai yang saya dapatkan dari sesi interaktif saya, pesan "halo" kecil mulai muncul di layar setiap menit!
Tetapi hasil tangkapannya adalah variabel ini tidak permanen untuk setiap pos tersebut, jadi saya akan mencoba solusi pipa yang disarankan di sana.
[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
Karena cronsepertinya tidak mendukung notify-send (setidaknya tidak secara langsung) apakah ada beberapa sistem notifikasi lain yang lebih cronramah yang dapat saya gunakan?
&>>/tmp/crontestke baris kirim pemberitahuan dan lihat apakahnotify-sendada pesan kesalahan.