Saya menggunakan Arch Linux dengan KDE / Awesome WM. Saya mencoba untuk mulai
notify-send
bekerja cron
.
Saya telah mencoba pengaturan DISPLAY
/ XAUTHORITY
variabel, dan berjalan notify-send
dengan "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 cron
sepertinya tidak mendukung notify-send (setidaknya tidak secara langsung) apakah ada beberapa sistem notifikasi lain yang lebih cron
ramah yang dapat saya gunakan?
&>>/tmp/crontest
ke baris kirim pemberitahuan dan lihat apakahnotify-send
ada pesan kesalahan.