Thông báo không hoạt động trên các trình quản lý cửa sổ độc lập của Linux (Openbox, Awesome WM và tương tự). Tôi đã cố gắng cài đặt thông báo-daemon và dunst, nhưng gửi bằng notify-send "something"
không làm cho bất kỳ cửa sổ nào bật lên.
Tôi đã cố chạy polkit-gnome-agent và chạy trực tiếp thông báo trình nền, nhưng nó không giúp được gì (trong khi trước đây tôi đã giải quyết vấn đề tương tự theo cách này, nhưng bây giờ nó không làm gì cả).
Không có bất kỳ dấu hiệu lỗi nào trừ khi tôi gửi thông báo tầm thường với python, sau đó tôi chỉ nhận được thông báo lỗi mơ hồ: File "/usr/lib/python3.3/site-packages/gi/types.py", line 113, in function
return info.invoke(*args, **kwargs)
gi._glib.GError: Could not connect: Connection refused
Chương trình C tầm thường
không đưa ra kết quả gì (ví dụ không có lỗi).
Tôi đang sử dụng Archlinux với systemd và d-bus, tôi nghi ngờ đó là sự cố với polkit hoặc một loại daemon nào đó không chạy trên trình quản lý cửa sổ, nhưng không biết, tôi có thể thử gì hoặc làm cách nào tôi có thể nhận được nhiều thông báo lỗi có ý nghĩa hơn.
EDIT: Tôi đã lấy mã mẫu từ đó: https://wiki.archlinux.org/index.php/Libnotify#Python
Dbus nên được chạy vì systemd có nó là phụ thuộc. Tôi đã libnotify
cài đặt - đó là gói cung cấp notify-send
. Ngoài ra, daemon thông báo sẽ bắt đầu khi cần thiết (chỉ khi thông báo tăng tốc), bằng cách làm theo tệp trên màn hình /usr/share/dbus-1/services/org.freedesktop.Notifications.service
:
[D-BUS Service]
Name=org.freedesktop.Notifications
Exec=/usr/bin/dunst
Tôi thậm chí đã cố gắng chạy daemon trực tiếp (chỉ thực hiện) và thử gửi thông báo. Nếu somenone biết làm thế nào tôi có thể giúp tôi biết thêm thông tin, xin đừng ngần ngại đề xuất.
EDIT 2: Tôi đã thử chạy daemon thông báo với sudo: sudo notification-daemon_name &
(trong trường hợp của tôi sudo dunst &
) và sudo notify-send something
sau đó, thông báo hoạt động. Nhưng khi tôi cố gắng thực hiện bất kỳ hành động nào trước đây với tư cách là người dùng không có đặc quyền (điều quan trọng nhất là các chương trình gửi thông báo là người dùng không có đặc quyền), không có gì hiển thị.
notification-daemon
từ chối làm việc mà không có bất kỳ lỗi hoặc cảnh báo.
EDIT 3: Rõ ràng đó là vấn đề về quyền: Tôi không thể gửi thông báo mà không có quyền truy cập root. Sau khi khởi động lại sạch: sudo notify-send "something"
hoạt động ngay cả khi không khởi chạy thủ công bất kỳ trình tiện ích nào, tuy nhiên những gì tôi (và các chương trình đã khởi chạy của tôi) nên làm để có thể gửi thông báo mà không có quyền root như có thể trong Gnome hoặc bất kỳ môi trường máy tính để bàn đầy đủ nào khác?
libnotify
vì điều này cung cấpnotify-send
lệnh (đó là tất cả những gì bạn cần)?