0

KDE環境で通知を表示したいだけなので、pynotifytest.pyを試しました

from pynotify import *
init("test")
Notification("test", "test").show()

それから私は実行sudo python pynotifytest.pyします、私が得たエラーは次のとおりです:

No protocol specified
/usr/lib/python2.7/site-packages/gtk-2.0/gtk/__init__.py:57: GtkWarning: could not open display warnings.warn(str(e), _gtk.Warning)
 ----> 3 Notification("test", "test").show()

Error: Command line `dbus-launch --autolaunch=cb94cb23372d0aff09ce7d8a000024b4 --binary-syntax --close-stderr' exited with non-zero exit status 1: No protocol specified\nAutolaunch error: X11 initialization failed.

次に、特権pynotifytest.pyを削除しようとしました

import os
os.setuid(1000)
from pynotify import *
init("test")
Notification("test", "test").show()

それでも、KDE ​​でのみ同じエラーが発生しました。1000 は、X にログインしているユーザーの uid です。

私の Linux ディストリビューションは Arch です。ありがとう

4

2 に答える 2

0

「それは私にとってはうまくいきます」 -- システムの詳細を教えてください。ここでSELinuxを無効にしたfedora 15で動作しました。また、問題は GTK+ の部分にあることに注意してください - pynotify 自体ではありません。

また、ユーザー「1000」はグラフィカル環境にログインしたユーザーですか? もちろん、ログインしているユーザーまたはルート自体以外のユーザーでウィンドウを表示しようとしている場合、これは機能しません。

于 2011-12-05T12:56:06.483 に答える