Cette excellente doc provient de :
Ecrit par : rémy @ 07/09/2004 | 11850 hit(s)
remy : http://www.labo-linux.com/index.php?page=membres&id=3
Doc reference : http://www.labo-linux.com/index.php?page=lumieres&id=347
Ecrit par : rémy @ 07/09/2004 | 11850 hit(s)
remy : http://www.labo-linux.com/index.php?page=membres&id=3
Doc reference : http://www.labo-linux.com/index.php?page=lumieres&id=347
Configuration d'XFree/Xorg
Nous partirons du principe que votre affichage graphique est configuré sur votre serveur et sur votre client.
Sur
certaines distributions, l'écoute du serveur graphique via TCP est
désactivée lors de l'appel du script startx. Il va falloir l'éditer
pour l'activer. L'option -nolisten tcp est à enlever.
Mais où est mon script startx ?
which startx
/usr/X11R6/bin/startx
Editons ce script :
userclientrc=$HOME/.xinitrc
userserverrc=$HOME/.xserverrc
sysclientrc=/etc/X11/xinit/xinitrc
sysserverrc=/etc/X11/xinit/xserverrc
defaultclientargs=""
defaultserverargs="-nolisten tcp -br"
clientargs=""
serverargs=""
Il doit maintenant ressembler à cela :
userclientrc=$HOME/.xinitrc
userserverrc=$HOME/.xserverrc
sysclientrc=/etc/X11/xinit/xinitrc
sysserverrc=/etc/X11/xinit/xserverrc
defaultclientargs=""
defaultserverargs=""
clientargs=""
serverargs=""
Si le script startx ne contient pas l'argument -nolisten tcp, il est possible que cela soit declare dans le fichier xserverrc :
rescue:/usr/X11R6/lib/X11/xinit# cat xserverrc
#!/bin/sh
#exec /usr/bin/X11/X -dpi 100 -nolisten tcp
exec /usr/bin/X11/X -dpi 100
rescue:/usr/X11R6/lib/X11/xinit#
On peut verifier par un netstat -lnp que le serveur X est à l'ecoute sur un port tcp :
rescue:/usr/X11R6/lib/X11/xinit# netstat -lnp | grep X
tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 14331/X
Sockets du domaine UNIX actives(seulement serveurs)
unix 2 [ ACC ] STREAM LISTENING 82725 14331/X /tmp/.X11-unix/X1
rescue:/usr/X11R6/lib/X11/xinit#
Nous
allons maintenant lancer un affichage graphique qui acceptera les
requêtes TCP/IP. Mais tout d'abord, nous allons éditer notre fichier
~/.xinitrc pour qu'il contienne une seule ligne qui permettra de lancer
un terminal :
exec xterm
Il nous suffit maintenant de
lancer startx sur un autre DISPLAY. Lorsqu'on lance startx sans
arguments, le DISPLAY localhost:0 est utilisé. Nous allons utiliser le
DISPLAY :1 pour pouvoir utiliser notre affichage graphique local en
plus de l'affichage distant.
startx -- :1
Desormais nous allons devoir autoriser notre serveur à joindre notre client grâce à la commande xhost
La syntaxe est la suivante : xhost + <IP>
Exemple (A taper dans notre terminal graphique xterm):
xhost + 172.16.34.1
172.16.34.1 being added to access control list
La machine 172.16.34.1 peut maintenant nous joindre !
Afficher des applications à distance
Il ne nous reste plus qu'a lancer une application. Pour cela nous allons utiliser la commande ssh de la manière suivante :
ssh -X -f username@server. DISPLAY=mon_ip:1 commande
L'option -X permet de spécifier que nous voulons utiliser le forward de X.
L'option -f permet de lancer une commande en arrière plan et de rendre la main ensuite.
username@server. : Notre serveur.
DISPLAY=mon_ip:1 commande est notre commande : Nous indiquons notre machine et notre DISPLAY avant notre commande.
Je possède le compte supinfo sur la machine distante 172.16.34.2. Mon ip est 172.16.34.1. Je souhaite lancer l'utilitaire xclock
ssh -X -f supinfo@172.16.34.2. DISPLAY=172.16.34.1:1 /usr/X11R6/bin/xclock
Afficher un environnement complet
Le principe est exactement le même :
5.1 Gnome
Remplaçez le chemin vers votre binaire gnome-session (which gnome-session)
ssh -X -f supinfo@172.16.34.2. DISPLAY=172.16.34.1:1 /usr/bin/gnome-session

5.2 KDE
ssh -X -f supinfo@172.16.34.2. DISPLAY=172.16.34.1:1 /usr/kde/cvs/bin/startkde
5.3 Fluxbox
ssh -X -f supinfo@172.16.34.2. DISPLAY=172.16.34.1:1 /usr/bin/fluxbox