मैं Trisquel GNU / Linux-Libre का उपयोग कर रहा हूं जो Gnome3 Flashback Desktop पर्यावरण के साथ आता है ।
मुझे पता है कि मैं GUI एप्लिकेशन को रूट बाय के रूप में चला सकता हूं sudo
और gksudo
मैं यह जानना चाहता हूं कि मैं GUI एप्लिकेशन को रूट की मदद से कैसे चलाऊं pkexec
?
जब मैं चलाने के लिए कोशिश करता है gedit
(या किसी भी अन्य आवेदन: nautilus
) द्वारा pkexec gedit
तो यह प्रमाणीकरण के लिए पासवर्ड के लिए संकेत: -
पासवर्ड दर्ज करने के बाद यह त्रुटि के साथ बाहर निकलता है: -
$ pkexec gedit
error: XDG_RUNTIME_DIR not set in the environment.
(gedit:6135): Gtk-WARNING **: cannot open display:
इसलिए, ऐसा लगता है कि प्रदर्शन के माहौल में कुछ गलत हो रहा है।
मैंने भी कोशिश की है, DISPLAY=:0 pkexec gedit
लेकिन काम नहीं कर रहा है।
निम्नलिखित जानकारी निम्न से उपलब्ध है man pkexec
: -
PROGRAM ने जो वातावरण चलाया है, वह LD_LIBRARY_PATH या इसी तरह के तंत्र के माध्यम से कोड को इंजेक्ट करने से बचने के लिए एक न्यूनतम ज्ञात और सुरक्षित वातावरण में सेट किया जाएगा। इसके अलावा PKEXEC_UID पर्यावरण चर pkexec को आमंत्रित करने की प्रक्रिया के उपयोगकर्ता आईडी पर सेट है। परिणामस्वरूप, pkexec आपको X11 एप्लिकेशन को किसी अन्य उपयोगकर्ता के रूप में चलाने की अनुमति नहीं देगा क्योंकि $ DISPLAY और $ XAUTHORITY वातावरण चर सेट नहीं हैं। यदि किसी कार्रवाई पर org.freedesktop.policykit.exec.allow_gui एनोटेशन को गैर-रिक्त मान पर सेट किया जाता है, तो ये दो चर बनाए रहेंगे; यह हतोत्साहित किया जाता है, हालांकि, और इसका उपयोग केवल विरासत कार्यक्रमों के लिए किया जाना चाहिए।
अब मुझे नहीं पता कि इसे पूरा करने के लिए क्या करना होगा।
इस प्रकार, मुझे यह पता लगाने में मदद करें कि GUI अनुप्रयोगों को रूट के रूप में कैसे चलाया जाए pkexec
। या यह संभव है या नहीं?
BTW, gparted-pkexec
कमांड से प्रेरित है जो ठीक काम करता है। कैसे gparted
उपयोग करें pkexec
?