web-dev-qa-db-fra.com

Impossible de se connecter à X Server lors de l'exécution de l'application avec sudo

Lorsque j'exécute un logiciel à l'aide de la commande Sudo, il affiche une erreur telle que

cannot connect to X server

Par exemple si j'exécute la commande suivante:

$ Sudo gedit /etc/profile

J'obtiens un ordre suivant

(gedit:6758): WARNING **: Command line `dbus-launch --autolaunch=84b871d735f31ffe014dc9ba00000009 --binary-syntax --close-stderr' 
exited with non-zero exit status 1: 
Autolaunch error: X11 initialization failed. 
Cannot open display:
Run 'gedit --help' to see a full list of available command line options.

Ou si j'exécute super-boot-manager j'obtiens l'erreur suivante

buc: cannot connect to X server

S'il vous plaît aider.

26
Apurba

Vous devez autoriser l'utilisateur root à accéder au serveur X:

xhost local:root

Et pointez la commande vers la droite DISPLAYname__:

Sudo DISPLAY=$DISPLAY gedit /etc/profile
37
Thor

Enfin, le problème est résolu. Je viens d'ajouter la ligne:

Valeurs par défaut env_keep = "DISPLAY XAUTHORITY"

à la fin de visudo.

Pour ce faire, vous devez courir

Sudo visudo

il ouvrira le fichier puis ajoutera la ligne ci-dessus à la fin.

Merci à tous, spécialement @Thor pour son aide précieuse

14
Apurba

Compléter la réponse de @ Thor:

Exécutez xhost local:root avant Sudo gedit. Pour rendre ce permanent, ajoutez la ligne

xhost local:root

dans le fichier ~/.xinitrc 1. Créez le fichier s'il n'existe pas.


[1] https://askubuntu.com/a/720120/452398

4
adabru