Connexion graphique à distance sur un Sun Blade 2000 sous OpenBSD 4.3
J'ai une station Sun Blade 2000 plutôt bien équipée comme vous pouvez le voir avec les caractéristiques suivantes :
| Matériel | Sun Blade 2000/1000 |
|---|---|
| CPUs | 2 X UltraSPARC-III+ à 1,2 GHz |
| Mémoire | 3Go |
| Disques | 2x73Go SCSI 10000 tr/s |
| Carte graphique | XVR-500 |
OpenBSD tourne très bien dessus, c'est d'ailleurs le seul système libre à fonctionner sur ce type d'architecture (avec OpenSolaris of course). Les autres systèmes libres fonctionnant sur de l'UltraSparc s'arrêtent à la version II du processeur. Une petite parenthèse, pour ces autres systèmes libres, le support devrait rapidement s'améliorer, vu que Sun est devenu prolixe quant à la fourniture des spécifications de ses processeurs!
J'ai tout de même un soucis, c'est le support graphique de la carte graphique qui n'existe pas pour la XVR-500. Ce support existe par exemple en framebuffer pour des cartes comme la Creator (dont Creator 3D) et j'en ai, mais je préfère utiliser mes 2 écrans LCD sur mon PC AMD64 installé avec une Debian Lenny et une carte graphique ATI Radeon X800 PRO/GTO dont le support et le confort d'utilisation est bien meilleur
Aussi je vais me servir du PC sous Debian et de ses deux écrans comme les yeux de la Sun Blade. Pour cela, je met en place une connexion graphique à distance sur celle-ci depuis le PC et c'est l'objet de cette note.
Environnement de la manip
La machine cible :
yann@berder$ uname -a OpenBSD berder.labelle.net 4.3 GENERIC.MP#134 sparc64
La machine pour lancer la connexion graphique :
yann@glenan$ uname -a Linux glenan 2.6.24-1-amd64 #1 SMP Fri Apr 18 23:08:22 UTC 2008 x86_64 GNU/Linux
Configuration de XDM sur OpenBSD
Le démarrage de xdm au lancement de la station est configuré dans /etc/rc.conf.local :
xdm_flags=""
Il nous faut désactiver la configuration de xdm pour une session locale, elle nous est inutile. Cela se fait dans le fichier /etc/X11/xdm/Xservers en commentant la ligne suivante :
#:0 local /usr/X11R6/bin/X :0
Nous voulons nous connecter à distance via le protocole XDMCP, il faut pour cela l'autoriser sur l'hôte et cela se fait dans le fichier de configuration par défaut de xdm qui contrôle et défini les éléments de base et les autres fichiers de configuration utilisés. Ce fichier de configuration par défaut, c'est /etc/X11/xdm/xdm-config et nous y modifions la ligne suivante comme ceci :
DisplayManager.requestPort: 177
rem: nous utilisons pour cet exemple, le port d'écoute XDMCP par défaut qui est le port 177.
Dans le fichier /etc/X11/xdm/Xaccess nous pouvons configurer les autorisations et modes de connexions graphiques à distance via le protocole XDMCP :
*.labelle.net glenan LISTEN 192.168.0.102
Dans cet exemple, nous autorisons à l'ensemble des machines du domaine labelle.net ainsi que la machine glenan à ouvrir une session graphique en mode Direct ou Broadcast.
xdm n'écoute ici que sur l'interface configurée avec l'adresse IP 192.168.0.102.
Ouverture d'une session graphique avec Xnest
La requête directe de connexion graphique depuis berder sur la machine cible est traité pour l'exemple avec la commande Xnest.
Xnest :1 -query berder -name berder -geometry 1024x768
Quelques précisions sur les options utiliser (voir aussi la page de manuel de Xnest :
:1→ le display 0 est déjà utilisé par le serveur graphique sur berder, nous utilisons donc le suivant.-query berder→ requête directe XDMCP de Xnest vers la machine cible.-name berder→ Nom donné à la fenêtre de lancement de la session graphique.-geometry 1024×768→ Résolution graphique prise en compte dans Xnest pour lancer la session graphique.
Cette commande nous donne la fenêtre de connexion graphique suivante (la résolution est diminuée à 800×600 ici) :
Nous allons maintenant créer un script au nom de la machine cible afin de lancer rapidement une session graphique à partir de celle-ci depuis la machine de connexion glenan.
Pour cela nous éditons le script connect_xdmcp.sh dans le répertoire $HOME/bin/ (il faut que celui-ci soit bien sûr dans la variable PATH) :
#!/bin/sh # connect_xdmcp.sh - 20080504 - Yann Le Thieis # # Script de lancement sur la machine cible dont le nom est le nom # de la commande à lancer. # Pour ajouter une machine cible de connexion, faire un lien symbolique vers # ce script. Xnest :1 -query $(basename $0)
rem: assurer vous que les droits d'exécution soient bien appliqués à ce script!
Ensuite il suffit de faire un lien symbolique avec le nom de la machine cible :
bash$ ln -s $HOME/bin/connect_xdmcp.sh $HOME/bin/berder
Dernière chose, Xnest n'est pas installé par défaut sur la Debian, alors profitons du confort d'utilisation et de la puissance du gestionnaire de paquets APT pour l'installer en un tour de main :
sudo apt-get install Xnest




Discussion