web-dev-qa-db-fra.com

Impossible de se connecter à X Server: 0.0 en tant que superutilisateur

Lorsque je suis en ligne, je reçois une erreur suivante et l'outil ne démarre pas:

[root@dhcppc9 lin64]# ./ise
No protocol specified
_pn: cannot connect to X server :0.0

Mais tout va bien quand je ne suis pas un superutilisateur. Pourquoi ça?

éditer

[root@dhcppc9 lin64]# export $(dbus-launch)
No protocol specified

toute suggestion?

aussi

[root@dhcppc9 lin64]# xhost [+]
No protocol specified
xhost:  unable to open display ":0.0"
10
msz

Un programme X a besoin de deux informations afin de se connecter à un affichage X.

  • Il faut l'adresse de l'écran, qui est typiquement :0 Lorsque vous êtes connecté localement ou :10, :11, etc. Lorsque vous êtes connecté à distance (mais le numéro peut modifier en fonction du nombre de connexions X actives). L'adresse de l'écran est normalement indiquée dans la variable d'environnement DISPLAY.

  • Il a besoin du mot de passe pour l'affichage. X Afficher les mots de passe sont appelés Cookies magiques . Les cookies magiques ne sont pas spécifiés directement: ils sont toujours stockés dans X dossiers d'autorité, qui sont une collection d'enregistrements de la forme "Affichage :42 a cookie 123456 ". Le fichier d'autorité X est normalement indiqué dans la variable d'environnement XAUTHORITY. Si $XAUTHORITY n'est pas défini, les programmes utilisent ~/.Xauthority.

Voir Ouvrez une fenêtre sur un affichage X à distance (pourquoi "Impossible d'ouvrir l'affichage")? Pour plus de détails.

Dans votre cas, DISPLAY est défini mais les programmes ne peuvent évidemment pas trouver le fichier de cookie. Vérifiez la valeur de XAUTHORITY dans votre session et sous su.

Si XAUTHORITY n'est pas défini dans votre session et su définit la variable HOME variable d'environnement du répertoire de base de la racine, alors vous devez définir XAUTHORITY sur /home/msz/.Xauthority/home/msz est votre répertoire personnel.

Si su supprime XAUTHORITY de l'environnement, réglez-le, soit de la configuration su non de le faire.

Si votre répertoire de maison est sur certains systèmes de fichiers tels que NFS, la racine peut ne pas être capable de le lire directement. Dans ce cas, vous pouvez copier le .Xauthority Fichier à un emplacement différent sur un système de fichiers non-NFS:

XAUTHORITY_COPY=$(umask 077; mktemp)
cat "${XAUTHORITY:-~/.Xauthority}" "$XAUTHORITY_COPY"
XAUTHORITY="$XAUTHORITY_COPY" su
rm "$XAUTHORITY_COPY"
unset XAUTHORITY_COPY

Vous courez Xhost comme root!

exécutez Xhost comme utilisateur normal xhost +, puis devenir root puis essayer à nouveau.

bTW comme d'autres ont souligné xhost + permet à n'importe quel utilisateur de n'importe quel hôte

4
X Tian

Cela a fonctionné pour moi à Fedora

xhost local:root
Sudo QT_X11_NO_MITSHM=1 /usr/bin/unetbootin
0
Gang

Xauthority pour moi a été défini comme un fichier qui n'existait plus:

$ echo $XAUTHORITY

/tmp/xauth-1000-_0

Donc j'ai fait

unset XAUTHORITY

et a ensuite été capable de se connecter à mon application en tant que root à l'aide de KDesudo (dans ce cas kdesudo bleachbit)

0
pbhj

Courir comme utilisateur normal

xhost + localhost

puis activez Super utilisateur par

Sudo su 

enfin aller à l'exemple du serveur

cd /usr/local/Ampps

enfin courir ./ampps

merci à 2020

0
Mr Mash