Powiadomienia nie działają w samodzielnych menedżerach okien Linuksa (Openbox, Awesome WM i podobne). Próbowałem zainstalować demona powiadomień i dunst, ale wysyłanie za pomocą notify-send "something"
nie powoduje wyskakującego okna.
Próbowałem uruchomić polkit-gnome-agent i uruchomić bezpośrednio demony powiadomień, ale to nie pomaga (wcześniej rozwiązałem podobny problem w ten sposób, ale teraz nic nie robi).
Nie ma żadnych oznak błędów, chyba że wysyłam trywialne powiadomienie za pomocą Pythona, a następnie otrzymuję tylko niejasny komunikat o błędzie:
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
Trywialny program C nic nie wyświetla (na przykład brak błędu).
Używam Archlinuxa z systemd i d-bus, podejrzewam, że jest to problem z polkitem lub jakimś demonem, który nie uruchamia się przy starcie menedżera okien, ale nie mam pojęcia, co mogę spróbować ani jak mogę uzyskać bardziej znaczące komunikaty o błędach.
EDYCJA: Wziąłem stamtąd przykładowy kod: https://wiki.archlinux.org/index.php/Libnotify#Python
Dbus powinien działać, ponieważ systemd ma to jako zależność. Mam libnotify
zainstalowany - jest to pakiet, który zapewnia notify-send
. Również demon powiadomień powinien zostać uruchomiony w razie potrzeby (tylko w przypadku powiadomienia), postępując zgodnie z następującym plikiem na pulpicie /usr/share/dbus-1/services/org.freedesktop.Notifications.service
:
[D-BUS Service]
Name=org.freedesktop.Notifications
Exec=/usr/bin/dunst
Próbowałem nawet uruchamiać demony bezpośrednio (po prostu wykonać) i próbowałem wysyłać powiadomienia. Jeśli ktoś wie, jak mogę zdobyć więcej informacji, nie wahaj się zasugerować.
EDYCJA 2: Próbowałem uruchomić demona powiadomień z sudo: sudo notification-daemon_name &
(w moim przypadku sudo dunst &
) sudo notify-send something
, a następnie powiadomienie działa. Ale kiedy próbuję wykonać dowolne z poprzednich działań jako użytkownik nieuprzywilejowany (co jest ważne, większość programów wysyła powiadomienia jako użytkownik nieuprzywilejowany), nic się nie pokazuje.
notification-daemon
w ogóle odmawia pracy bez żadnego błędu lub ostrzeżenia.
EDYCJA 3: Oczywiście jest to problem z uprawnieniami: nie mogę wysyłać powiadomień bez dostępu do konta root. Po czystym ponownym uruchomieniu: sudo notify-send "something"
działa nawet bez ręcznego uruchamiania żadnych demonów, ale co ja (i moje uruchomione programy) powinienem robić, aby móc wysyłać powiadomienia bez uprawnień roota, jak to możliwe w Gnome lub w innych pełnych środowiskach pulpitu?
libnotify
ponieważ zapewnia tonotify-send
polecenie (które jest wszystkim, czego potrzebujesz)?