Accueil > Nouvelles Mac Dev > Serveur X Window sous Mac OS X

Serveur X Window sous Mac OS X

Le terme “Serveur X sans racine” peut induire en erreur. Dans ce cas, “racine” ne se réfère pas “au super-utilisateur” comme c’est souvent le cas. Sa signification dans cet article est que vous pouvez lancer un programme avec une interface “X Window” directement sur le bureau de Mac OS X sans que l’application ne soit liée au bureau original de l’ordinateur (autrement dit, Aqua). Le programme s’exécute alors “sans racine”.

Note du traducteur : Pour une meilleure compréhension, nous parlerons de “Serveur X autonome”.

Le serveur X autonome est disponible immédiatement. Les gars de MacGimp.org vendent les fichiers binaires de XFREE86 4.0.3 avec un patch permettant de le faire tourner de manière dans ce mode. L’évolution du serveur X autonome a été interrompue suite à des changements apportés dans d’autres parties du code et le travail n’a pas été repris de nouveau. J’ai vérifié le statut du projet sur Sourceforge.net et la ligne projet se rapportant au Serveur X autonome indique une finition à 85%. Mais je ne suis pas certain de la précision de ce statut. Je sais par contre que le Serveur X autonome ne fait pas partie de la dernière version 4.1.0 de XFREE86.

En lisant les forums “X sur X”, je suis tombé par hasard sur un patch récent de XFREE86 4.1.0 censé réimplémenter la fonctionnalité d’autonomie. Après avoir débattu sur ce patch, j’ai effectué la compilation du source de XFree86. Selon le message accompagnant le patch, celui-ci ramène les parties du code, qui avaient été altérées et qui ne permettaient plus de lancer le serveur X de manière autonome, en arrière. J’ai aussi remarqué un message qui suggère de compiler le source du CVS (1) courant pour XFREE86 et de lancer X avec l’option -rootless. CVS semble indiquer que je suis sur la bonne voie.

Obtention XFree86 via CVS

La façon la plus facile d’obtenir XFREE86 est de télécharger les fichiers binaires pré-compilés pour votre OS. Cependant, les fichiers binaires sont seulement disponibles qu’au moment de la sortie d’une nouvelle version. Pour obtenir le code le plus à jour, nous devons employer CVS. CVS est un outil de gestion des codes sources et il est employé par beaucoup de projets open-source. CVS est déjà installé sur Mac OS X.

L’obtention du code via CVS est tout à fait facile et, si le téléchargement est interrompu, il reprendra là où il s’est arrêté.

Les instructions sur la manière d’obtenir XFREE86 par CVS sont placées sur la page web XFREE86 CVS. Elles décrivent plusieurs manières d’obtenir le code. Je vous montrerai ici la manière la plus facile.

Ouvrez une fenêtre terminale et tapez ceci :

cvs -d :pserver:anoncvs@anoncvs.xfree86.org:/cvs login

Un mot de passe vous sera demandé, tapez “anoncvs“. Cela permet d’être connecté au pserver CVS et, de là, nous pouvons lancer des commandes CVS régulières. Pour obtenir le code, nous voulons employer checkout.

cvs -d :pserver:anoncvs@anoncvs.xfree86.org:/cvs checkout xc

Cette commande commencera un grand processus de téléchargement qui placera plusieurs milliers de fichiers et de répertoires sur votre disque dur. C’est le code source de XFREE86 et selon votre vitesse de connexion, le téléchargement peut prendre quelque temps.

J’ai téléchargé avec un modem et j’ai été débranché plusieurs fois. Après plus de deux jours d’essai, j’ai finalement récupéré tous les fichiers. J’ai tapé alors un du -ks xc et ai découvert que j’étais le fier propriétaire de 300MBs de code source.

L’étape suivante consiste à compiler tout le code que nous avons téléchargé.

cd xc
make World > world.log &
tail -f world.log

Le processus de construction a pris plusieurs heures sur mon iBook mandarine et à la fin j’avais 520MBs de fichiers, y compris le code source. L’étape suivante consiste à installer ce que nous venons de compiler.

sudo make install > install.log &
password:
tail -f install.log

En précédant la commande de sudo, nous invoquons nos pouvoirs de super-administrateur. Un mot de passe vous sera demandé. Quand vous le taperez, il ne s’affichera pas à l’écran, donc vous ne verrez pas ce que vous entrerez.

(1) - Concurrent Versions System, le système dominant de contrôle et de suivi de version des projets open-source. Site officiel : cvshome.org

Le patch a été installé sur ma vieille copie de XFREE86 4.1.0 sans problème. Mis à part le temps qu’il a fallut, le processus s’est déroulé sans douleur.

Après son installation, j’ai eu envie de cliquer sur l’icône XDARWIN pour voir si quelque chose de différent allait arriver. J’ai alors été accueilli par un écran qui m’a demandé si je voulais lancer XFREE86 en mode plein écran ou en mode autonome.

Copie d'écran.

J’ai choisi le mode autonome puis il a continué à charger le serveur X en se plaçant au dessus de toutes mes fenêtres actives. Je n’avais encore rien configuré, il a donc chargé twm comme gestionnaire de fenêtre. La configuration par défaut charge trois fenêtres xterm et un xclock. Il apparaît que les réglages par défaut sont optimisés pour travailler avec une résolution d’écran de 1024 x 768 ou plus. Mon iBook n’étant capable que d’une résolution de 800 x 600, mon bureau a pris l’apparence illustrée ci-dessous.

Copie d'écran.

La première chose que j’ai remarquée était que la barre de menu principale couvrait la partie supérieure de la fenêtre m’empêchant de saisir et de la déplacer. La fenêtre était aussi coupée par le bas, donc je ne pouvais pas la redimensionner. En appuyant sur command+option+a, j’ai pu alors activer et désactiver la barre de menus. Le dock a aussi disparu en même temps. Cela m’a permis de prendre ma fenêtre et de la déplacer, mais toutes ces manipulations étaientt quelque peu génantes.

J’ai alors créé un fichier.xinitrc dans mon répertoire de départ (”home directtory”).

vi ~/.xinitrc
xterm &
xterm &
twm

J’ai ajouté ces commandes de manière à démarrer le gestionnaire de fenêtre, twm, accompagné d’un couple de fenêtres xterm.

Après avoir relancé le serveur X, plus rien ne semblait être affiché. Cependant, en appuyant sur command+option+a, je m’aperçus que les fenêtres xterms avait été initialisées en mode “réduit au minimum” et qu’elles étaient cachées sous la barre de menu.

Vous pouvez passer des paramètres à xterm pour lui indiquer son apparence initiale. Donc, j’ai apporté les changements suivants à la ligne xterm :

xterm -geometry 80x20+94-50 &

Maintenant, j’obtiens une fenêtre beaucoup de taille beaucoup plus raisonnable quand je démarre X.

Les préférences XDARWIN ont aussi subit quelques changements. Les préférences vous permettent de régler les paramètres par défaut au démarrage du serveur autonome, de changer l’ordre des clés de basculement de la barre des menus et de changer quelques autres boutons. J’ai fait en sorte que mon serveur démarre en mode autonome par défaut, en évitant qu’on me le demande à chaque fois.

Voici quelques autres astuces pratiques que j’ai récoltées.

Pour quitter X, choisissez juste l’article de menu correspondant. Mais vous pouvez aussi maintenir un clic sur l’icône du dock et choisir quitter à partir du menu déroulant qui s’affiche.

Si vous sélectionnez quelque chose dans une fenêtre X Window, la sélection devient immédiatement collable dans une fenêtre Aqua en employant command+v. Si vous voulez coller quelque chose dans une fenêtre X Window, employez command+click.

Si vous fermez toutes vos fenêtres xterm, vous pouvez en initialiser une nouvelle à partir du Terminal. En réalité, vous pouvez commencer n’importe quel programme X à partir du Terminal. Cependant, le Terminal ne sera pas capable d’ouvrir l’affichage à moins que vous ne régliez la variable d’environnement relative à l’affichage ou que vous lui indiquiez explicitement vers quel affichage il doit se connecter. Le numéro de l’affichage est 0 et est configurable dans les préférences XDARWIN. Essayez de lancer une fenêtre xterm à partir du Terminal Aqua comme cela :

xterm -geometry 80x20+94-50 -display :0.0

Voilà ! Cela devrait suffire pour que vous puissiez vous servir du serveur X sous Mac OS X. Personnellement, je n’aime pas vraiment le gestionnaire de fenêtre réglé par défaut et en expérimenterai d’autres. Si vous connaissez un bon gestionnaire de fenêtre pour “X autonome sous X”, faites le moi savoir et je passerai en revue quelques-uns d’entre eux dans mon article suivant.

Après écriture de cet article, j’ai constaté que le projet X sous X avait sorti un patch pour XFREE86 4.1.0 qui permet d’obtenir un serveur X autonome. Le patch est basé sur un contrôle CVS de même période que celle où j’ai compilé ma copie, donc vous devriez obtenir les mêmes résultats.

Chris Coleman est le Rédacteur Open Source dédié du réseau O’Reilly et est activement impliqué dans des projets communautaires tels que OpenPackages.org et Daemon News.

Textes originaux sur O’Reilly : Rootless X Server on Mac OS X by Chris Coleman

Thierry Nouvelles Mac Dev ,

  1. Pas encore de commentaire
  1. Pas encore de trackbacks
S'abonner aux commentaires de cet article