Benachrichtigungen funktionieren nicht auf eigenständigen Linux-Fenstermanagern (Openbox, Awesome WM und Ähnliches). Ich habe versucht, den Benachrichtigungs-Daemon und Dunst zu installieren, aber beim Senden mit notify-send "something"
wird kein Fenster zum Öffnen geöffnet .
Ich habe versucht, polkit-gnome-agent auszuführen und direkt Benachrichtigungs-Daemons auszuführen, aber es hilft nicht (vor einiger Zeit habe ich ein ähnliches Problem auf diese Weise gelöst, aber jetzt tut es nichts).
Es gibt keine Anzeichen von Fehlern, es sei denn, ich sende eine einfache Benachrichtigung mit Python, dann erhalte ich nur eine vage Fehlermeldung: Das
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
Programm Trivial C gibt nichts aus (zum Beispiel keinen Fehler).
Ich verwende Archlinux mit systemd und d-bus. Ich vermute, es liegt ein Problem mit polkit oder einem Dämon vor, der nicht beim Start des Fenstermanagers ausgeführt wird, aber ich habe keine Ahnung, was ich versuchen könnte oder wie ich aussagekräftigere Fehlermeldungen erhalten könnte.
BEARBEITEN: Ich habe Beispielcode von dort genommen: https://wiki.archlinux.org/index.php/Libnotify#Python
Dbus sollte ausgeführt werden, da systemd dies als Abhängigkeit hat. Ich habe libnotify
installiert - es ist Paket, das bietet notify-send
. Außerdem sollte der Benachrichtigungs-Daemon nach Bedarf gestartet werden (nur wenn eine Benachrichtigung eingeht), indem folgende Desktop-Datei verwendet wird /usr/share/dbus-1/services/org.freedesktop.Notifications.service
:
[D-BUS Service]
Name=org.freedesktop.Notifications
Exec=/usr/bin/dunst
Ich hatte sogar versucht, Daemons direkt auszuführen (nur auszuführen) und Benachrichtigungen zu senden. Wenn jemand weiß, wie ich mehr Informationen bekommen kann, zögern Sie bitte nicht, mir einen Vorschlag zu machen.
BEARBEITEN 2: Ich habe versucht, den Benachrichtigungs-Daemon mit sudo: sudo notification-daemon_name &
(in meinem Fall sudo dunst &
) und auszuführen sudo notify-send something
, dann funktioniert die Benachrichtigung. Aber wenn ich versuche, eine der vorherigen Aktionen als nicht privilegierter Benutzer auszuführen (was wichtig ist, dass die meisten Programme Benachrichtigungen als nicht privilegierte Benutzer senden), wird nichts angezeigt.
notification-daemon
weigert sich, überhaupt ohne Fehler oder Warnung zu arbeiten.
EDIT 3: Es ist eindeutig ein Berechtigungsproblem: Ich kann keine Benachrichtigungen ohne Root-Zugriff senden. Nach einem sauberen Neustart: Funktioniert dies sudo notify-send "something"
auch ohne manuelles Starten von Daemons. Wie sollte ich (und meine gestarteten Programme) jedoch vorgehen, um Benachrichtigungen ohne Root-Berechtigungen zu senden, wie dies in Gnome oder anderen vollständigen Desktop-Umgebungen möglich ist?
libnotify
da dies dennotify-send
Befehl liefert (was ist alles, was Sie brauchen)?