Shell, root et appli graphique

Shell, root et appli graphique - Logiciels - Linux et OS Alternatifs

Marsh Posté le 10-03-2004 à 10:50:06    

En graphique (gnome/sawfish) si je lance un xterm, su vers root et que j'essaye de lancer emacs (mais je suppose que c'est la meme chose pour toute appli graphique) j'obtiens :
 

Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
 
emacs: Cannot connect to X server :0.0.
Check the DISPLAY environment variable or use `-d'.
Also use the `xhost' program to verify that it is set to permit
connections from your machine.


 
Il y a moyen de ne pas avoir a revenir a un tty (c'est penible) pour pouvoir editer un fichier de config en root depuis un bureau ?
 


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
Reply

Marsh Posté le 10-03-2004 à 10:50:06   

Reply

Marsh Posté le 10-03-2004 à 10:59:31    

vi :D (non c'est horrible comme prise en main: pico ou nano ou autre éditeur)


---------------
Faudrait pas prendre les oiseaux du bon Dieu pour des canards sauvages
Reply

Marsh Posté le 10-03-2004 à 11:01:19    

phosphorus68 a écrit :

vi :D (non c'est horrible comme prise en main: pico ou nano ou autre éditeur)


Oui mais non  :o Le probleme n'est pas tant emacs que d'arriver a lancer une appli graphique en root (si c'est possible). Au pire il y a toujours nano [:cirius]


Message édité par Ciler le 10-03-2004 à 11:10:03

---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
Reply

Marsh Posté le 10-03-2004 à 11:05:16    

man xhost

Reply

Marsh Posté le 10-03-2004 à 11:16:21    


La legendaire amabilite du linuxien  :sarcastic:  
 
Il ne t'es pas venu a l'esprit qu'etant donne que xhost est mentionne dans le message d'erreur je suis alle voir par la, et que peut-etre eventuellement j'ai fais les ajustements necessaires avant de demander ?


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
Reply

Marsh Posté le 10-03-2004 à 11:20:25    

alors dis ce que tu as fais
 
P.S. je n'utilise pas linux ;)

Reply

Marsh Posté le 10-03-2004 à 11:21:58    

La légendaire amabilité du BSDien...


---------------
-~- Libérez Datoune ! -~- Camarade, toi aussi rejoins le FLD pour que la flamme de la Révolution ne s'éteigne pas ! -~- A VENDRE
Reply

Marsh Posté le 10-03-2004 à 11:23:23    

en root (sous csh p.ex.):
setenv DISPLAY :0.0
 
en user si ca ne marche toujours pas utilise xhost

Reply

Marsh Posté le 10-03-2004 à 11:23:41    

kahyman a écrit :

alors dis ce que tu as fais
P.S. je n'utilise pas linux ;)


Et bien un truc du genre  

xhost +root


Mais ca ne change rien  :??:  
 
(bon, aussi faut dire que j'ai pas redemmare le serveur x)


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
Reply

Marsh Posté le 10-03-2004 à 11:24:35    

mirtouf a écrit :

La légendaire amabilité du BSDien...


 
Tu serais etonne, mail n'importe quel port maintainer et tu auras une reponse tres rapide a ta question. (jamais vu ca avec linux ;) )

Reply

Marsh Posté le 10-03-2004 à 11:24:35   

Reply

Marsh Posté le 10-03-2004 à 11:24:50    

Sinon comprenez bien que je ne cherche pas tant a resoudre le probleme (que je peux contourner avec nano par exemple) qu'a comprendre ce qui coince.


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
Reply

Marsh Posté le 10-03-2004 à 11:25:14    

Alt-Ctrl-Backspace pour redémarrer le serveur X (mais tu le sais pitêtre déjà)


---------------
Faudrait pas prendre les oiseaux du bon Dieu pour des canards sauvages
Reply

Marsh Posté le 10-03-2004 à 11:26:14    

ciler a écrit :


Et bien un truc du genre  

xhost +root


Mais ca ne change rien  :??:  
 
(bon, aussi faut dire que j'ai pas redemmare le serveur x)


 
pas besoin de redemarrer X.  

Reply

Marsh Posté le 10-03-2004 à 11:26:54    

phosphorus68 a écrit :

Alt-Ctrl-Backspace pour redémarrer le serveur X (mais tu le sais pitêtre déjà)


 
pourquoi redemarrer X ?
 
 :fou:

Reply

Marsh Posté le 10-03-2004 à 11:42:17    

emacs -nw [:spamafote]

Reply

Marsh Posté le 10-03-2004 à 11:44:50    

logiquement :
 
- tu lances un terminal
- en tant qu'utilisateur à qui appartient la session graphique (donc le user par defaut dans le terminal) tu fais xhost +
- "su" pour passer root
- export DISPLAY=":0.0" (a adapter si jamais tu es sur un autre display)
 
et là ca doit marcher, en tout cas ca marche chez tout le monde comme ça :D

Reply

Marsh Posté le 10-03-2004 à 11:48:35    

kahyman a écrit :


 
pourquoi redemarrer X ?
 
 :fou:  


je dis pas qu'il faut le faire, je dis comment le faire.


---------------
Faudrait pas prendre les oiseaux du bon Dieu pour des canards sauvages
Reply

Marsh Posté le 10-03-2004 à 11:54:50    

philou_a7 a écrit :

logiquement :
 
- tu lances un terminal
- en tant qu'utilisateur à qui appartient la session graphique (donc le user par defaut dans le terminal) tu fais xhost +
- "su" pour passer root
- export DISPLAY=":0.0" (a adapter si jamais tu es sur un autre display)
 
et là ca doit marcher, en tout cas ca marche chez tout le monde comme ça :D


 
NON NON NON !
 
xhost + desactive completement l'access control a X (man xhost ;) )
 
et pour le DISPLAY : le mettre dans .bashrc .cshrc ou autres

Reply

Marsh Posté le 10-03-2004 à 11:55:47    

philou_a7 a écrit :

logiquement :
- tu lances un terminal
- en tant qu'utilisateur à qui appartient la session graphique (donc le user par defaut dans le terminal) tu fais xhost +
- "su" pour passer root
- export DISPLAY=":0.0" (a adapter si jamais tu es sur un autre display)
 
et là ca doit marcher, en tout cas ca marche chez tout le monde comme ça :D


Donc si je comprends bien, pour pouvoir lancer une appli graphique en root, je fais de l'export display (un peu comme si je me loggai depuis un autre poste en reseau). J'ai bon ?


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
Reply

Marsh Posté le 10-03-2004 à 11:58:56    

emacs -nw ne fonctionne pas ?

Reply

Marsh Posté le 10-03-2004 à 12:01:09    

black_lord a écrit :

emacs -nw ne fonctionne pas ?


J'avais pas essaye  :ange:  
Ca marche impec, mais en mode texte  ;) C'est pas le probleme.


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
Reply

Marsh Posté le 10-03-2004 à 12:03:16    

j'ai pas lu tout le thread en entier mais tu voulais un emacs à partir d'un term non ? Il est dedans ça change quoi ?

Reply

Marsh Posté le 10-03-2004 à 12:40:41    

Non, ce que je veux c'est comprendre pourquoi root ne peut pas lancer une appli graphique depuis un xterm ?


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
Reply

Marsh Posté le 10-03-2004 à 13:13:58    

et  

xhost +


tout court ?


Message édité par black_lord le 10-03-2004 à 13:14:38
Reply

Marsh Posté le 10-03-2004 à 14:13:18    

kahyman a écrit :


 
NON NON NON !
 
xhost + desactive completement l'access control a X (man xhost ;) )
 
et pour le DISPLAY : le mettre dans .bashrc .cshrc ou autres


 
on va se calmer hein :D
 
evidemment que xhost + est un peu brutal, mais ca permet de tester, deja...
 
quand au DISPLAY dans le .bashrc, c'est pas terrible.
1- il faut construire une vraie variable DISPLAY, parce que suivant le nombre de serveurs X qui tournent et le nombre d'ecrans que tu as, ca sera pas toujours :0.0
2- il faut que le .bashrc soit lu :D si tu fait "su" ou "su -" c'est pas pareil :p

Reply

Marsh Posté le 10-03-2004 à 14:14:58    

ciler a écrit :


Donc si je comprends bien, pour pouvoir lancer une appli graphique en root, je fais de l'export display (un peu comme si je me loggai depuis un autre poste en reseau). J'ai bon ?


 
de maniere generale, quand tu utilises avec un utilisateur A le bureau  créé par l'utilisateur B, tu fais presque de l'export display, oui
 
la nuance c'est que là, l'affichage n'est pas deporté puisque tu reste sur ta machine, mais tu utilises des commandes qui font la même chose ;)

Reply

Marsh Posté le 10-03-2004 à 14:44:43    

philou_a7 a écrit :


 
on va se calmer hein :D
 
evidemment que xhost + est un peu brutal, mais ca permet de tester, deja...
 
quand au DISPLAY dans le .bashrc, c'est pas terrible.
1- il faut construire une vraie variable DISPLAY, parce que suivant le nombre de serveurs X qui tournent et le nombre d'ecrans que tu as, ca sera pas toujours :0.0
2- il faut que le .bashrc soit lu :D si tu fait "su" ou "su -" c'est pas pareil :p


 
Oui c'est brutal, mais dis alors que c'est pour tester histoire que certains ne pensent pas que c'est comme ca qu'il faut faire.
 
sinon :
 
1) rien ne t'empeche d'avoir une entree par defaut pour ton DISPLAY dans ton .shellrc mais bon je te l'accorde (ceci dit, un su n'est pas sense effacer le DISPLAY courrant si c'est le cas c'est que probablement un su - a ete fait) ;)
 
2) a ce que je sache su et su - lisent tous les deux le .shellrc (je mets .shellrc car il faut mettre dans le rc correspondant au shell indique par /etc/passwd )

Reply

Marsh Posté le 10-03-2004 à 15:43:25    

seul "su -" est un shell de connexion (ou "su -l" ou "su --login" )
 
sans le shell de connexion, la variable SHELL est positionnée avec le nom seul du shell du user dont on prend l'identité.
 
Or, theoriquement, pour qu'un shell lise ses fichiers de démarrage, il faut que SHELL soit positionnée à "bash-" ou "csh-" par exemple, ce que fait l'option login (en plus du positionnement de repertoire, et d'autres variables d'environnement)
 
man su , paragraphe sur l'option "-" :D
 

Reply

Marsh Posté le 10-03-2004 à 16:11:40    

philou_a7 a écrit :


1) sans le shell de connexion, la variable SHELL est positionnée avec le nom seul du shell du user dont on prend l'identité.
 
2) Or, theoriquement, pour qu'un shell lise ses fichiers de démarrage, il faut que SHELL soit positionnée à "bash-" ou "csh-" par exemple


 
1) oui tout a fait
 
2) tu veux en venir ou ? :heink:  
 
(pour le man je l'ai lu merci)

Reply

Marsh Posté le 10-03-2004 à 16:19:56    

je crois que le monsieur devrais taper :

xhost +local:root


 
dans un xterm avec son user avant de taper:

su


pour passer root.
 
et voilà  :sol:

Reply

Marsh Posté le 10-03-2004 à 16:30:03    

Bon, c'est marrant comme certains semblent avoir du mal a cerner le probleme :  
 
je n'ai pas BESOIN d'une solution, mais de COMPRENDRE ce qui coince, vu que j'ai une solution alternative. Une fois que j'aurai compris ou ca bloque j'essairai par moi meme de trouver une solution.  
 
@nikosaka : ca marche :jap:


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
Reply

Marsh Posté le 10-03-2004 à 16:37:28    

kahyman a écrit :

tu veux en venir ou ?


 
au fait que le ".shellrc" ne sera lu qu'avec "su -" :kaola:  
 
sinon, pour le probleme de depart, essaie de lancer just xhost pour voir la difference entre "xhost +", "xhost +root" et "xhost +local:root", tu aura peut etre ta reponse

Reply

Marsh Posté le 10-03-2004 à 16:39:20    

philou_a7 a écrit :


 
au fait que le ".shellrc" ne sera lu qu'avec "su -" :kaola:  
 
sinon, pour le probleme de depart, essaie de lancer just xhost pour voir la difference entre "xhost +", "xhost +root" et "xhost +local:root", tu aura peut etre ta reponse


Je l'ai eu, merci :jap: Mais que la discussion sur les su continue, elle est instructive.


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
Reply

Marsh Posté le 10-03-2004 à 16:56:56    

philou_a7 a écrit :


 
au fait que le ".shellrc" ne sera lu qu'avec "su -" :kaola:  
 
sinon, pour le probleme de depart, essaie de lancer just xhost pour voir la difference entre "xhost +", "xhost +root" et "xhost +local:root", tu aura peut etre ta reponse


 
J'ai un user test utilisant sh, et root utilise csh. Que test fasse su ou su - /root/.cshrc est bel et bien lu.
 
une fois la variable SHELL positionnee par su, le shell est lance et c'est ce dernier qui va lire son fichier de config (.shrc pour sh, .bashrc pour bash, .cshrc pour csh, .tcshrc pour tcsh...)
 
Edit :
 
Finalement c'est possible qu'on ait raison tous les deux...
 
Je parle du comportement sous FreeBSD, possible que sous linux ce ne soit pas le meme (sous Solaris le comportement est encore different)


Message édité par Kahyman le 10-03-2004 à 17:05:28
Reply

Marsh Posté le 10-03-2004 à 17:57:48    

ah oui je parle que pour linux, là, pour les autres unices, je sais pas, faut voir le man

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed