Fink

Utilisation de X11 - 4. Lancement de X11

4.1 Darwin

Sous Darwin, XFree86 se comporte comme sur n'importe quel autre système Unix. En général, on le lance à partir de la console avec la commande startx ; elle lance le serveur et un certain nombre de clients, tels le gestionnaire de fenêtres et un émulateur de terminal avec shell. Sous Darwin, il n'est pas nécessaire de fournir des paramètres, on peut simplement utiliser :

startx

Vous pouvez personnaliser le lancement en utilisant différents fichiers placés dans votre répertoire utilisateur. .xinitrc gère les clients à lancer. .xserverrc gère les options du serveur et peut aussi lancer un autre serveur. Si vous n'arrivez pas à démarrer correctement (vous obtenez un écran blanc ou XFree86 s'arrête immédiatement), vous pouvez commencer par déplacer ces fichiers ailleurs, pour tenter de résoudre le problème. Quand startx ne trouve pas ces fichiers, il utilise des paramètres par défaut qui devraient convenir.

Vous pouvez aussi démarrer le serveur directement avec l'une des options XDMCP, comme ceci :

X -query remotehost

Vous trouverez de plus amples informations dans la man page Xserver.

Enfin, il existe une option pour paramétrer xdm ; voir la man page pour de plus amples informations.

Note : si vous utilisez Mac OS X antérieur à Panther, vous pouvez saisir >console dans la fenêtre d'ouverture de session. Vous accéderez ainsi à une console texte équivalente à Darwin. Si aucun champ pour saisir un nom d'utilisateur n'apparaît dans la fenêtre d'ouverture de session, tapez simplement la première lettre du nom d'un utilisateur quelconque, puis appuyez simultanément sur alt-retour chariot. Vous pourrez alors utiliser n'importe quelle méthode de démarrage ci-dessus, à l'exception de xdm.

Note : il est impossible de démarrer XFree86 à partir de la console sous Mac OS X Panther et suivant.

4.2 Mac OS X + XFree86 4.x.y

Il y a deux façons de lancer XFree86 sous Mac OS X. L'une est de double-cliquer sur l'application XDarwin.app, située dans le répertoire Applications. Vous pouvez alors choisir entre le mode plein écran et le mode sans racine dans la fenêtre de dialogue qui apparaît à l'écran au lancement. Vous pouvez désactiver cette fenêtre de dialogue et indiquer le mode de démarrage automatique souhaité dans les préférences de XDarwin.

Avant la version 4.2.0, XDarwin démarrait automatiquement en mode plein écran, et il n'y avait aucun moyen de le faire démarrer en mode sans racine en double-cliquant sur l'application.

La seconde façon de démarrer XFree86 sous Mac OS X est de lancer la commande startx dans Terminal.app. Si vous démarrez le serveur de cette façon, vous devez lui indiquer qu'il fonctionnera en parallèle avec Quartz. Ce qui se fait en utilisant l'option -fullscreen :

startx -- -fullscreen

Le serveur démarre alors en mode plein écran, et les clients mentionnés dans le fichier .xinitrc sont lancés.

Note : antérieurement à la version 4.2, on utilisait l'option -quartz pour démarrer en mode plein écran.

Vous pouvez le lancer en mode sans racine avec l'option -rootless :

startx -- -rootless

L'option -quartz ne sert plus à passer en mode plein écran, mais à utiliser le mode défini dans les préférences.

À partir de la version 4.3, la fenêtre de dialogue de démarrage apparaît quand on utilise startx sans paramètres.

4.3 Lancement de X.org

X.org marche en tout point de façon identique à XFree86.

4.4 Lancement de X11 d'Apple

X11 d'Apple fonctionne de la manière similaire à XFree86 (c'est-à-dire qu'il utilise un fichier .xinitrc pour contrôler les clients lancés au démarrage). On le lance normalement en double-cliquant sur l'icône de X11.app (situé dans le répertoire /Applications/Utilitaires). Vous pouvez aussi utiliser startx, mais il n'existe pas d'option en ligne de commande pour choisir le mode d'affichage ; dans ce cas, X11.app démarre dans le mode précédemment choisi dans ses préférences.

Par défaut, le gestionnaire de fenêtres est quartz-wm d'Apple. Vous pouvez passer de mode plein écran en mode sans racine en changeant l'option correspondante dans les préférences de X11.app. Il n'est pas nécessaire de redémarrer pour que le changement ait lieu. Néanmoins, ceci ne fonctionne pas avec quartz-wm, il faut choisir un autre gestionnaire de fenêtres (par exemple dans .xinitrc).

4.5 applex11tools

Le paquet applex11tools de Fink vous permet d'utiliser X11.app et quartz-wm sous Mac OS X 10.3 et suivant avec XFree86 4.4 et suivant ou X.org.

Pour installer ce paquet, vous devez activer la branche instable et avoir installé le paquet X11User.pkg dans la hiérarchie /Users ou /Volumes. X11.app sera installé dans le dossier Applications de l'arborescence Fink. Vous pourrez alors utilisé soit X11.app ou XDarwin.app.

4.6 Fichier .xinitrc

S'il existe dans votre répertoire utilisateur un fichier nommé .xinitrc, il sera utilisé pour lancer quelques clients X au démarrage, tels le gestionnaire de fenêtre, quelques xterm ou un environnement de bureau comme GNOME. Le fichier .xinitrc est un script shell qui contient les commandes pour ce faire. Il n'est pas nécessaire de mettre le traditionnel #!/bin/sh dans la première ligne du fichier et de rendre exécutable le fichier ; xinit sait le lancer via un shell.

S'il n'existe pas de fichier .xinitrc dans votre répertoire utilisateur, X11 utilise le fichier par défaut /private/etc/X11/xinit/xinitrc. Vous pouvez vous servir de ce fichier comme base pour votre propre fichier .xinitrc :

cp /private/etc/X11/xinit/xinitrc ~/.xinitrc

Si vous utilisez Fink, vous devez sourcer init.sh en début de fichier pour garantir une définition corrrecte de votre environnement.

Vous pouvez mettre à peu près n'importe quelle commande dans un fichier .xinitrc, mais il faut tenir compte des éléments suivants. Tout d'abord, le shell qui interprète le fichier attend, par défaut, que chaque programme lancé soit terminé avant de lancer le suivant. Si vous voulez lancer plusieurs programmes en parallèle, vous devez indiquer au shell qu'il doit les faire tourner en "arrière-plan", en ajoutant un & à la fin de la ligne.

Ensuite, xinit attend que le script .xinitrc se termine et interprète sa fin ainsi : "la session est terminée, je dois aussi tuer le serveur X maintenant". Cela signifie que la dernière commande du fichier .xinitrc ne doit pas tourner en arrière-plan et que cette commande doit être un programme de longue durée. En général, on utilise le gestionnaire de gestionnaire comme dernière commande. En fait, la plupart des gestionnaires de fenêtres partent du principe que xinit attend qu'ils se terminent et utilisent cela pour faire fonctionner l'article de menu "Fin de session". (Note : pour restreindre l'usage de la mémoire et le nombre de cycles CPU, vous pouvez mettre un exec au début de la dernière ligne comme dans les exemples ci-dessous.)

Exemple de démarrage de GNOME :

. /opt/sw/bin/init.sh
exec gnome-session

Exemple plus complexe pour les utilisateurs de bash qui suppriment les alertes X11, lance un certain nombre de clients et le gestionnaire de fenêtres Enlightenment :

. /opt/sw/bin/init.sh

xset b off

xclock -geometry -0+0 &
xterm &
xterm &

exec enlightenment

Pour démarrer GNOME 2.2 sous X11 d'Apple, utilisez les commandes suivantes :

. /opt/sw/bin/init.sh
quartz-wm --only-proxy &
metacity &
exec gnome-session

Pour GNOME 2.4 sous X11 d'Apple, metacity est lancée automatiquement, les commandes sont donc réduites à :

. /opt/sw/bin/init.sh
quartz-wm --only-proxy &
exec gnome-session

Pour lancer KDE 3.2 (version < 3.2.2-21) sous X11 d'Apple :

. /opt/sw/bin/init.sh
export KDEWM=kwin
quartz-wm --only-proxy &
/opt/sw/bin/startkde >/tmp/kde.log 2>&1

Et enfin pour lancer la toute dernière version de KDE sous X11 d'Apple :

. /opt/sw/bin/init.sh
/opt/sw/bin/startkde >/tmp/kde.log 2>&1

4.7 OroborOSX

OroborOSX est une solution de remplacement pour les serveurs d'affichage X11.app et XDarwin display servers. Elle nécessite l'installation préexistante de X11 pour fonctionner. X11.app et XDarwin.app continuent à fonctionner en sa présence.

Au lancement, OroborOSX lance son propre gestionnaire de fenêtres sans racine, mais ne lit ni le fichier xinitrc du système, ni le fichier .xinitrc de l'utilisateur. Après lancement, on peut activer l'option de menu correspondante pour exécuter le fichier .xinitrc. Néanmoins, OroborOSX a sa propre façon de définir les applicattions à lancer au démarrage. Il possède aussi un mécanisme de démarrage des applications X11 à partir du Finder via des scripts de démarrage.

Pour de plus amples informations, allez sur la page d'accueil d'OroborOSX.

Suite: 5. Xtools