Estoy usando Trisquel GNU / Linux-Libre que viene con Gnome3 Flashback Desktop Environment.
Sé que puedo ejecutar la aplicación GUI como root con sudo
& gksudo
pero quiero saber eso ¿Cómo puedo ejecutar aplicaciones GUI como root con la ayuda de pkexec
?
Cuando intenta ejecutar gedit
(o cualquier otra aplicación como: nautilus
) por pkexec gedit
entonces se le solicitará una contraseña para la autenticación: -
Después de ingresar la contraseña, sale con error: -
$ pkexec gedit
error: XDG_RUNTIME_DIR not set in the environment.
(gedit:6135): Gtk-WARNING **: cannot open display:
Entonces, parece que algo va mal con el entorno de visualización.
También lo he intentado DISPLAY=:0 pkexec gedit
pero no funciona.
La siguiente información está disponible en man pkexec
: -
El entorno en el que PROGRAM lo ejecutará se establecerá en un entorno mínimo conocido y seguro para evitar inyectar código a través de LD_LIBRARY_PATH o mecanismos similares. Además, la variable de entorno PKEXEC_UID se establece en el ID de usuario del proceso que invoca pkexec. Como resultado, pkexec no le permitirá ejecutar aplicaciones X11 como otro usuario ya que las variables de entorno $ DISPLAY y $ XAUTHORITY no están configuradas. Estas dos variables se conservarán si la anotación org.freedesktop.policykit.exec.allow_gui en una acción se establece en un valor no vacío; Sin embargo, esto se desaconseja y solo debe usarse para programas heredados.
Ahora no sé qué hacer para lograr esto.
Por lo tanto, ayúdame a descubrir cómo ejecutar aplicaciones GUI como root mediante pkexec
. ¿ O es esto posible o no?
Por cierto, inspirado por el gparted-pkexec
comando que funciona bien. Cómo gparted
utilizar pkexec
?
fuente
Respuestas:
Se puede hacer agregando acciones personalizadas al juego de políticas. Si desea ejecutar gedit como root
pkexec
, debe crear un nuevo archivo,/usr/share/polkit-1/actions/org.freedesktop.policykit.gedit.policy
por ejemplo:Finalmente
pkexec gedit
debería funcionar como se esperaba.Visite la página de manual o el Manual de referencia que lo explica con EJEMPLO como: -
fuente
man pkexec
) también.