Le notifiche non funzionano sui gestori di finestre standalone Linux (Openbox, Awesome WM e simili). Ho provato a installare daemon di notifica e dunst, ma l'invio con notify-send "something"
non fa apparire alcuna finestra.
Ho provato a eseguire polkit-gnome-agent ed eseguire direttamente i demoni di notifica, ma non aiuta (mentre prima ho risolto un problema simile in questo modo, ma ora non fa nulla).
Non ci sono indicazioni di errori a meno che non invii banali notifiche con Python, quindi ricevo solo un messaggio di errore vago: il
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
programma Trivial C non restituisce nulla (nessun errore, ad esempio).
Sto usando Archlinux con systemd e d-bus, sospetto che sia un problema con polkit o qualche tipo di demone che non è in esecuzione all'avvio di Window Manager, ma non ho idea di cosa potrei provare o come posso ottenere messaggi di errore più significativi.
EDIT: ho preso il codice di esempio da lì: https://wiki.archlinux.org/index.php/Libnotify#Python
Dbus dovrebbe essere in esecuzione perché systemd ha come dipendenza. Ho libnotify
installato - è il pacchetto che fornisce notify-send
. Anche demone di notifica deve iniziare, se necessario (solo quando arives di notifica), seguendo file sul desktop /usr/share/dbus-1/services/org.freedesktop.Notifications.service
:
[D-BUS Service]
Name=org.freedesktop.Notifications
Exec=/usr/bin/dunst
Avevo persino provato a eseguire direttamente i demoni (basta eseguirlo) e ho provato a inviare notifiche. Se somenone sa come ottenere maggiori informazioni, non esitare a suggerire.
EDIT 2: Ho provato a eseguire il demone di notifica con sudo: sudo notification-daemon_name &
(nel mio caso sudo dunst &
) e sudo notify-send something
, quindi, la notifica funziona. Ma quando provo a fare una qualsiasi delle azioni precedenti come utente non privilegiato (che è importante che la maggior parte dei programmi invii notifiche come utenti non privilegiati), nulla mostra.
notification-daemon
si rifiuta di lavorare senza alcun errore o avviso.
EDIT 3: Chiaramente è un problema con le autorizzazioni: non posso inviare notifiche senza accesso root. Dopo un riavvio pulito: sudo notify-send "something"
funziona anche senza avviare manualmente alcun daemon, tuttavia cosa dovrei fare io (e i miei programmi avviati) per poter inviare notifiche senza privilegi di root come è possibile in Gnome o in qualsiasi altro ambiente desktop completo?
libnotify
quanto fornisce ilnotify-send
comando (che è tutto ciò di cui hai bisogno)?