Sto usando Trisquel GNU / Linux-Libre fornito con Gnome3 Flashback Desktop Environment.
So che posso eseguire l'applicazione GUI come root da sudo
& gksudo
ma voglio sapere che come posso eseguire le applicazioni GUI come root con l'aiuto di pkexec
?
Quando ho tenta di eseguire gedit
(o qualsiasi altra applicazione come: nautilus
) da pkexec gedit
allora viene richiesta la password per l'autenticazione: -
Dopo aver inserito la password, esce con errore: -
$ pkexec gedit
error: XDG_RUNTIME_DIR not set in the environment.
(gedit:6135): Gtk-WARNING **: cannot open display:
Quindi, sembra che qualcosa vada storto con l'ambiente di visualizzazione.
Ho anche provato con DISPLAY=:0 pkexec gedit
ma non funziona.
Le seguenti informazioni sono disponibili da man pkexec
: -
L'ambiente in cui PROGRAM lo eseguirà verrà impostato su un ambiente minimo noto e sicuro per evitare l'iniezione di codice tramite LD_LIBRARY_PATH o meccanismi simili. Inoltre, la variabile di ambiente PKEXEC_UID è impostata sull'ID utente del processo che richiama pkexec. Di conseguenza, pkexec non ti consentirà di eseguire le applicazioni X11 come un altro utente poiché le variabili di ambiente $ DISPLAY e $ XAUTHORITY non sono impostate. Queste due variabili verranno mantenute se l'annotazione org.freedesktop.policykit.exec.allow_gui su un'azione è impostata su un valore non vuoto; questo è scoraggiato, tuttavia, e dovrebbe essere utilizzato solo per programmi legacy.
Ora non so cosa fare per raggiungere questo obiettivo.
Quindi, aiutami a scoprire come eseguire le applicazioni della GUI come root tramite pkexec
. O è possibile o no?
A proposito, ispirato dal gparted-pkexec
comando che funziona bene. Come gparted
usare pkexec
?