Linuxスタンドアロンウィンドウマネージャー(Openbox、Awesome WMなど)では通知は機能しません。notification-daemonとdunstをインストールしようとしましたが、送信しnotify-send "something"
てもポップアップするウィンドウが作成されません。
polkit-gnome-agentを実行して、通知デーモンを直接実行しようとしましたが、役に立ちません(以前はこの方法で同様の問題を解決しましたが、今は何もしません)。
Pythonで些細な通知を送信しない限り、エラーの兆候はありません。漠然としたエラーメッセージしか
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
表示されません。
私はsystemdとd-busでArchlinuxを使用していますが、polkitまたは何らかの種類のデーモンがウィンドウマネージャーの起動時に実行されていないのではないかと考えていますが、何を試すことができるのか、どうすればもっと意味のあるエラーメッセージを取得できるのかわかりません。
編集:私はそこからサンプルコードを取りました:https://wiki.archlinux.org/index.php/Libnotify#Python
systemdには依存関係があるため、Dbusが実行されている必要があります。私はlibnotify
インストールしました-それは提供するパッケージnotify-send
です。また、通知ファイルは、デスクトップファイルを追跡することにより、必要に応じて開始する必要があります(通知が到着した場合のみ)/usr/share/dbus-1/services/org.freedesktop.Notifications.service
。
[D-BUS Service]
Name=org.freedesktop.Notifications
Exec=/usr/bin/dunst
デーモンを直接実行(実行のみ)しようとして、通知を送信しようとしました。誰かが私にもっと情報を得る方法を知っていれば、遠慮なく提案してください。
編集2:私はsudoで通知デーモンを実行しようとしました:(sudo notification-daemon_name &
私の場合sudo dunst &
)、そしてsudo notify-send something
、通知が動作します。しかし、以前のアクションのいずれかを非特権ユーザーとして実行しようとすると(ほとんどのプログラムは非特権ユーザーとして通知を送信することが重要です)、何も表示されません。
notification-daemon
エラーまたは警告なしで動作することをまったく拒否します。
編集3:明らかに権限の問題です:ルートアクセスなしに通知を送信することはできません。クリーンリブート後:sudo notify-send "something"
デーモンを手動で起動しなくても機能しますが、Gnomeまたは他のフルデスクトップ環境で可能なように、ルート権限なしで通知を送信できるようにするために、私(および起動したプログラム)はどうすればよいですか?
libnotify
これでnotify-send
コマンドが提供されるため、インストールしましたか(これで十分です)。