ฉันใช้Trisquel GNU / Linux-Libre ซึ่งมาพร้อมกับGnome3 Flashback Desktop Environment
ฉันรู้ว่าฉันสามารถเรียกใช้แอปพลิเคชัน 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: -
สภาพแวดล้อมที่โปรแกรมจะเรียกใช้จะถูกตั้งค่าเป็นสภาพแวดล้อมที่ปลอดภัยและรู้จักน้อยที่สุดเพื่อหลีกเลี่ยงการฉีดรหัสผ่าน LD_LIBRARY_PATH หรือกลไกที่คล้ายกัน นอกจากนี้ตัวแปรสภาพแวดล้อม PKEXEC_UID ถูกตั้งค่าเป็น id ผู้ใช้ของกระบวนการที่เรียกใช้ pkexec ดังนั้น pkexec จะไม่อนุญาตให้คุณเรียกใช้แอปพลิเคชัน X11 ในฐานะผู้ใช้รายอื่นเนื่องจากตัวแปรสภาพแวดล้อม $ DISPLAY และ $ XAUTHORITY ไม่ได้ถูกตั้งค่าไว้ ตัวแปรสองตัวเหล่านี้จะถูกเก็บไว้หากหมายเหตุประกอบ org.freedesktop.policykit.exec.allow_gui ในการดำเนินการถูกตั้งค่าเป็นค่าที่ไม่ว่างเปล่า สิ่งนี้เป็นสิ่งที่ท้อแท้และควรใช้สำหรับโปรแกรมดั้งเดิมเท่านั้น
ตอนนี้ฉันไม่รู้จะทำอย่างไรเพื่อจะทำสิ่งนี้ให้สำเร็จ
ดังนั้นความช่วยเหลือผมที่จะหาวิธีการเรียกใช้โปรแกรม GUI pkexecเป็นรากโดยวิธีการของ หรือเป็นไปได้หรือไม่?
BTW แรงบันดาลใจจากgparted-pkexecคำสั่งที่ทำงานได้ดี วิธีgpartedการใช้งานpkexec?