J'utilise Trisquel GNU / Linux-Libre fourni avec l' environnement de bureau Gnome3 Flashback .
Je sais que je peux exécuter l'application GUI en tant que root par sudo
& gksudo
mais je veux savoir que comment exécuter les applications GUI en tant que root à l'aide de pkexec
?
Lorsque j'essaie d'exécuter gedit
(ou toute autre application comme:) d' nautilus
ici pkexec gedit
là, il demande un mot de passe pour l'authentification: -
Après avoir entré le mot de passe, il quitte avec erreur: -
$ pkexec gedit
error: XDG_RUNTIME_DIR not set in the environment.
(gedit:6135): Gtk-WARNING **: cannot open display:
Il semble donc que quelque chose ne va pas avec l'environnement d'affichage.
J'ai aussi essayé DISPLAY=:0 pkexec gedit
mais ça ne marche pas.
Les informations suivantes sont disponibles auprès de man pkexec
: -
L'environnement que PROGRAM exécutera, sera défini sur un environnement minimal connu et sûr afin d'éviter d'injecter du code via LD_LIBRARY_PATH ou des mécanismes similaires. De plus, la variable d'environnement PKEXEC_UID est définie sur l'ID utilisateur du processus appelant pkexec. Par conséquent, pkexec ne vous permettra pas d'exécuter des applications X11 en tant qu'autre utilisateur car les variables d'environnement $ DISPLAY et $ XAUTHORITY ne sont pas définies. Ces deux variables seront conservées si l'annotation org.freedesktop.policykit.exec.allow_gui sur une action est définie sur une valeur non vide; ceci est cependant découragé et ne devrait être utilisé que pour les programmes existants.
Maintenant, je ne sais pas quoi faire pour y parvenir.
Ainsi, aidez-moi à découvrir comment exécuter des applications GUI en tant que root au moyen de pkexec
. Ou est-ce possible ou non?
BTW, inspiré par la gparted-pkexec
commande qui fonctionne bien. Comment gparted
utiliser pkexec
?