Tôi đang sử dụng Arch Linux với KDE / Awesome WM. Tôi đang cố gắng
notify-send
để làm việc với cron
.
Tôi đã thử cài đặt DISPLAY
/ XAUTHORITY
biến và chạy notify-send
với "sudo -u", tất cả đều không có kết quả.
Tôi có thể gọi thông báo-gửi tương tác từ phiên và nhận thông báo.
FWIW, công việc định kỳ đang chạy tốt mà tôi đã xác minh bằng cách lặp lại nội dung vào một tệp tạm thời. Nó chỉ là "thông báo gửi" không hoạt động.
Mã số:
[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 ~]$
Như bạn có thể thấy tiếng vang trước & sau khi thông báo-gửi làm việc.
Ngoài ra tôi đã thử cài đặtDISPLAY=:0.0
CẬP NHẬT: Tôi đã tìm kiếm thêm một chút và thấy rằng DBUS_SESSION_BUS_ADDRESS cần được đặt. Và sau khi mã hóa điều này bằng cách sử dụng giá trị tôi nhận được từ phiên tương tác của mình, thông báo "xin chào" nhỏ bé bắt đầu xuất hiện trên màn hình mỗi phút!
Nhưng điều đáng chú ý là biến này không phải là vĩnh viễn trên mỗi bài đăng đó, vì vậy tôi sẽ thử giải pháp đường ống có tên được đề xuất ở đó.
[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
Vì cron
dường như không hỗ trợ gửi thông báo (ít nhất là không trực tiếp), có một số hệ thống thông báo khác cron
thân thiện hơn mà tôi có thể sử dụng không?
&>>/tmp/crontest
dòng gửi thông báo và xem nếunotify-send
đưa ra bất kỳ thông báo lỗi nào.