Niveau :      
Résumé : Xephyr :1&

Il y a certains outils dont on se demande parfois l'utilité, qui ont été faits pour faire des tests et qui s'avèrent finalement bien pratiques dans des situations bien particulières.

Xephyr

Xephyr est un serveur X qui ne fonctionne que dans un autre serveur X. C'est-à-dire que pour le serveur X existant, il s'agit d'une simple fenêtre mais pour l'application qui affiche sur ce serveur, il s'agit d'un vrai serveur X.

Comment ça marche ?

# A lancer dans un terminal ayant accès à un serveur X
$ Xephyr -ac :1 &
$ export DISPLAY=:1
$ xclock
  • L'option -ac indique de ne pas faire de contrôle d'accès pour nous simplifier le droit d'utiliser ce serveur X
  • L'option :1 dit que ce nouveau serveur X a pour identifiant 1. Sachant qu'il y a probablement déjà un serveur avec l'identifiant 0 sur votre machine. On peut indiquer n'importe quel nombre positif.
  • Le export DISPLAY indique aux commandes graphiques d'utiliser le serveur X d'identifiant donné sur la machine locale.
  • La commande xclock devrait vous ouvrir une horloge dans la fenêtre du nouveau serveur X.

xephyr.png Gnome et gimp dans Xephyr.

Utilité

Il m'est arrivé plusieurs fois de trouver une utilité à ce serveur Xephyr.

Tout d'abord pour tester un nouveau window manager sans risquer de casser l'environnement dans lequel on tourne. Il suffit de lancer le serveur Xephyr et le window manager à l'intérieur, ainsi, pas de risques.

Une autre fonction m'est apparue lorsqu'une application qui utilise la bibliothèque athena, s'est mise à refuser les entrées souris (semblerait-il a cause du window manager). J'ai donc créé un petit script pour la lancer a l'intérieur d'un Xephyr, sans window manager bien sûr. Ainsi plus de problème. On ferme la fenêtre X lorsqu'on n'en a plus besoin.

Une dernière utilisation, mais pas des moindres, l'accès à un bureau distant. Si vous avez une machine qui propose un login pas X à distance (par gdm,kdm,xdm), vous pouvez vous y connecter de la façon suivante :

$ Xephyr -query your.machine.net :1

Et vous vous retrouvez avec un login complet et ensuite le bureau distant dans une fenêtre. Il est possible de faire le même genre de chose avec gdmflexiserver

L'utilisation de Xephyr reste bien sûr anecdotique, mais il est toujours utile de connaître son existence.

PS : Xephyr est le remplaçant de Xnest, il apporte un support plus complet de certaines extensions, du clavier, de l'openGL ...