Linux के स्टैंडअलोन विंडो मैनेजर (Openbox, Awesome WM और alike) पर सूचनाएं काम नहीं करती हैं। मैंने अधिसूचना-डेमॉन और डंस्ट को स्थापित करने की कोशिश की, लेकिन भेजने के साथ notify-send "something"
पॉप-अप करने के लिए कोई विंडो नहीं है।
मैंने पोलकिट-गनोम-एजेंट को चलाने और सीधे अधिसूचना डेमों को चलाने की कोशिश की, लेकिन यह मदद नहीं करता है (जबकि कुछ समय पहले मैंने इसी तरह की समस्या को हल किया था, लेकिन अब यह कुछ भी नहीं करता है)।
जब तक मैं अजगर के साथ तुच्छ अधिसूचना नहीं भेजता, तब तक त्रुटियों का कोई संकेत नहीं है, फिर मुझे केवल अस्पष्ट त्रुटि संदेश मिलता है:
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
तुच्छ सी प्रोग्राम कुछ भी नहीं आउटपुट करता है (उदाहरण के लिए कोई त्रुटि नहीं)।
मैं आर्चलिनक्स को सिस्टमड और डी-बस के साथ उपयोग कर रहा हूं, मुझे संदेह है कि यह पुलकित या किसी तरह के डेमॉन के साथ एक समस्या है जो विंडो मैनेजर स्टार्ट पर नहीं चल रही है, लेकिन मुझे पता नहीं है कि मैं क्या कोशिश कर सकता हूं या मुझे और अधिक अर्थपूर्ण त्रुटि संदेश कैसे मिल सकते हैं।
संपादित करें: मैंने वहां से नमूना कोड लिया: https://wiki.archlinux.org/index.php/Libnotify#Pthon
Dbus को चलाना चाहिए क्योंकि Systemd पर निर्भरता है। मैंने 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 notification-daemon_name &
(मेरे मामले में sudo dunst &
) और sudo notify-send something
, फिर अधिसूचना काम करती है। लेकिन जब मैं अप्रभावित उपयोगकर्ता के रूप में पिछले कार्यों में से कोई भी करने की कोशिश करता हूं (जो कि महत्वपूर्ण अधिकांश प्रोग्राम अप्रभावित उपयोगकर्ताओं के रूप में अधिसूचना भेजते हैं), तो कुछ भी नहीं दिखाता है।
notification-daemon
बिना किसी त्रुटि या चेतावनी के सभी को काम करने से मना करता है।
संपादित 3: स्पष्ट रूप से यह अनुमति समस्या है: मैं रूट एक्सेस के बिना सूचनाएं नहीं भेज सकता। स्वच्छ रिबूट के बाद: sudo notify-send "something"
मैन्युअल रूप से किसी भी डेमॉन को लॉन्च किए बिना भी काम करता है, हालांकि मुझे (और मेरे लॉन्च किए गए कार्यक्रमों) को रूट विशेषाधिकार के बिना सूचनाएं भेजने में सक्षम होना चाहिए क्योंकि यह गनोम या किसी अन्य पूर्ण डेस्कटॉप वातावरण में संभव है?
libnotify
क्योंकि यहnotify-send
कमांड प्रदान करता है (जो आपको सभी की आवश्यकता है)?