OVH Cloud OVH Cloud

lancement impossible d'applis graphiques

7 réponses
Avatar
jacques
Bonjour,

Je suis loggé en simple utilisateur sous KDE.
Je lance une console, puis je passe en root avec su + mot de passe.
A ce moment là, je ne peux pas lancer d'application graphique en tant que
root.
J'ai le message :

glibc version: 2.3.2
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

Il y a sûrement quelque chose à paramétrer, mais quoi exactement ?

Merci de votre aide.

Jacques

7 réponses

Avatar
Viktor
Avatar
jacques
Viktor wrote:

man xhost
oui, c'est ce que j'avais fait avant de poster.

J'avoue que je ne suis pas vraiment plus avancé...

Avatar
Kevin
Le Wed, 05 Nov 2003 16:24:54 +0100, jacques a ecrit:
|
|> man xhost
| oui, c'est ce que j'avais fait avant de poster.
| J'avoue que je ne suis pas vraiment plus avancé...
|
Solution simple:
en user:
xhost +127.0.0.1
ca va autoriser tous les clients provenant de l'IP 127.0.0.1 a se connecter
sur ton serveur X.
Passes en root, puis
export DISPLAY7.0.0.1:0
(si tu es en 0, si tu es en 1, mets :1, etc..)
et lances une appli graphique.

Attention, une mauvaise utilisation de xhost peut nuire a la securite de
ta machine.
--
Kevin
A quoi donc peut servir ce bouton...?
-+- Les 100 choses que vous n'aimez pas entendre de la part du sysadmin -+-
Avatar
Remi Moyen
On Wed, 5 Nov 2003, jacques wrote:

Je suis loggé en simple utilisateur sous KDE.
Je lance une console, puis je passe en root avec su + mot de passe.
A ce moment là, je ne peux pas lancer d'application graphique en tant que
root.
J'ai le message :

glibc version: 2.3.2
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

Il y a sûrement quelque chose à paramétrer, mais quoi exactement ?


Par défaut, ton serveur X n'accepte les connexions (et donc l'ouverture de
fenêtres) que par l'utilisateur qui a lancé le serveur. Quand root essaye
d'ouvrir une fenêtre, le serveur X lui refuse donc l'accès.

Pour autoriser l'accès au serveur X, c'est xhost. De ce que j'utilise, le
plus simple, c'est : 'xhost +machine' pour autoriser n'importe qui à se
connecter depuis 'machine' ; 'xhost +' autorisera n'importe quelle machine
(c'est pas très prudent...). Ça ne veut pas dire que n'importe qui pourra
se connecter sur ta machine, mais juste sur ton serveur X (par exemple,
depuis chez moi, je pourrais faire un 'DISPLAY=tamachine:0.0; xterm', et
j'aurais un xterm qui s'affichera sur ton ecran, mais qui tournera sur ma
machine, pas la tienne -- dans cet exemple précis, c'est moi qui aurait
l'air con, parce que tu auras, sans rien avoir demandé, un accès à ma
machine par ce xterm. Mais je pourrais à la place te lancer un truc qui
te pourrit l'affichage, par exemple).

Dans ton cas, 'xhost +user' (pour root, par exemple) sera adapté. Ça doit
bien sûr être lancé par quelqu'un qui contrôle le serveur X, donc par
l'utilisateur normal.
(tiens, non, ça a pas l'air de marcher, pourtant, d'après le man, ça
devrait... Bon, sinon, un 'xhost +localhost', bien qu'un peu moins
prudent, devrait suffire si c'est une machine perso)

Si tu as fait des erreurs, ou que tu veux annuler des accès, 'xhost
-machine', voire 'xhost -' (pour tout enlever). À tout moment, 'xhost'
tout court te donnera la liste des user/machine autorisés à se connecter.

Merci de votre aide.


De rien.
--
Rémi Moyen
"Malgré les apparences, le temps est très varié à Nancy :
pluie, nuages, neige, brouillard, grêle, ..."

Avatar
Pascal H.
jacques wrote:

oui, c'est ce que j'avais fait avant de poster.
J'avoue que je ne suis pas vraiment plus avancé...


Il y a une autre solution avec KDE : utiliser le menu "lancer une commande"
et choisir l'option "executer sous un autre nom d'utilisateur" et tu
pourras bien sur choisir root comme autre utilisateur.

--
Pascal

Avatar
Denis Leger
Remi Moyen wrote:

[...]

Dans ton cas, 'xhost +user' (pour root, par exemple) sera adapté. Ça doit
bien sûr être lancé par quelqu'un qui contrôle le serveur X, donc par
l'utilisateur normal.
(tiens, non, ça a pas l'air de marcher, pourtant, d'après le man, ça
devrait... Bon, sinon, un 'xhost +localhost', bien qu'un peu moins
prudent, devrait suffire si c'est une machine perso)


Si je me souviens bien, c'est plutôt xhost +local:root qu'il faut taper.

--
Denis Léger

Avatar
jacques
Kevin DENIS wrote:

Le Wed, 05 Nov 2003 16:24:54 +0100, jacques a ecrit:
|
|> man xhost
| oui, c'est ce que j'avais fait avant de poster.
| J'avoue que je ne suis pas vraiment plus avancé...
|
Solution simple:
en user:
xhost +127.0.0.1
ca va autoriser tous les clients provenant de l'IP 127.0.0.1 a se
connecter sur ton serveur X.
Passes en root, puis
export DISPLAY7.0.0.1:0
(si tu es en 0, si tu es en 1, mets :1, etc..)
et lances une appli graphique.

Attention, une mauvaise utilisation de xhost peut nuire a la securite de
ta machine.



Merci à tous pour vos réponses, je vais essayer tout ça.

Jacques