Lorsque je suis en ligne, j'obtiens l'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 super-utilisateur. 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"
export $(dbus-launch)
ou utiliserxhost [+]
pour pouvoir lancer des programmes en utilisant X et votre compte superutilisateur.$ xhost
de voir l'accès actuel et$ xhost +
de permettre l'accès à partir de n'importe quel hôte. Vous le faites souvent à partir d'un terminal virtuel que vous connaissez avec certitude qui peut générer des programmes en utilisant X.echo $DISPLAY
s'affiche? À quel utilisateur le processus xserver appartient-il? (vous pouvez découvrir ce dernier en utilisant par exempleps faux
)Réponses:
Un programme X a besoin de deux informations pour se connecter à un écran X.
Il a besoin de l'adresse de l'écran, qui est généralement
:0
lorsque vous êtes connecté localement ou:10
,:11
etc. lorsque vous êtes connecté à distance (mais le nombre peut changer en fonction du nombre de connexions X actives). L'adresse de l'affichage est normalement indiquée dans laDISPLAY
variable d'environnement.Il a besoin du mot de passe pour l'affichage. Les mots de passe d'affichage X sont appelés cookies magiques . Les cookies magiques ne sont pas spécifiés directement: ils sont toujours stockés dans des fichiers d'autorité X, qui sont une collection d'enregistrements de la forme «afficher
:42
avec cookie123456
». Le fichier d'autorité X est normalement indiqué dans laXAUTHORITY
variable d'environnement. Si$XAUTHORITY
n'est pas défini, les programmes utilisent~/.Xauthority
.Voir Ouvrir une fenêtre sur un écran X distant (pourquoi "Impossible d'ouvrir l'écran")? pour plus de détails.
Dans votre cas,
DISPLAY
est défini mais les programmes ne peuvent évidemment pas trouver le fichier cookie. Vérifiez la valeur deXAUTHORITY
dans votre session et soussu
.Si
XAUTHORITY
n'est pas défini dans votre session etsu
définit laHOME
variable d'environnement dans le répertoire de root, vous devez définirXAUTHORITY
à/home/msz/.Xauthority
où/home/msz
est votre répertoire personnel.S'il est
su
suppriméXAUTHORITY
de l'environnement, remettez-le en place ou configurez-lesu
pour ne pas le faire.Si votre répertoire personnel se trouve sur certains systèmes de fichiers comme NFS, root ne pourra peut-être pas le lire directement. Dans ce cas, vous pouvez copier le
.Xauthority
fichier vers un emplacement différent sur un système de fichiers non NFS:la source
ln -s /home/otheruser/.Xauthority ~
Vous exécutez xhost en tant que root!
exécutez xhost en tant qu'utilisateur normal
xhost +
, puis devenez root, puis réessayez.btw comme d'autres l'ont souligné
xhost +
permet à tout utilisateur de tout hôtela source
xhost
cela ne fonctionne pas. Si c'est le cas, courez au moinsxhost +localhost
, nonxhost +
!XAUTHORITY pour moi a été défini comme un fichier qui n'existait plus:
$ echo $XAUTHORITY
/tmp/xauth-1000-_0
J'ai donc fait
unset XAUTHORITY
et a ensuite pu se connecter à mon application en tant que root en utilisant kdesudo (dans ce cas
kdesudo bleachbit
)la source
Exécuter en tant qu'utilisateur normal
puis activez le super utilisateur en
aller enfin à l'exemple du serveur
enfin exécuter ./Ampps
merci en 2020
la source
Cela a fonctionné pour moi dans fedora 30
la source