Chapitre : X Window
par tous les amis de Léa
Le copyright de chaque article est détenu
par son auteur.
Le copyright du livre lui-même est détenu par Léa
(Association Loi 1901).
Les articles de ce livre sont diffusés selon la license GPL (GNU
General Public License), sauf mention explicite dans l'article.
Copyright (c) 2003 Association Léa.
This documentation is free documentation; you can redistribute it
and/or modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This documentation is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of
the GNU General Public License along with this program; if not,
write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
MA 02139, USA.
For the purpose of applying the GPL to this document, I
consider "source code" to refer to the html source.
X Window est le sous-système graphique de Linux (voir le glossaire).
Nous allons voir ici comment l'installer, le configurer, régler les problèmes, etc.
La logithèque de Léa présente une liste de gestionnaires d'environnement et de fenêtres pour Linux, avec les liens vers leurs sites web, et des copies d'écran.
par Jean-Christophe & Serge
L'interface graphique reine sous Linux.
Remarque valable pour tout l'article : le fichier de configuration
de X Window, XF86Config, se situe à divers endroits suivant
votre distribution (/etc ou /etc/X11 ou ...).
C'est le sous-système graphique de Linux.
X Window n'est pas seulement un driver pour la carte vidéo, c'est aussi une interface (API) pour les applications, afin qu'elles affichent à l'écran et reçoivent l'entrée du clavier et de la souris.
X est aussi un serveur réseau, c'est à dire qu'il
peut également offrir ses services à travers un réseau,
ce qui permet d'afficher sur un écran une application qui s'exécute
sur une autre machine, même si les deux architectures sont complètement
différentes. C'est pourquoi on parle de serveur X pour désigner
le sous-système graphique. Le système X Window tourne sur
quasiment tous les Unix, et a même été porté
sous Windows ou OS/2.
Quasiment tous les logiciels graphiques sous Linux utilisent X, vous
pouvez donc les faire fonctionner à travers un réseau comme
décrit ci-dessus.
L'utilisateur n'interagit pas directement avec X, mais plutôt
avec ce qu'on appelle des clients X (par opposition au serveur X). Vous
utilisez sans doute des clients comme un Gestionnaire
de fenêtres (window manager), ou un Environnement
de bureau (desktop environnment) comme KDE ou Gnome. Pour vous connecter,
peut-être utilisez vous aussi un Display
manager, comme KDM ou XDM. Au dessus de ces clients se trouvent les
applications.
Le système X Window (ou X Window system, ou X Window, ou encore
X) est une marque déposée du X
Consortium. Les serveurs X libres distribués avec Linux proviennent
du projet XFree86.
Remarque :
En comparaison à Windows, Macintosh and so on... Dans Windows,
tout est compris dans la même boîte, le sous-système
graphique, l'interface graphique et des applications de base. De même
pour le Mac, BeOS, etc. On ne fait pas facilement la différence
entre les composants.
Dans le monde X, ce sont des composants séparés, qui
pris ensemble forment l'interface graphique utilisateur. Cela semble peut-être
compliqué, mais cela a un grand avantage : vous pouvez choisir chacun
des composants selon votre goût et vous construire l'interface graphique
qui vous plaît le plus. c'est ce qui vous permet par exemple, de
remplacer le gestionnaire de fenêtre Enlightment par WindowMaker
dans l'environnement de bureau Gnome.
Il est cependant des cas ou vous devrez/voudrez installer vous-même votre serveur X à la main.
Vous devez alors utiliser le serveur X qui correspond à votre carte graphique. Pour ce faire, vous devez trouver sa marque et son type exact. Regardez dans la documentation livrée avec l'ordinateur, ou contactez la personne qui vous l'a vendu, ou encore si vous le pouvez, ouvrez le boîtier et regardez ce qui est écrit sur la plus grosse puce présente sur la carte vidéo.
Lors de l'installation, si la carte n'est pas reconnue automatiquement, il y a de grandes chances pour que vous la trouviez dans la (longue) liste de cartes proposée par l'installation ou les programme de configuration.
Sinon, vous pouvez encore visiter les pages du projet XFree86 afin de rechercher votre carte dans la liste du matériel supporté. Si vous ne la trouvez pas, vous pouvez demander de l'aide sur les newsgroups ou les listes de distribution (mailing lists) Linux (la liste du site par exemple !)
Lorsque vous avez trouvé ces renseignements, une page du site
XFree vous donne le serveur X à utiliser. Commencez par regarder
si ce serveur n'est pas sur le CD de votre distribution, ou bien téléchargez-le
depuis un des mirroirs du site XFree (vous devez télécharger
un seul fichier dans le répertoire servers, environ 1 à
2 Mo).
Avez-vous visité le site du fabricant de la carte ? Certains commencent à offrir des serveurs X pour leurs cartes.
Vous pouvez utiliser le mode VGA (640x480 16 couleurs !!!) : pratiquement toutes les cartes supportent ce mode.
Si cela ne vous suffit pas (étonnant non ? :) vous pouvez essayer d'utiliser le frame buffer. C'est une nouvelle fonctionnalité du noyau qui permet d'utiliser les capacités du standard VESA 2, implémenté dans la plupart des cartes vidéo assez récentes.
Enfin, vous pouvez acheter un serveur X commercial qui supporte votre matériel : leur liste de cartes supportée est plus longue et à jour que celle de XFree.
L'installation de X pour frame buffer n'est pas de tout repos : il faut recompiler le noyau afin d'activer le support frame buffer, puis installer le serveur X pour Frame buffer. De plus, ce serveur est plus lent que le serveur prévu pour votre carte, car il ne peut pas être optimisé (le frame buffer utilise les spécifications du standard VESa 2). Cependant rassurez-vous, la lenteur n'est que relative et il est encore assez rapide. C'est donc la solution de la dernière chance si votre carte vidéo n'est pas supportée.
Il suffit (!) de compiler le noyau (voir la rubrique noyau), en y ajoutant les options nécessaires au Frame buffer :Menu Code maturity level options
Prompt for development and/or incomplete code/drivers : Y
Menu Console drivers
Video mode selection support : Y
Support for frame buffer devices : Y
VESA VGA graphic console : YN'oubliez pas de bien spécifier les autres options du noyau (voir la rubrique noyau).
Installez-le suivant les indications de la rubrique noyau, mais avant de lancer LILO, ajoutez "vga=ask" au début du fichier /etc/lilo.conf. Si vous utilisez LOADLIN, ajoutez vga=ask à la ligne de commande du noyau. Bref, passez au noyau le paramètre vga=ask lors du boot.
Lorsque plus tard, après avoir testé, vous serez décidé pour un mode, vous pourrez entrer directement vga=0x114 par exemple. Au prochain reboot, lorsque le noyau vous demandera quel mode vous souhaitez, entrez l'un des modes ci-dessous.Table des modes disponibles (extrait de /usr/src/linux/Documentation/fb/vesafb.txt)
| 640x480 800x600 1024x768 1280x1024
----+-------------------------------------
256 | 0x101 0x103 0x105 0x107
32k | 0x110 0x113 0x116 0x119
64k | 0x111 0x114 0x117 0x11A
16M | 0x112 0x115 0x118 0x11B
Avant d'installer le serveur, vous devez démarrer votre ordinateur en mode texte (passez le paramètre '3' au noyau, par exemple, en tapant 'linux 3' au prompt de LILO).
Vous devez installer le package XFree86-Xvfb :
[root@taz root]# rpm -i /cdrom/Mandrake/RPMS/XFree86-Xvfb-*.rpm(remplacez le chemin /cdrom/Mandrake/RPMS par celui correspondant à votre distribution).
Vérifiez que le lien /etc/X11/X pointe bien vers Xvfb, sinon faites :
[root@taz root]# rm -f X ; ln -s /usr/X11R6/bin/Xvfb /etc/X11/X(Sur certaines distributions, ce lien X se trouve dans /usr/X11R6/bin).
Enfin, modifiez votre fichier /etc/X11/XF86Config ou bien utilisez Xconfigurator, xf86config ou un de ses potes pour configurer votre serveur. Vous pouvez vous inspirer de l'exemple ci-dessous :
Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "unix/:-1" EndSection Section "ServerFlags" EndSection Section "Keyboard" Protocol "Standard" XkbRules "xfree86" XkbKeymap "xfree86(fr)" EndSection Section "Pointer" Protocol "PS/2" # remplacez par le bon pour votre souris Device "/dev/mouse" Emulate3Buttons # enlevez-le suivant votre souris EndSection Section "Monitor" Identifier "moniteur" EndSection Section "Device" Identifier "carte" EndSection Section "Screen" Driver "FBDev" Device "carte" Monitor "moniteur" SubSection "Display" Modes "default" EndSubSection EndSection
Attention : ne choisissez pas les fréquences au hasard, car vous risquez d'endommager votre moniteur (surtout si celui-ci est ancien). Si quelquechose se passe mal, ne dites pas que c'est de ma faute !
Pour les écrans LCD (PC portables ou nouveaux écrans plats), c'est différent car pour eux les fréquences de rafraîchissement n'ont aucun sens . Il suffit de choisir quelquechose comme "Generic LCD 1024x768", avec la résolution que votre écran supporte.
Après avoir choisi le moniteur, vous devez sélectionner les modes d'affichage qui seront disponibles (résolution, couleurs). En fonctionnenemt, vous pourrez changer de résolution en tapant Ctrl-Alt + ou Ctrl-Alt -.
Lorsque le programme de configuration de X se termine, il crée le fichier de configuration, en général /etc/X11/XF86Config. Vous pouvez l'éditer à la main, mais vérifiez que X se lance toujours par startx avant de redémarrer votre ordinateur s'il démarre directement sous X ! (en général, tapez "init 3" sur une ligne de commande, puis "startx" pour redémarrer X. Si cela fonctionne, quittez X puis tapez "init 5" pour vous remettre en état normal.)
Dans les deux cas, vérifiez que le lien /etc/X11/X pointe bien vers le serveur. Si ce n'est pas le cas faites :
[root@taz root]# rm -f /etc/X11/X [root@taz root]# ln -s /usr/X11R6/bin/XF86_<votre serveur X> /etc/X11/XEnsuite, vous devez éditer le fichier /etc/X11/XF86Config à la main afin de spécifier les différents modes, les fréquences, le clavier, la souris, etc. Il est bon de partir d'un fichier généré par un programme comme xf86config et de le modifier. Si vous changez juste de carte vidéo, vous pouvez vous inspirer fortement de l'ancien fichier.
Enfin, vous devez vérifier que cela fonctionne : en général, tapez "init 3" sur une ligne de commande, puis "startx" pour redémarrer X. Si cela fonctionne, quittez X puis tapez "init 5" pour vous remettre en état normal (dans le cas ou vous démarrez habituellement directement sous X).
On va voir un premier outil de configuration en mode texte, xf86config. Connectez-vous en tant que root, et lancez-le :
[root@taz root]# xf86configAprès un petit message d'information, pressez entrée. Le logiciel va afficher différentes rubriques :
- Mouse protocole
Choisissez votre souris, le plus souvent :
Microsoft compatible : toutes les souris de type série 2 boutons standard série- Do you want to enable ChordMiddle:
Mousesystems : la plupart des souris 3 boutons séries
PS/2 : les souris sur port PS/2, quoi :)
Logitech mouse : les anciennes souris série Logitech
Microsoft intellimouse (IMPS/2) : pour les souris à molette
- Emulate3Buttons
Pour "émuler" un 3éme button sur les souris 2 boutons
en cliquant simultanément sur les 2 boutons.
- Mouse device
Mettez ici le périphérique sur lequel la souris est connecté.
En général /dev/mouse.
Si votre souris n'est pas détectée au démarrage
de X, vérifiez que dans /dev, vous avez bien un fichier
mouse.
S'il n'existe pas, vous n'oublierez pas de le créer après
la configuration en créant un lien symbolique sur le périphérique
de votre souris :
[root@taz root]# ln -s /dev/psaux /dev/mouse
En remplaçant /dev/psaux par :- Do you want to use XKB ?
Port PS2 : /dev/psaux
Port série : /dev/ttySx (ttyS0=COM1 sous DOS, ttyS1=COM2, etc.)
- List of preconfigured keymaps
Choix du type de votre clavier (pour les claviers francais, choisir
"French encoding"). Valider le message d'information suivant.
- Horyzontal sync rate
Là on commence à rentrer dans les choses techniques.
Je vous conseille de tout simplement regarder la notice de votre moniteur
pour voir les fréquences qu'il supporte suivant les résolutions.
D'une manière générale on a :
Moniteur 14 pouces très vieux Ligne 1 (640*480 60Hz) Moniteur 14 pouces assez vieux (plus de 4 ans) Essayer la ligne 2 (800*600 56Hz) voire la ligne 4 (1024*768 87Hz) Moniteur 14 pouces ou 15 pouces récent Ligne 5 (800*600 60Hz), ligne 6 (1024*768 60Hz), ligne 7 (1024*768 70Hz) Moniteur 17 pouces de plus de 4 ans Ligne 3 (1024*768 87hz) Moniteur > ou = à 17 pouces ou plus, récent Ligne 7 ou 8 ou 9 ou 10
Commencez TOUJOURS par les choix de fréquences les plus basses possibles. Sur les vieux écrans ATTENTION une trop haute fréquence ou une fréquence non supportée peut griller l'écran et je ne pourrai pas être tenu responsable de tel dégats. Les moniteurs récents sont normalement protégés si une trop hautre fréquence leur est demandée. Soyez tout de même prudents !
- Vertical range
C'est la même chose, mais pour les fréquences verticales
:
Le mieux est encore de voir avec la notice, avec les mêmes remarques qu'au dessus.
Moniteur 14 pouces très vieux 50-70 Moniteur 14 pouces assez vieux (plus de 4 ans) 50-70 Moniteur 14 pouces ou 15 pouces récent 50-90 Moniteur 17 pouces de plus de 4 ans 50-70 ou 50-90 Moniteur de 17 pouces ou plus, récent 50-100 ou 50-150
- Identifier , model, vendor:
Mettre le modèle, nom du constructeur, etc. de votre moniteur
(Cela n'a pas d'importance, ce sont juste des champs de renseignements).
- Do you want to look at the card database ?
Repondez Y pour choisir votre carte vidéo dans une liste.
Tapez [entrée] jusqu'à trouver votre carte ou le chipset,
puis entrez le nombre.
Au menu suivant, choisissez 5. Si votre carte n'apparaît pas
ou si vous ne connaissez pas son chipset tapez sur Q, et choississez le
serveur SVGA.
- Do you want me to set the symbolic link ?
Répondez par Y et encore par Y au menu d'apres.
- Video memory
Choisir en fonction de la mémoire présente sur votre
carte vidéo
- Identifier,vendor...
C'est la même chose que pour le moniteur. Vous pourriez tout
aussi bien ne rien taper ici.
- RAMDAC
Si vous le connaissez, choisissez-le. Autrement répondez par
Q.
- Clokchip
De même, si vous savez pas, tapez [entrée].
- Probeonly
Répondre par Y si votre moniteur est récent, autrement
répondre par non. La plupart du temps le serveur X lors de son exécution
détecte tout seul les "clock line" valides.
- Mode de résolution couleur
Choisir le menu 5, les modes sont généralement corrects,
à moins que votre matériel soit très spécifique.
- Shall I write it to /etc/X11/XF86Config
Répondre par Y afin d'écrire le fichier de configuration.
Ok, maintenant on va tester : lancez "startx". Ca marche ?
Bingo !
Essayez de changer de résolution en tapant Ctrl Alt + et Ctrl
Alt -.
Ca ne marche pas? Voir plus le chapitre de résolutions de problèmes...
par Fred, Serge et Jean-Christophe
Installer XFree86 4.0 n'est pas très complexe, lorque l'on s'y prend correctement.
Vu le nombre de mails que nous recevons à propos de l'installation de Xfree 4.0, nous avons décidé d'en faire une rubrique. Vu la jeunesse de ce produit et ne le connaissant que peu pour l'instant, les informations données ici peuvent contenir des imprécisions et/ou des erreurs. Merci de nous en faire part.
Vous devez télécharger les packages de XFree86 4.0.
Nous décrivons ci-dessous trois cas possibles : fichiers rpms destinés à la Mandrake, fichiers rpms destinés à RawHide (Visiblement, ceux fait par RawHide sont mieux, plus complets), enfin les fichiers tgz de ftp.xfree.org.
Vous pouvez télécharger les rpm sur rufus par exemple, les récupérer sur un magasine, etc.
C'est très simple. Enfin presque. Suivant ce que vous avez choisi, passez directement au paragraphe correspondant : RPM Mandrake, RPM Rawhide, TGZ sur ftp.xfree.org.
Ces rpms ont des problèmes : ils fournissent (et c'est heureux) la librairie libGL.so.* (une implémentation d'OpenGL basé sur MesaGL destiné spécifiquement à XFree86 4.0) mais ils ne fournissent pas les librairies libGLU et libglut !!!! Aussi, voici la marche à suivre.
Téléchargez tous les rpms qui correspondent au motif XFree86*mdk*rpm et les librairies Mesa-3.2*rpm.
Vous devez télécharger :
XFree86-4.0-6mdk.i586.rpm
XFree86-libs-4.0-6mdk.i586.rpm
XFree86-server-4.0-6mdk.i586.rpm
XFree86-75dpi-fonts-4.0-6mdk.i586.rpm
Vous pouvez télécharger (en plus) :
XFree86-100dpi-fonts-4.0-6mdk.i586.rpm (si vous voulez les polices 100dpi)
XFree86-devel-4.0-6mdk.i586.rpm (si vous voulez développer ou compiler des programmes utilisant X)
XFree86-xfs-4.0-6mdk.i586.rpm (si vous souhaiter utiliser un serveur de Polices)
Passez, si vous n'y êtes pas déjà, en mode console par :
[root@becane ~]# init 3Ensuite, il faut désinstaller XFree86 3.3.x et Mesa (si vous utilisez xdm, vous pouvez souvegarder votre répertoire /etc/X11/xdm par mv /etc/X11/xdm /etc/X11/xdm.sav) en tapant :
[root@becane ~]# for i in `rpm -qa | grep XFree86` ; \
do rpm --nodeps $i ; done
[root@becane ~]# for i in `rpm -qa | grep Mesa` ; \
do rpm --nodeps $i ; doneEnsuite il faut installer les librairies Mesa en premier et XFree86 4.0 ensuite en lui demandant d'effacer la version 3.2 de libGL.so.
[root@becane ~]# for in in Mesa-3.2*rpm ; \
do rpm -i --nodeps --force $i ; done
[root@becane ~]# for in in XFree86*mdk*rpm ; \
do rpm -i --nodeps --force $i ; done
Voilà, c'est tout.
Ce sont ceux que j'utilise, ils sont plus complets (xterm est dedans, vous pouvez choisir d'installer ou pas twm - antédiluvien wm), et fournissent tout ce qu'il faut pour Mesa (libGLU et libglut), et vous n'etes pas obligé d'installer tous les drivers de carte graphique. Bonus : ils fonctionnent avec la Mandrake sans changement, et fournissent un utilitaire graphique pour la configuration (xf86cfg, qui ne marche pas avec ma souris :(( ).
Il vous faut télécharger :
XFree86-4.0-0.8.i386.rpm
XFree86-75dpi-fonts-4.0-0.8.i386.rpm
XFree86-libs-4.0-0.8.i386.rpm
Si vous voulez l'outil de configuration graphique :
XFree86-xf86cfg-4.0-0.8.i386.rpm
Si vous voulez tous les outils habituels de XFree (xclock, xmessage, xmag, xman etc...) :
XFree86-tools-4.0-0.8.i386.rpm
Si vous utiliser xdm pour vous logguer :
XFree86-xdm-4.0-0.8.i386.rpm
Vous devez télécharger un driver pour votre carte graphique, par exemple si vous avez une carte NVidia :
XFree86-NVidia-4.0-0.8.i386.rpm
XFree86-VGA16-4.0-0.8.i386.rpm
Pour avoir la documentation technique (pas les man pages qui sont avec chaque paquetage) :
XFree86-doc-4.0-0.8.i386.rpm
Si vous utilisez un serveur de polices (conseillé) :
XFree86-xfs-4.0-0.8.i386.rpm
Si vous avez un écran de plus de 15 pouces :
XFree86-100dpi-fonts-4.0-0.8.i386.rpm
Pour l'installation, c'est trivial, vous désinstallez XFree et Mesa par :
[root@becane ~]# for i in `rpm -qa | grep XFree86` ; \Puis, vous installez les rpms de RawHide par :
do rpm -e --nodeps $i ; done
[root@becane ~]# for i in `rpm -qa | grep Mesa` ; \
do rpm -e --nodeps $i ; done
[root@becane ~]# for i in `rpm -qa | grep X11R6-contrib` ; \
do rpm -e --nodeps $i ; done
[root@becane rawhide]# for i in *rpm ; \Et voilà.
do rpm -i --nodeps --force $i ; done
Vous pouvez les récupérer sur ftp.xfree.org, choisissez-les en fonction de votre plate-forme (i.e. votre micro-processeur) et votre version de glibc (glibc2.1 en général pour les distributions récentes).
Pour connaître la version de glibc (2.0 ou 2.1), l'installateur
de Xfree peut le détecter pour vous, ils sont gentils chez Xfree
! Pour cela récupérez le fichier Xinstall.sh (dans
n'importe quel répertoire de binaires sur le serveur, ca n'a pas
d'importance) et lancez un :
# sh Xinstall.sh -check (ou un ./Xinstall.sh
-check, c'est pareil)
Cela va vous renvoyez la version glibc de votre système,
allez alors dans le répertoire ftp corespondant pour récupérer
les bons binaires, par exemple le répertoire /pub/XFree86/4.0/binaries/Linux-ix86-glibc2.1
pour une plateforme Intel avec une glibc2.1 (dans 90% des cas d'ailleurs
ca sera ce répertoire). Si votre plate forme n'est pas présente
(par exemple les CPU PowerPC, vous devrez soit télécharger
et compiler les sources - très long - soit vous tourner vers des
rpms).
Une fois TOUS les .tgz récupérés, désinstallez
les principaux packages de votre ancien XFree, dont principalement :
Xbin, Xfs, Xptr, Xlib, Xman, Xdoc, XF86_xxxx (le serveur X propre
a votre carte)...
Pour cela, suivant votre distribution, localisez les packages avec
un gestionnaire rpm (Redhat, Mandrake,...) ou pkgtool
(Slackware,...) et désinstallez les.
Rappel :
Pour les packages RPMn afin de trouver les packages correspondants
à XFree86, faites :
# rpm -qa | grep XFree
Et pour les désinstaller :
# rpm -e --nodeps --force le_package
(voir la page sur RPM).
Bon maintenant on va lancer l'installation des packages, c'est à
dire décompresser et copier les fichiers. Pour cela on lance un
:
# sh Xinstall.sh (ou ./Xinstall.sh)
et repondez Y aux questions posées (comme ça on
installe tout et on est sûr de ne rien avoir oublié).
Voilà, les packages sont installés!
[root@becane /home]# xf86config
This program will create a basic XF86Config file, based on menu selections you make.The XF86Config file usually resides in /usr/X11R6/etc/X11 or /etc/X11. A sample XF86Config file is supplied with XFree86; it is configured for a standard VGA card and monitor with 640x480 resolution. This program will ask for a pathname when it is ready to write the file.
You can either take the sample XF86Config as a base and edit it for your configuration, or let this program produce a base XF86Config file for your configuration and fine-tune it.
Before continuing with this program, make sure you know what video card you have, and preferably also the chipset it uses and the amount of video memory on your video card. SuperProbe may be able to help with this.
Press enter to continue, or ctrl-c to abort.
<Entrée>
First specify a mouse protocol type. Choose one from the following list:Spécifiez le type de votre souris (le choix 1 fonctionne avec toutes les souris 2 ou 3 bouttons compatible MS, le choix 2 fonctionne avec la plupart des souris 3 boutons, pour les autres vous savez lire ;) ,avec ma logitech wheel mouse sur port ps/2 j'utilise le choix 4 pour le démarrage).1. Microsoft compatible (2-button protocol)
2. Mouse Systems (3-button protocol)
3. Bus Mouse
4. PS/2 Mouse
5. Logitech Mouse (serial, old type, Logitech protocol)
6. Logitech MouseMan (Microsoft compatible)
7. MM Series
8. MM HitTablet
9. Microsoft IntelliMouseIf you have a two-button mouse, it is most likely of type 1, and if you have a three-button mouse, it can probably support both protocol 1 and 2. There are two main varieties of the latter type: mice with a switch to select the protocol, and mice that default to 1 and require a button to be held at boot-time to select protocol 2. Some mice can be convinced to do 2 by sending a special sequence to the serial port (see the ClearDTR/ClearRTS options).
Enter a protocol number: 4
If your mouse has only two buttons, it is recommended that you enable Emulate3Buttons.Ma souris dispose bien de trois boutons (en fait 5 : les 2 boutons, le clic sur la roulette + les 2 directions de la roulette), donc ce n'est pas la peine d'émuler le troisième, ne mettez y que si vous avez une souris 2 boutons, dans ce cas la pression simultanée des deux boutons simulera la pression d'un troisième bouton.Please answer the following question with either 'y' or 'n'.
Do you want to enable Emulate3Buttons? n
Now give the full device name that the mouse is connected to, for example /dev/tty00. Just pressing enter will use the default, /dev/mouse.Ma souris est connectée sur le port ps/2 donc je le dis à XFree86 ; si vous avez (défaut de la Mandrake) un lien /dev/mouse qui pointe vers le bon périphérique vous pouvez taper simplement <Entrée>.Mouse device: /dev/psaux
Remarque :
Si au démarrage de X, vous avez une erreur du style "mouse not found",
vérifiez dans le répertoire /dev que mouse existe,
faites un lien sur le port ou est branchée physiquement votre souris
par ln -s /dev/periph /dev/mouse.
Please select one of the following keyboard types that is the better description of your keyboard. If nothing really matches, choose 1 (Generic 101-key PC)
1 Generic 101-key PC
2 Generic 102-key (Intl) PC
3 Generic 104-key PC
4 Generic 105-key (Intl) PC
5 Dell 101-key PC
6 Everex STEPnote
7 Keytronic FlexPro
8 Microsoft Natural
9 Northgate OmniKey 101
10 Winbook Model XP5
11 Japanese 106-key
12 PC-98xx SeriesEnter a number to choose the keyboard.
4
si vous avez un clavier avec des touches "windows", 2sinon
Spécifiez ici le clavier que vous utilisez.
1 U.S. English
2 U.S. English w/ISO9995-3
3 Belgian
4 Bulgarian
5 Canadian
6 Czechoslovakian
7 German
8 Swiss German
9 Danish
10 Spanish
11 Finnish
12 French
13 Swiss French
14 United Kingdom
15 Hungarian
16 Italian
17 Japanese
18 NorwegianEnter a number to choose the country.
Press enter for the next page12 (Pour avoir un clavier azerty)
Now we want to set the specifications of the monitor. The two critical parameters are the vertical refresh rate, which is the rate at which the the whole screen is refreshed, and most importantly the horizontal sync rate, which is the rate at which scanlines are displayed.On vous conseille de lire le fichier /usr/X11R6/lib/X11/doc/Monitors afin de voir si votre moniteur est référencé (le mieux étant de connaître votre moniteur : lisez sa doc. - rafraîchissement vertical et horizontal et bande passante maximale et d'aller voir le modeline generator)The valid range for horizontal sync and vertical sync should be documented in the manual of your monitor. If in doubt, check the monitor database /usr/X11R6/lib/X11/doc/Monitors to see if your monitor is there.
Press enter to continue, or ctrl-c to abort. <Entrée>
You must indicate the horizontal sync range of your monitor. You can either select one of the predefined ranges below that correspond to industry-standard monitor types, or give a specific range.Pour spécifier les valeurs exactes de votre moniteur (en cas de doute essayer les valeurs 2, 5 ou 6 qui devraient fonctionner avec la majorité des moniteurs même si vous n'utiliserez dans ce cas pas votre moniteur au mieux de ses possibilités).It is VERY IMPORTANT that you do not specify a monitor type with a horizontal sync range that is beyond the capabilities of your monitor. If in doubt, choose a conservative setting.
hsync in kHz; monitor type with characteristic modes
1 31.5; Standard VGA, 640x480 @ 60 Hz
2 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz
3 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600)
4 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz
5 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz
6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz
7 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz
8 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz
9 31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz
10 31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz
11 Enter your own horizontal sync rangeEnter your choice (1-11): 11
Attention : Les valeurs que je donne ci-après ne sont que des exemples (ceux que j'utilise avec mon moniteur ADI Provista E44) ils sont susceptibles d'endommager votre moniteur si ce ne sont pas les bons.
Please enter the horizontal sync range of your monitor, in the format used n the table of monitor types above. You can either specify one or more continuous ranges (e.g. 15-25, 30-50), or one or more fixed sync frequencies.Si vous ne connaissez pas bien votre moniteur, pour le choix des fréquences verticales, généralement vous pouvez choisir 1 pour les 14 pouces, 2 pour les 17 (ou 1 si il est vieux) , 3 pour les 19 et 21 pouces (2 pour les anciens modèles).Horizontal sync range: 30-69
You must indicate the vertical sync range of your monitor. You can either select one of the predefined ranges below that correspond to industry-standard monitor types, or give a specific range. For interlaced modes, the number that counts is the high one (e.g. 87 Hz rather than 43 Hz).
1 50-70
2 50-90
3 50-100
4 40-150
5 Enter your own vertical sync rangeEnter your choice: 47.5-125
You must now enter a few identification/description strings, namely an identifier, a vendor name, and a model name. Just pressing enter will fill in default names.Ici vous pouvez mettre ce que vous voulez, mais une chaine identifiant votre moniteur est la bien venue.The strings are free-form, spaces are allowed.
Enter an identifier for your monitor definition: Mon Beau Moniteur
Now we must configure video card specific settings. At this point you can choose to make a selection out of a database of video card definitions. Because there can be variation in Ramdacs and clock generators even between cards of the same model, it is not sensible to blindly copy the settings (e.g. a Device section). For this reason, after you make a selection, you will still be asked about the components of the card, with the settings from the chosen database entry presented as a strong hint.Pour regarder dans la base de donnée si votre carte est présente (et pas seulement le processeur) :The database entries include information about the chipset, what driver to run, the Ramdac and ClockChip, and comments that will be included in the Device section. However, a lot of definitions only hint about what driver to run (based on the chipset the card uses) and are untested.
If you can't find your card in the database, there's nothing to worry about. You should only choose a database entry that is exactly the same model as your card; choosing one that looks similar is just a bad idea (e.g. a GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of hardware as can be).
Do you want to look at the card database? y
0 2 the Max MAXColor S3 Trio64V+ S3 Trio64V+Choisissez bien votre carte graphique, ou à défaut une carte ayant un processeur compatible (110 correspond à la Creative Graphics Blaster TNT) pour voir les autres cartes disponibles tapez sur <Entrée>. Si vous trouvez pas votre carte ni une carte compatible (comme la 3dfx, voodoo 3 par exemple), prenez alors un modèle au hasard pour le moment on rectifira après.
1 2-the-Max MAXColor 6000 ET6000
2 3DLabs Oxygen GMX PERMEDIA 2
3 928Movie S3 928
4 AGX (generic) AGX-014/15/16
5 ALG-5434(E) CL-GD5434
6 ASUS 3Dexplorer RIVA128
7 ASUS PCI-AV264CT ATI-Mach64
8 ASUS PCI-V264CT ATI-Mach64
9 ASUS Video Magic PCI V864 S3 864
10 ASUS Video Magic PCI VT64 S3 Trio64
11 AT25 Alliance AT3D
12 AT3D Alliance AT3D
13 ATI 3D Pro Turbo ATI-Mach64
14 ATI 3D Pro Turbo PC2TV ATI-Mach64
15 ATI 3D Xpression ATI-Mach64
16 ATI 3D Xpression+ ATI-Mach64
17 ATI 3D Xpression+ PC2TV ATI-Mach64Enter a number to choose the corresponding card definition.
Press enter for the next page, q to continue configuration.110
Your selected card definition:Si vous ne voyez pas la ligne en gras, ce n'est pas grave.Identifier: Creative Graphics Blaster TNT
Chipset: RIVATNT
Driver: nv
Do NOT probe clocks or use any Clocks line.Press enter to continue, or ctrl-c to abort.
Now you must give information about your video card. This will be used for the "Device" section of your video card in XF86Config.Ici on vous demande la quantité de ram disponible sur votre carte graphique (lisez le sur l'embalage en sachant que 1Mo = 1024Kbytes, ou allez voir sous windows, dans les propriétés de l'affichage, vous avez la taille mémoire indiquée).You must indicate how much video memory you have. It is probably a good idea to use the same approximate amount as that detected by the server you intend to use. If you encounter problems that are due to the used server not supporting the amount memory you have (e.g. ATI Mach64 is limited to 1024K with the SVGA server), specify the maximum amount supported by the server.
How much video memory do you have on your video card:
1 256K
2 512K
3 1024K
4 2048K
5 4096K
6 OtherEnter your choice: 6
Amount of video memory in Kbytes: 16384
You must now enter a few identification/description strings, namely an identifier, a vendor name, and a model name. Just pressing enter will fill in default names (possibly from a card definition).Ici vous pouvez donner un nom à votre carte.Your card definition is Creative Graphics Blaster TNT.
The strings are free-form, spaces are allowed.
Enter an identifier for your video card definition: <Entrée>
For each depth, a list of modes (resolutions) is defined. The default resolution that the server will start-up with will be the first listed mode that can be supported by the monitor and card.Les trois lignes en gras indiquent les résolutions supportées (par le driver et la carte) pour chaque profondeur de couleurs (8-bit = 256 couleurs etc...)
Currently it is set to:"640x480" "800x600" "1024x768" "1280x1024" for 8-bit
"640x480" "800x600" "1024x768" "1280x1024" for 16-bit
"640x480" "800x600" "1024x768" "1280x1024" for 24-bitModes that cannot be supported due to monitor or clock constraints will be automatically skipped by the server.
1 Change the modes for 8-bit (256 colors)
2 Change the modes for 16-bit (32K/64K colors)
3 Change the modes for 24-bit (24-bit color)
4 The modes are OK, continue.Enter your choice: 4
Please specify which color depth you want to use by default:Indiquez le nombre de couleurs que vous souhaitez utiliser (5 = 16 millions de couleurs ;))1 1 bit (monochrome)
2 4 bits (16 colors)
3 8 bits (256 colors)
4 16 bits (65536 colors)
5 24 bits (16 million colors)Enter a number to choose the default depth.
5
I am going to write the XF86Config file now. Make sure you don't accidently overwrite a previously configured one.Si, à la place de la dernière ligne vous voyez :Shall I write it to /etc/X11/XF86Config? y
Do you want it written to the current directory as 'XF86Config'? yC'est que vous n'etes pas logué en tant que root et la configuration ne sera pas sauvegardée pour tout le monde (vous ne pourrez pas utiliser xdm, etc. je vous conseille donc de recommencer en tant que root).
File has been written. Take a look at it before running 'startx'. Note that the XF86Config file must be in one of the directories searched by the server (e.g. /etc/X11) in order to be used. Within the server press ctrl, alt and '+' simultaneously to cycle video resolutions. Pressing ctrl, alt and backspace simultaneously immediately exits the server (use if the monitor doesn't sync for a particular mode).Si vous utilisez les rpms de la Mandrake il faut faut aussi (au moins avec ceux numérotés 0.6mdk) créer un lien :For further configuration, refer to /usr/X11R6/lib/X11/doc/README.Config.
[root@becane home]# ln -s /usr/X11R6/bin/XFree86 /etc/X11/XNote : c'est peut-etre aussi le cas avec ceux de RawHide, mais je ne suis pas sûr, vérifiez qu'il existe.
Hourra c'est fini ! Loguez-vous en tant qu'utilisateur et tapez startx afin de vérifier si cela fonctionne.
Si ca marche, BINGO ! Il ne reste plus qu'a vérifier les fontes, la roulette, la résolution par défaut, etc. Pour cela voir les rubriques X, trucs et astuces, tout y est expliqué ; regardez aussi plus bas. Mais jettez quand même un coup d'oeil à la suite : vous risquez d'en avoir besoin si vous n'arrivez pas à monter en couleurs, si X est très lent, etc.
Ca marche pas, X plante ! Bon on se calme, on va régler tout ça. Tout d'abord, renommez le XF86Config et XF86Config.old :
# mv /etc/X11/XF86Config /etc/X11/XF86Config.oldLancez alors un XFree86 -configure. X va se tester / lancer et faire un /etc/X11/XF86Config. Ok, maintenant avec votre éditeur favori, éditez /etc/X11/XF86Config et dans un autre terminal virtuel (que l'on crée grace a un ALT-F2 par exemple) éditez le /etc/X11/XF86Config.old. Grâce à la souris et au copier/coller (bouton droit de la souris) vous copiez la section "module" du XF86Config que vous collez en écrasant la section "module" du XF86Config.old.
Après dans le XF86Config.old recherchez la ligne Driver "machinbidule"que vous remplacez par celle qui est dans XF86Config, et faites de même pour la ligne driver qui se trouve un peu plus bas dans la section "Device" qui comporte Identifier "carte" (ou le nom que vous avez mis dans xf86config quand il vous a demandé un nom pour votre carte).
Liste des drivers à utiliser suivant la marque / modèle de votre chipset de carte vidéo :
Option "ZAxisMapping" "4 5"dans la section "InputDevice" de /etc/X11/XF86Config.
Note : pour les souris Logitech MouseMan Plus les noms des protocoles sont MouseMan (si la souris est branchée sur le port série) et MouseManPS/2 (si la souris est branchée sur le pour PS/2) et IMPS/2 pour les dernières MouseMan optiques. Voir aussi ce truc.
La solution ? Une savante combinaison de ModeLine et de Modes.
Pour savoir quels sont les résolutions supportées par votre moniteur allez voir le modeline generator avec les paramètres de votre écran ; celui-ci génèrera plusieurs dizaines de lignes commançant par ModeLine suivi d'une résolution. Vous serez surpris du nombre incroyable de résolutions proposé en comparaison de ce qui est marqué sur votre mode d'emploi. Une fois que vous serez en possession de tous ces "ModeLine" insérez les dans /etc/X11/XF86Config dans la section Monitor (après avoir effacé ou commenté ceux qui s'y trouvaient). Puis indiquez dans cette même section les paramètres de rafraîchissement vertical et horizontal :
HorizSync 30-69par exemple si votre écran peut être rafraîchit horizontalement entre 30 et 69 kHz et verticalement entre 47,5 et 125 Hz (ces valeurs sont présentes dans la documentation de votre écran).
VertRefresh 47.5-125
Enfin modifiez la section "Screen", sous-section "Display" de façon que les lignes commençant par Modes soient suivies de la liste des résolutions (entre "") en commençant par la résolution dans laquelle vous souhaitez que votre serveur X démarre.
Exemple :
Modes "800x600" "1016x732" "768x576"
par Jean-Christophe & Serge
La célèbre chasse aux troubles.
Ce chapitre recense les problèmes les plus fréquemment rencontrés avec X Window et des pistes de solutions plus ou moins complètes pour chacun. Bonne chance !
Si vous avez besoin de reconfigurer X, surtout ne réinstallez pas Linux !
Conseil : sauvegardez dans un coin votre fichier de configuration /etc/X11/XF86Config au cas ou la nouvelle ne fonctionne pas.
Lancez juste l'un des programmes de configuration (Xconfigurator ou XF86Setup ou encore xf86config) depuis une console en tant que root.
Testez votre configuration avant tout redémarrage :
Il y a de nombreuses façons de changer la résolution
d'affichage sous Linux.
D'abord, regardez si votre distribution ne dispose pas d'un outil graphique
pour le faire. Par exemple, Mandrake à partir de la version 7 permet
de régler la résolution via drakconf à la
souris.
Essayez aussi les programmes comme Xconfigurator ou XF86Setup
ou encore xf86config, qui vous permettent de régler
le fonctionnement de X.
Enfin, vous pouvez le faire à la main, en modifiant le fichier
de configuration /etc/X11/XF86Config :
Ouvrez ce fichier dans un éditeur de textes.
Dans la Section "Monitor", vous trouvez des lignes du genre
:
# 640x480 @ 60 Hz, 31.5 kHz hsync
Modeline "640x480" 25.175 640 664 760
800 480 491 493 525
# 800x600 @ 56 Hz, 35.15 kHz hsync
ModeLine "800x600" 36 800
824 896 1024 600 601 603 625
# 1024x768 @ 87 Hz interlaced, 35.5 kHz hsync
Modeline "1024x768" 44.9 1024 1048 1208 1264
768 776 784 817 interlace
Ces lignes commencant par Modeline définissent trois résolutions possibles pour ton serveur X ; il y en a plein d'autres... La même résolution peut même être définie plusieurs fois : c'est normal. Au lancement X sélectionne la ligne optimale en fonction des paramètres de la carte vidéo et de l'écran (fréquences).
Dans la Section "Screen", il y a plusieurs définitions de combinaison entre carte vidéo et écran. Il faut trouver celle qui correspond à votre configuration. Une fois cette section trouvée, dans la sous-section Subsection "Display", il y a une ligne du type :
Modes "1024x768"Il suffit de la transformer en :
Modes "1280x1024" "1024x768" "800x600"pour avoir 3 modes vidéo possibles, ou en :
Modes "800x600"pour changer la résolution.
Enregistrez le fichier, relancez le serveur X (par exemple par Ctrl-Alt-BackSpace), afin de disposer du ou des nouveaux modes vidéo possibles que nous venons de définir.
Pour passer d'une résolution à l'autre, il faut taper
la combinaison de touches :
[Ctrl] [Alt] [+] et [Ctrl] [Alt]
[-]
(avec les touches [+] et [-] du pavé
numérique).
Remarque : La ligne virtual présente éventuellement dans la même sous-section permet de définir un bureau virtuel plus grand que l'écran (dans ce cas l'écran défile lorsque la souris arrive sur l'un des bords). La valeur de virtual doit être au minimum la plus grande résolution ; si vous ne voulez pas d'écran virtuel, supprimez cette ligne. Cependant, si vous spécifiez plusieurs résolutions, vous aurez toujours un écran virtuel égal à la plus grande des résolutions.
(partie écrite par Serge)
Bon, vous en avez assez de démarrer en mode 640x480 en 16 couleurs, avoir à appuyer sur CTRL ALT + pour changer votre résolution, spécifier le nombre de couleur, etc. ? On va régler deux trois trucs à la main. Editez le fichier /etc/X11/XF86Config. Repérez les lignes ressemblant à :
Section "Screen"Si vous n'utilisez qu'un seul mode (1024*768 par exemple), ne laissez que celui-ci dans la ligne Modes. Choisissez aussi le nombre de couleur par défaut que vous voulez utiliser en fixant Depth :
Driver "svga"
Device "Generic VGA"
Monitor "My Monitor"
Subsection "Display"
Depth 8
# cette ligne règle le nombre de couleurs
Modes "640x480" "800x600" "1024x768"
# et celle-ci les résolutions possibles
ViewPort 0 0
Virtual 1024*768
EndSubsection
EndSection
Certaines cartes (S3 virge 4Mo par exemple) font du 16 millons de couleurs que sur 24 bits et non pas sur 32 bits.
Depth 4 16 couleurs Depth 8 256 couleurs Depth 16 65536 couleurs Depth 24 16 millions de couleurs sur 24 bits Depth 32 True color sur 32 bits
Le "Virtual" permet de mettre un résolution plus haute que celle de la carte : grâce a la souris, on peut alors se déplacer sur les bord de l'écran virtuel et faire scroller l'écran. Si vous ne voulez pas d'écran virtuel, fixez sa valeur à celle de la résolution que vous utilisez.
Si vous changez de carte video sur un système ou Linux est déjà
installé, vous devrez changer (en général) de serveur
X.
Afin de ne pas avoir de mauvaise surprise au démarrage, si votre
ordinateur démarre habituellement en mode graphique, après
le changement de carte et avant d'avoir mis à jour le serveur X,
démarrez-le en mode console. Pour ce faire, passez le paramètre
"3" au noyau, ce qui indique au noyau en quel mode (runlevel) il
doit démarrer.
Si vous démarrez avec LILO, tapez "linux 3" au boot, si vous
démarrez avec LOADLIN, ajoutez "3" à votre ligne de commande,
etc.
Enfin, installez et configurez le serveur X. Il suffit en fait de changer l'exécutable du serveur X (voir la partie 'installation à la main') et de le configurer.
Ou Window Managers et Desktop Environments.
Voir le glossaire, entrée Gestionnaire de fenêtres ou Environnement de bureau.
Le display manager que vous utilisez est défini dans le fichier /etc/inittab. Dans ce fichier, vous devez avoir une ligne ressemblant à la suivante (en gras ci-dessous) :
[root@taz ~]# less /etc/inittab [...] # Run xdm in runlevel 5 # xdm is now a separate service x:5:respawn:/etc/X11/prefdm -nodaemonIci, le système utilise prefdm comme bannière de login. prefdm est un lien symbolique vers le vrai display manager :
[root@taz ~]# cd /etc/X11/
[root@taz /etc/X11]# ls -l prefdm
lrwxrwxrwx 1 root root 12 nov 18 04:14 prefdm -> /usr/bin/kdm*
Afin de changer de display manager, je vous conseille, si vous n'utilisez pas encore prefdm, de le faire, c'est-à-dire de remplacer la ligne de votre /etc/inittab par la ligne "x:5:respawn:/etc/X11/prefdm -nodaemon", puis de faire pointer prefdm vers le display manager voulu (ici, gdm) :
[root@taz /etc/X11]# whereis gdmLa même méthode s'applique pour XDM ou n'importe quel autre display manager.
gdm: /usr/bin/gdm
[root@taz /etc/X11]# ln -sf /usr/bin/gdm prefdm
[root@taz /etc/X11]# ls -l prefdm
lrwxrwxrwx 1 root root 12 déc 5 18:51 prefdm -> /usr/bin/gdm*
Bon, là c'est (presque) un faux problème : normalement, si vous avez un moniteur pas trop vieux, vous pouvez contrôler l'apparence de l'image (taille & position, géométrie (rotation, pincussion, trapezoid, balanced pincussion, parallélogramme, j'en passe et des meilleures).
Si vous n'avez pas de chance, vous avez l'ignoble (et je pèse mes mots) "win-moniteur" Philips qui ne peut être réglé que par un logiciel sous Windows.
Enfin, vous pouvez utiliser le programme xvidtune, qui permet de modifier légèrement la position et la taille de l'image sur l'écran. Attention, c'est un outil avancé, qui modifie les 'timings vidéo' et les fréquences. Pour les vieux écrans à fréquence fixée, il peut en outre être dangereux. Par contre, sur les moniteurs pas trop vieux qui acceptent des plages de fréquences, c'est un outil qui peut s'avérer utile.
(partie écrite par Fred)
Pour une raison ou une autre, les fichiers .bashrc et consorts
ont été modifiés (voir en particulier les fichiers
de /etc/profile.d/) et $KDEDIR n'existe plus ou est fausse. Pour
le savoir :
[user@becane home]$ echo $KDEDIR
/usr
Si KDE est installé dans /usr tout va bien, votre problème est ailleurs, si KDE est installé ailleurs ou si aucune valeur est renvoyée, il faut modifier la variable KDEDIR par une commande du type :
[user@becane home]$ export KDEDIR=/usr
si kde est installé dans /usr/bin (c'est l'option par
défaut avec la Mandrake). Si ça règle votre problème,
il faut modifier vos fichiers de configuration (par exemple /etc/bashrc,
/etc/profile,
etc...) de façon que cette variable soit fixée.
Le problème est de savoir lequel. Une méthode pénible
est de déplacer le répertoire ~/.kde vers ~/kde.bak
et de redémarrer KDE, puis de refaire la configuration à
la main. Vous pouves aussi copier depuis ~/kde.bak vers ~/.kde
les fichiers de configuration dont vous êtes sûr qu'ils n'empêchent
pas KDE de démarrer correctement.
Déplacez le répertoire ~/.kde/share/mimelnk
et redémarrez KDE. Puis copiez un par un les mimelnk pour trouver
le fautif.
à compléter.
Ce problème arrive fréquemment si vous avez modifié la configuration de X, essayé d'ajouter des fontes ou modifié la configuration du serveur de fontes xfs, ceci sans tester que X démarrait toujours avant de rebouter votre ordinateur.
Bon, pour une raison ou une autre, X refuse de démarrer. Et si votre PC démarre habituellement en mode graphique, l'écran est noir et n'arrête pas de clignoter (voire il émet des claquements), et vous ne pouvez rien faire. Nous allons essayer de résoudre le problème.
D'abord, nous allons devoir redémarrer en mode texte (runlevel
3) afin de pouvoir faire quelquechose. Pour rebouter proprement, pressez
Ctrl-Alt-Suppr.
Vous allez alors voir la procédure habituelle d'arrêt.
Pour démarrer en runlevel 3, il faut passer au noyau le paramètre
"3", ce qui indique au noyau en quel mode (runlevel) il doit démarrer.
Si vous démarrez avec LILO, tapez "linux 3" au boot, si vous
démarrez avec LOADLIN, ajoutez "3" à votre ligne de commande,
etc.
Ensuite, connectez vous en tant qu'un utilisateur normal (appelons le user), et démarrez X à la main pour voir ce qui ne va pas :
[user@taz user]$ startx > startx.log 2>&1La suite de la ligne de commande après le startx fait que toutes les sorties écran ont été redirigées vers le fichier startx.log. Ce fichier contient tous les messages habituels de démarrage, plus les erreurs.
Vous pouvez le consulter avec la commande :
[user@taz user]$ more startx.log([Espace] pour avancer d'une page, [B] pour revenir en arrière, [Q] pour quitter).
Comme expliqué dans le glossaire,
lorsque vous lancez votre ordinateur sous Linux, si vous avez choisi le
mode de démarrage graphique, vous arrivez sous X sur un écran
vous permettant de saisir votre username et votre mot de passe. C'est le
display manager, ou DM. Le DM de base s'appelle XDM ou X Display Manager. Il
est livré avec le serveur X. KDE ou Gnome proposent leurs propres
DM, respectivement KDM et GDM, qui ont le même look que l'environnement
d'où ils sont tirés.
Lorsque vous vous connectez, le DM "disparaît" (laisse le controle du terminal tty7 à un programme particulier défini dans /etc/X11/xdm/Xsession serait plus précis) pour laisser la place à un gestionnaire de fenêtre (fvwm2, etc.) ou à un environnement de bureau (Gnome, KDE...). Lorsque vous quitterez ce client X, le système redémarrera le DM (le DM reprendra la main, en fait il n'a jamais disparu, puisque on peut se connecter plusieurs fois, via ce DM, à cette machine par le réseau avec par exemple X -indirect <MACHINE>) et vous vous retrouvez à l'écran de connexion.
Vous commencez à voir ce qui cloche ?
Vraisemblablement, votre gestionnaire de fenêtre ou votre environnement de bureau est mal configuré, et s'arrête tout de suite, sans même afficher une boîte de dialogue. (Cela arrive souvent quand vous avez un installez un window manager dans un répertoire qui n'est pas dans le PATH.) Le display manager redémarre alors tout de suite.
Essayez alors de vous connecter en changeant d'environnement.
Si vous utilisez KDM choisissez failsafe comme mode de connexion, et lancer votre environement habituel à la main : startkde pour KDE, gnome-session pour Gnome, enlightenment pour enlightenment. Observer en particulier si les chemins sont valides. Si vous n'utilisez pas KDM, changez le programme de démarrage de manière que celui-ci soit xterm (c'est ce que fait le mode failsafe de KDM) cela vous permettra de lancer tous les programmes que vous souhaitez pour résoudre le problème. Attention : dans les deux cas vous n'avez, au début, pas de gestionnaire de fenetre, ce qui vous oblige à faire attention aux positions des fenetres à la main, et faites attention à mettre le curseur de la souris dans la fenetre dans laquelle vous souhaitez taper.
Si cela ne fonctionne pas, passez sur une console texte (Ctrl-Alt-F2 par exemple), puis connectez vous en tant que simple utilisateur. Lancez ensuite à la main "startx" : l'environnement graphique va se lancer, puis devrait s'arrêter. Vous verrez alors dans votre console texte les messages d'erreur relatifs au problème qui vous occupe. Pour voir l'ensemble des messages affichés par startx, vous pouvez taper :
[root@taz root]# startx > startx.log 2>&1puis consulter le fichier startx.log qui contiendra tout ce qui s'affiche normalement à l'écran.
Note: si le DM est chargé, ce qui précéde ne fonctionnera pas tant que vous l'aurez pas déchargé. La méthode la plus simple est de se connecter en tant que superutilisteur sur une console texte et de passer en runlevel 3 par :
[root@taz root]# init 3Vous pouvez aussi essayez de démarrer le display manager en enregistrant les messages qu'il produit :
[root@taz root]# /etc/X11/prefdm -nodaemon > prefdm.log 2>&1Le fichier prefdm.log contient tous les messages, normaux et d'erreur. Essayez ensuite de vous connecter, puis quittez le display manager et regardez le fichier prefdm.log afin de diagnostiquer l'erreur.
Quand vous réglez le problème, repassez en runlevel 5 (init 5).
Note : prefdm représente votre display manager
préféré, prefdm a été introduit avec
les distributions RedHat 6.0 / Mandrake 6.0. Dans d'autres distributions,
vous pourrez avoir besoin de remplacer /etc/X11/prefdm par votre
display manager (xdm, kdm, gdm, etc...), peut-être avec son chemin
d'accès (exemple : /usr/X11R6/bin/xdm ou /usr/bin/kdm).
Il y a un petit problème, après avoir lancé
xf86config pour configurer le nouvel XFree86 tout neuf, le lien /etc/X11/X
ne pointe pas vers /usr/X11R6/bin/XFree86, donc créez le !
Modifier aussi le fichier /etc/X11/XF86Config en décommantant la ligne Load "glx" pour que le support de OpenGL soit correctement pris en compte !
A propos d'OpenGL, les binaires XFree86-4.0 n'inclu pas libGLU.so.* il faut les trouver dans Mesa-3.2 (aussi sur rufus) attention vous aurez un problème avec libGL.so.* qui est présent dans les deux rpm, utilisez --force --nodeps pour forcer l'installation de Mesa en premier - pour que le libGL soit celui de XFree86-4.0 !)
Les distributions actuelles (à partir de RedHat 6.0, Mandrake 6.0) utilisent par défaut un serveur de fontes : xfs. En fait, vous n'êtes pas obligés d'avoir un serveur de fontes : X sait très bien se débrouiller tout seul pour un certain nombre de fontes. Cependant, l'utilisation d'un serveur de fontes améliore un certain nombre de choses, dont la qualité de l'affichage des fontes, et la gestion des fontes True Type.
Mais qu'est-ce que le serveur de fontes ? C'est un programme à qui X s'adresse pour calculer l'image des fontes demandée par les clients X (les applications tournant sous X). Le serveur de fontes, comme les programmes sous X, bénéficie d'une interface réseau : sur votre réseau, il suffit de faire tourner un seul serveur de fontes sur un seul ordinateur, les autres pouvant s'en servir comme point central pour récupérer les fontes.
Configuration de X pour utiliser le serveur de fontes :
Il suffit de modifier le fichier /etc/X11/XF86Config, et d'ajouter
une ligne FontPath dans la section Files.
Par exemple :
Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "unix/:-1" EndSectionNote : il peut etre plus judicieux de faire en sorte que le port de communication entre le serveur X et xfs ne soit pas -1 mais plutot 7100 (et suivant) en modifiant le script /etc/rc.d/init.d/xfs de façon que les lignes :
L'installation par défaut de RedHat ou Mandrake laisse juste une ligne FontPath pointant vers le serveur de fontes, comme ci-dessus. Néanmoins, s'il arrive quelquechose au serveur de fontes (par exemple si à cause d'une mauvaise configuration, il refuse de démarrer au boot), X ne pourra pas démarrer, ce qui pourra conduire à l'impossibilité de se connecter à votre ordinateur (voir ci-dessus). Aussi, il peut être bon d'ajouter un ou deux FontPaths après celui du serveur, afin que X démarre même si xfs est tombé, comme ci-dessous :
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
FontPath "unix/:-1"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
EndSection
Attention, n'ajoutez pas de FontPath pointant vers un répertoire de fontes True Type : X est incapable de les gérer seul, sans serveur de fontes (voir ci-dessous pour installer les fontes True Type).
Préliminaire : vous avez le serveur de fontes xfs qui est installé. Les distributions RedHat et Mandrake à partir de leur version 6.0 l'incluent, vérifiez si vous l'avez installé (rpm -qa | grep xfs par exemple). Sinon, installez le package rpm correspondant (rpm -Uvh xfs-*.rpm). Une autre méthode consiste à utiliser un deuxième serveur de fontes, xfstt, à essayer si ce qui suit ne fonctionne pas chez vous (voir plus bas).
Regardons d'abord si un endroit est déjà prévu pour les fontes True Type :
[root@taz root]# chkfontpath --listou encore, regardez le contenu du fichier de configuration du serveur de fontes :
[root@taz root]# more /etc/X11/fs/configVous devriez voir un chemin avec le mot TrueType ou ttf dedans ou... Par exemple /usr/share/fonts/TrueType ou /usr/X11R6/lib/X11/fonts/ttfonts.
Bien que vous puissiez ajouter les fontes True Type directement
dans l'un des répertoire cités ci-dessus, je vous recommande de créer un autre répertoire pour
vos propres fontes. C'est souvent nécessaire parce que quelques
fontes du répertoire ttfonts peuvent être cassées
et entraîner un fichier font.dir corrompu si utilisé
avec 'ttmkfdir' et 'mkfontdir'. Par exemple :
[root@taz root]# mkdir /usr/X11R6/lib/X11/fonts/userttfonts [root@taz root]# cd /usr/X11R6/lib/X11/fonts/userttfontsMettez-lui les mêmes permissions que les autres répertoires de fontes (avec chmod, voir rubrique permissions).
Une fois là, vous pouvez soit copier les fontes dans ce répertoire,
soit simplement placer dans ce répertoire des liens symboliques
vers des fontes se trouvant ailleurs. Supposons par exemple que vous souhaitiez
récupérer les fontes présentes dans votre Windows
95, dont la partition est montée dans /dosc.
Pour les copier faites :
[root@taz userttfonts]# cp /dosc/windows/fonts/*.ttf .ou bien, faites juste des liens dessus (vous économiserez de la place, mais vous devez vous assurer que la partition /dosc est montée en permanence) :
[root@taz userttfonts]# ln -s /dosc/windows/fonts/*.ttf .Remarque : assurez-vous que les noms des fichiers copiés ou des liens soient en minuscules.
soit en éditant le fichier de configuration du serveur de
fontes, soit en tapant :
[root@taz userttfonts]# chkfontpath --add /usr/X11R6/lib/X11/fonts/userttfonts
Il vous reste juste à enregistrer les fontes dans le serveur,
c'est à dire de créer le fichier fonts.dir, puis
de relancer le serveur de fontes par les commandes (dans /usr/X11R6/lib/X11/fonts/userttfonts)
:
[root@taz userttfonts]# ttmkfdir > fonts.scaleLa commande précédente crée le fichier fonts.scale, dont va se servir mkfontdir pour créer le fichier fonts.dir :
[root@taz userttfonts]# mkfontdirRemarque :
Chez moi, j'utilise parfois un autre programme : mkttfdir qui reconnait parfois plus de fontes, parfois moins, ou d'autres fontes... Bref, vous pouvez l'essayer. mkttfdir provient du package perlftlib (si vous ne l'avez pas sur le CD de votre distrib, cherchez-le par exemple sur rufus.w3.org). Comme je disais, mkttfdir ne reconnaît pas toutes les fontes TrueType. Si c'est votre cas, éditez le fichier fonts.dir dans votre éditeur de texte préféré, et copiez une ligne quelconque en l'adaptant à la fonte que mkttfdir n'a pas vue ; ajoutez aussi 1 au nombre qui se trouve sur la première ligne. Pour utiliser mkttfdir et créer le fichier fonts.dir, remplacez les deux commandes précédentes par :
[root@taz userttfonts]# mkttfdir
[user@taz user]$ xset fp rehashou bien, redémarrez X (par l'appui simultané de [Ctrl]-[Alt]-[Backspace]).
Avant de redémarrer, lisez la note ci-dessous, cela pourra vous épargner bien des problèmes.
Attention : pour tourner,
X a besoin d'un minimum de fontes. Si votre nouvelle configuration les
lui supprime, que vous ayez accidentellement supprimé un répertoire
de fontes, ou que le serveur de fontes ne redémarre pas, je vous
conseille de modifier le fichier de configuration de X afin de lui permettre
d'utiliser certaines fontes, même sans serveur de fontes, et de pendre
certaines précautions :
Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "unix/:-1" FontPath "/usr/X11R6/lib/X11/fonts/misc/" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" EndSectionAttention, n'ajoutez pas de FontPath pointant vers un répertoire de fontes True Type : X est incapable de les gérer seul, sans serveur de fontes.
[root@taz userttfonts]# /etc/rc.d/init.d/xfs restart [root@taz userttfonts]# /etc/rc.d/init.d/xfs statusSi xfs ne toune pas, corrigez les erreurs ou bien revenez en arrière, et relancez-le puis vérifiez son statut, jusqu'à ce que celui-ci soit bon.
Solution alternative : utiliser
xfstt
xfstt est un autre serveur de fontes, qui reconnaît
nativement les fontes true type. Plutôt que de modifier la config
de xfs, vous pouvez faire cohabiter les deux serveurs de fontes sans problème,
et utiliser xfstt pour les fontes true type.
Pour trouver ce serveur, allez par exemple le chercher sur freshmeat ou rufus, puis installez-le.
De la même manière que ci-dessus, copiez (ou liez) vos fontes true type dans /usr/share/fontes/truetype (répertoire par défaut de xfstt, qui peut être modifié), puis dans ce répertoire, faire :
[root@taz truetype]# xfstt --syncEnfin, dans /etc/X11/XF86Config (Redhat et compatibles) ou /etc/XF86Config (Slackware), ajoutez un FontPath du type :
FontPath "unix/:7101"et dans un script de démarrage (/etc/rc.d/rc.local par exemple) placer la ligne ci-dessous :
xfstt &A partir de là, pour faire prendre les fontes en compte, soit vous redémarrez simplement (beurk), soit : 1. dans une console texte, en root, vous lancez "xfstt &", 2. vous redémarrez X par [Ctrl]-[Alt]-[Backspace].
Deux causes principales peuvent rendre X Window très lent :
(partie écrite par Fred)
Supposons que vous ayez deux (ou plus) postes Linux correctement configurés pour le réseau et pour X et que l'un des postes ne dispose que d'un petit disque dur, de peu de RAM d'un processeur très ancien... bref c'est un sassefépu, et l'autre c'est un poste dernier cri (un Pentium IV - 50 Gigahertz 50 Go de ram, 50 To de disque dur...), il peut être intéressant de ce connecter depuis le "petit" poste vers le "gros" (se seront les noms réseau que je vais utiliser) comme si on était toujours sur le gros ! En effet, le petit poste ne gèrera alors plus que l'affichage, et profitera de la rapidité du gros. La solution : éditer le fichier /etc/inittab du "petit" et transformer la ligne :
x:5:respawn:/etc/X11/prefdm -nodaemonen :
x:5:respawn:/etc/X11/X -query grospuis de redémarrer votre "petit" poste. Attention le "gros" poste doit être disponible, sinon vous allez voir l'écran de votre "petit" poste clignoter et faire des bruits suspects jusqu'a ce que vous vous décidiez à abréger ses tourments.
Un problème va rapidement apparaître : sur votre "gros"
poste vous avez installé 200 000 polices de caractères et
seulement 10 sur le "petit" poste et vous n'en voyez donc que 10 depuis
n'importe quelle application utilisée depuis le "petit" poste meme
si elle s'exécute sur le "gros" ! C'est pas sympa !
La solution numéro un, est d'installer toutes vos polices sur
le "petit", c'est pénible, et si vous avez 200 "petits" postes ce n'est
pas une solution envisageable si vous souhaitez pouvoir ajouter des polices
régulièrement !
La meilleure solution est fournie par X soi-même : le serveur
de polices xfs ! Il faut démarrer le serveur de police
sur le "gros" et n'utiliser que ce chemin - gardez quand même les
chemins des polices nécessaires au fonctionnement de X - pour vos
polices en faisant attention que le port de communication de xfs
ne soit pas -1 (ce port ne peut être utilisé qu'en
local !) prendre comme port, par exemple, 7100 (et suivants).
Et utiliser, pour tous les petits postes le serveur de polices du "gros",
(pour information le chemin à utiliser est tcp/gros:7100)
Sur une distribution Mandrake, le démarrage du serveur de police est assuré par le script /etc/rc.d/init.d/xfs. Mais le port utilisé est -1 ! Il suffit de le changer en 7100, de modifier /etc/XF86Config (remplacer Fontpath "unix:-1" par Fontpath "tcp/gros:7100" ) pour refléter ce changement et de redémarrer le serveur de polices et X sur le gros. Ne pas oublier, sur les "petits" postes de ne pas démarrer le serveur de police : ça occupe inutilement le CPU des petits postes.
Si vous avez plusieurs "gros" postes, la configuration est la même. Mais pour les petits, il est intéressant de pouvoir choisir sur quel "gros" se logguer, la solution : remplacer /etc/X11/X -query gros par /etc/X11/X -indirect gros sur les "petits" /etc/inittab. A noter, lors du choix de la machine sur laquelle se logguer, on peut voir la charge de celle-ci, cela peut aider à faire son choix.
par Fred
Sur ce même site on vous indique un truc pour permettre l'activation de Num Lock au démarrage de X Window, mais cette astuce présente l'inconvénient de désactiver les fonctionnalités de cette touche. Heureusement, au royaume de Linux, il existe une solution.
Note : Depuis la version 7.2 de la Mandrake (au moins), un équivalent de numlockx est fourni en standard (dans le package nommé : numlock-xxx.rpm). Le programme à utiliser s'appelle : enable_X11_numlock. Il fonctionne de la même manière que numlockx pour la bonne raison que c'est le programme de Lubos qui est utilisé.
$ tar xzf numlockx-1.0.tar.gzPuis compilez le :
$ cd numlockx-0.2Et voilà c'est tout ! Si la compilation se termine par une erreur, c'est qu'il vous manque certains paquetages de développement (XFree86-devel-*). Installez les et recommencez.
$ ./configure
$ make
$ su -c "make install"
numlockx onou :
numlockxPour désactiver le verrouillage, vous taperez :
numlockx offEt pour changer (off devient on, et on devient off) le verrouillage, vous taperez :
numlockx switchC'est tout simple.
if [ -x /usr/X11R6/bin/numlockx ]; thenpuis relancer X en appuyant en même temps sur <CTRL>+<ALT>+<BackSpace>. Normalement votre touche Num Lock doit être activée.
/usr/X11R6/bin/numlockx on
fi
Sur votre distribution, numlockx peut s'appeler enable_X11_numlock (Mandrake par exemple, avec le package numlock->version<.i586.rpm).
numlockx.c
-------------Copier à partir de là---------------
#include <X11/extensions/XTest.h>
#include <X11/keysym.h>
int main()
{
Display* disp = XOpenDisplay( NULL );
if( disp == NULL )
return 1;
XTestFakeKeyEvent( disp,
XKeysymToKeycode( disp, XK_Num_Lock
),
True, CurrentTime );
XTestFakeKeyEvent( disp,
XKeysymToKeycode( disp, XK_Num_Lock
),
False, CurrentTime );
XCloseDisplay( disp );
return 0;
}
-------------Copier jusque là--------------------
Pour compiler, tapez (sur une seule ligne) :
gcc numlockx.c -o numlockx -lX11 -lXtst -I/usr/X11R6/include -L/usr/X11R6/libPuis vous pouvez lancer par ./numlockx pour activer le pavé numérique. (Cette version simplifiée ne dispose pas des arguments on, off et switch).
Remarque : le verrouillage de numlockx est maintenant configuré automatiquement chez Debian lors du lancement de X.
par Fred
Mise à jour par Jonesy, GEDsismik et Fraazz
Lorsque l'on se connecte à Linux en mode graphique on utilise
un DM (Display Manager).
Celui-ci permet (souvent) de choisir le gestionnaire
de fenêtres ou l'environnement à lancer, mais comment cela marche-t-il ?
Nous allons donc voir ci-dessous comment configurer le gestionnaire de connexion afin de choisir son environnement préféré sous X (KDE, Gnome, Afterstep, WindowMaker, fvwm,... ou même pourquoi pas olwm, mwm ou twm !).
Il existe plusieurs Display Manager (DM), mais les deux le plus couramment utilisés sont kdm
et gdm
car ce sont les DM respectifs de KDE et de Gnome. De plus, ces DM sont installé par défaut sur la majorité des distributions.
La raison de ces choix est que toute la configuration se fait dans une boîte de dialogue à la fois simple et claire.
Remarque : le display manager par défaut de XFree86 et Xorg se nomme xdm
.
Pour installer KDM, rien de plus simple, il faut installer les paquetages de base de KDE (qt, kdelibs, kdebase et éventuellement kdesupport si le paquetage existe). Si vous utilisez une distribution récente les paquetages doivent être présent sur le CD de celle-ci, mais si ce n'est pas le cas, ou si vous avez perdu les CD, vous pouvez toujours télécharger les paquetages soit sur le site de KDE, soit sur le site prévu à cet effet de votre distribution.
Vérifier que KDE est installé, dans un terminal, faîtes :
Spécifique aux distributions RPM :
[fred@localhost fred]$ rpm -q kdebase
kdebase-3.2.3-128mdk
[GEDsismik@localhost ~]$ ls /var/log/packages/*kdebase*
/var/log/packages/kdebase-3.3.2-i486-1
Si ce n'est pas le cas, il nous faut l'installer, là
c'est très simple, mais il faut être root
,
procurez-vous les paquetages correspondant à votre distribution,
et installez-les.
Les numéros de version pouvant bien sûr différer, voici comment les installer :
[root@localhost home]# rpm -i qt3-common-3.3.3-26mdk.i586.rpm
[root@localhost home]# rpm -i kdelibs-common-3.2.3-93mdk.i586.rpm
[root@localhost home]# rpm -i kdebase-3.2.3-128mdk.i586.rpm
[root@localhost ~]# installpkg qt-3.3.3-i486-2.tgz
[root@localhost ~]# installpkg kdelibs-3.3.2-i486-1.tgz
[root@localhost ~]# installpkg kdebase-3.3.2-i486-1.tgz
C'est fait, KDE est installé !
N'oubliez pas d'installer les paquetages d'Internationnalisation de KDE, en particulier le français (kde-i18n-fr-3.3.2
).
La configuration de KDM est pratiquement triviale. Il suffit de lancer le Centre de configuration KDE (Control Center, commande : kcontrol
)
via le menu ou la barre de tâches. Puis allez dans Administration du système (System Administration) et Gestionnaire de connexion (Login Manager).
Sur ces onglets, vous pouvez mettre ce que bon vous semble, elles ne servent que pour configurer l'apparence de KDM. Un conseil toutefois, le choix de la police peut conduire à quelques problèmes si celle que vous choisissez n'est pas disponible au moment du lancement de KDM, donc prudence.
Cette page sert à définir qui à le droit de faire quoi lors des
arrêts et connexions.
Il permet aussi de dire si nous voulons voir les choix du chargeur de démarrage (lilo ou grub)
afin de redémarrer directement sur un autre système.
Ces onglets servent à choisir si KDM vous proposera
une liste d'utilisateurs ou non. Cela peut éviter d'avoir à
taper le nom de l'utilisateur lors de la connexion : un clic sur l'utilisateur
et le voilà sélectionné. Pour activer cette option,
cocher la case <Lister les utilisateurs>.
Et il y a encore d'autres options...
C'est la page qui nous intéresse pour choisir le gestionnaire de fenêtres que nous chargerons à la connexion. Dans la boîte liste intitulée <Types disponibles> vous devez insérer une entrée par gestionnaire de fenètre que vous souhaitez proposer. Par exemple, vous pouvez y ajouter :
Le fait d'ajouter ces entrées dans cette liste ne signifie pas que vous pourrez effectivement les utiliser, il signifie seulement que ces Gestionnaires de fenêtre vous seront proposés à la connexion. L'orthographe de chacune des entrées est libre, mais sera réutilisée par la suite dans le script qui lance le gestionnaire correspondant (voir ci-dessous).
La définition des gestionnaires de fenêtres utilisables ne se fait plus
dans le centre de contrôle. La liste est générée automatiquement à partir de la liste
des fichiers <gestionnaire>.desktop
contenu dans /opt/kde/share/apps/kdm/sessions
.
Il existe un fichier par gestionnaire de fenêtres, ces fichiers contiennent des informations diverses, mais celle qui permet de savoir si le gestionnaire de fenêtres doit être affiché dans la liste des gestionnaires de fenêtres disponibles est le nom de l'exécutable à lancer pour lancer le gestionnaire de fenêtres. Si cet exécutable existe sur le système alors le gestionnaire de fenêtres fera partie de la liste.
A savoir aussi que KDM utilise son propre fichier Xsession
, /opt/kde/share/config/kdm/Xsession
.
Dans les différentes entrées qui existent déjà,
l'une d'elle se nomme failsafe
cette entrée n'est pas faite
pour lancer un gestionnaire de fenêtre, son comportement par défaut
est de lancer un terminal sans gestionnaire de fenêtre, vous pouvez
essayer, pour voir. Si vous voulez dans ce mode lancer un gestionnaire
de fenêtre, c'est très simple, il suffit de lancer dans ce
terminal le gestionnaire de fenêtre (en tapant par exemple : enlightenment
&
ou kwm &
). Ce mode permet de tester la commande
qu'il convient de lancer pour activer tel ou tel gestionnaire de fenêtre.
Il permet aussi de démarrer une session quand quelque chose
ne fonctionne plus.
Maintenant il faut dire à KDM ce qu'il doit
faire quand on a choisi tel ou tel gestionnaire de fenêtres. Historiquement, cela
se fait en créant/modifiant le fichier /etc/X11/xdm/Xsession
.
Un fichier exemple commenté se trouve en fin d'article.
Mais comme nous l'avons vu ci-dessus, KDM utilise son propre fichier Xsession
.
Pour installer gnome, rien de trés compliqué.
Vous devez installer tous les paquets de la série gnome
, bien qu'ils ne soient pas tous nécessaires je vous conseille toutefois de tous les installer.
La configuration de gdm
est trés simple. Utilisez en tant que root l'utilitaire gnome prévu à cet effet: gdmsetup
que vous trouverez dans le menu applications , outils système, configuration de l'écran de connexion (ou tapez gdmsetup
dans un terminal).
Dans cette partie vous configurez les paramètres de base de gdm
. Vous pouvez choisir une invite de login graphique (c'est à dire avec arriére plan etc...) ou standard (toujours graphique mais beaucoup plus simple) pour les connexions locales ou distantes ; le format de l'heure (12 ou 24) ; le message de bienvenue local et distant ainsi que connecter automatiquement un utilisateur immédiatement ou après un certain nombre de secondes.
Vous définissez ici l'allure générale de la bannière dite standard.
Vous choisissez ici le thème de la bannière dite graphique. Vous pouvez aussi installer de nouveaux thèmes.
C'est ici que se trouvent les paramètres de sécurité de gdm. Vous autorisez ou non les logins root locaux et/ou distants, les connexions différées à distance, l'affichage du menu action (qui permet l'arrêt / redémarrage de la machine), et les connexions à distance.
Pour activer les aides graphiques et sonores pour les personnes handicapées.
Ici vous configurez les connexions distantes via le protocole XDMCP
, c'est à dire son activation, son port réseau UDP, le nombre de tentatives autorisées, les délais d'attentes, etc...
Les sessions se configurent normalement dans /etc/X11/gdm/Xsession
. Le paragraphe
qui suit vous montre un exemple de fichier.
Voici le mien :
#!/bin/bash -login
# On est en train de se loguer, donc on le dit à bash !
# On envoie les erreurs dans un des fichiers suivants
# (le premier trouvé !)
for errfile in "$HOME/.xsession-errors" \
"${TMPDIR-/tmp}/xses-$USER" \
"/tmp/xses-$USER"
do
if ( cp /dev/null "$errfile" 2> /dev/null )
then
chmod 600 "$errfile"
exec > "$errfile" 2>&1
break
fi
done
# ici on trouve les fichiers de ressources
# par défaut et ceux de l'utilisateur
# qui vient de se loguer
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/Xresources
sysmodmap=/etc/X11/xinit/Xmodmap
# pour être compatible avec les anciennes
# version de X :
oldsysresources=/etc/X11/xinit/.Xresources
oldsysmodmap=/etc/X11/xinit/.Xmodmap
# on active ces différentes ressources :
if [ -f $oldsysresources ]; then
xrdb -merge $oldsysresources
fi
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $userresources ]; then
xrdb -merge $userresources
fi
# on active un autre clavier
# si c'est précisé dans les variables
# $sysxkbmap et $userxkbmap :
# a priori ca sert à rien
# mais comme ça vient du Xsession
# initial je l'ai laissé.
if [ -f $sysxkbmap ]; then
setxkbmap `cat $sysxkbmap`
XKB_IN_USE=yes
fi
if [ -f $userxkbmap ]; then
setxkbmap `cat $userxkbmap`
XKB_IN_USE=yes
fi
if [ -z $XKB_IN_USE -a ! -L /etc/X11/X ]; then
if grep '^exec.*/Xsun' /etc/X11/X > /dev/null
2>&1 \
&& [ -f /etc/X11/XF86Config
]; then
xkbsymbols= \
`sed -n -e 's/^[ ]*XkbSymbols[
]*"\(.*\)".*$/\1/p'`
if [ -n "$xkbsymbols" ]; then
setxkbmap
-symbols "$xkbsymbols"
XKB_IN_USE=yes
fi
fi
fi
# xkb et xmodmap ne sont pas vraiment compatibles
if [ -z $XKB_IN_USE ]; then
if [ -f $oldsysmodmap ]; then
xmodmap $oldsysmodmap
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f $usermodmap ]; then
xmodmap $usermodmap
fi
fi
unset XKB_IN_USE
# on lance tous les scripts exécutables de
# /etc/X11/xinit/xinitrc.d/
for i in /etc/X11/xinit/xinitrc.d/* ; do
if [ -x $i ]; then
. $i
fi
done
# Voilà la partie qui nous intéresse :
# lorsque kdm lance ce script, il lui
# passe en premier paramètre l'une
# des entrées que vous avez validées
# dans kdmconfig (respect des majuscules
# et des minuscules)
# donc, pour chacune des entrées vous
# devez ajouter quelque chose comme ce
# qui est en gras :
case $# in
1) # il y a bien au moins un paramètre
case $1 in
gnome)
# ici vous pouvez mettre
n'importe
# quelle commande
exec gnome-session
# ce n'est pas comme un
case C !
;;
kde)
exec startkde
;;
*)
# par defaut on lance un terminal
:
exec xterm -geometry 80x24-0-0
;;
esac
esac
# Si le dm n'est pas kdm, il peut
# ne pas renvoyer de paramètre
# dans ce cas on lance le premier
# des fichiers suivant :
if [ -x "$HOME/.xsession" ]; then
exec "$HOME/.xsession"
elif [ -x "$HOME/.Xclients" ]; then
exec "$HOME/.Xclients"
elif [ -x /etc/X11/xinit/Xclients ]; then
exec /etc/X11/xinit/Xclients
else
# normalement on ne devrait
# jamais arriver ici, mais
# au cas ou ...
exec xsm
fi
Ce n'est pas très complexe, lorsque vous validez votre login
et votre mot de passe depuis KDM, celui-ci vérifie que ceux-ci sont
bien valides. Lorsque c'est fait, il lance (tôt ou tard) le script
/etc/X11/xdm/Xsession
, ou /opt/kde/share/config/kdm/Xsession
pour KDE,
(qui doivent être exécutables) en lui passant comme paramètre
le nom du gestionnaire de fenêtre choisi par l'utilisateur (c'est
la petite liste déroulante en bas à gauche de la fenêtre
de KDM). Il suffit donc, dans ce script, de faire un test (ce sont les
deux case) et d'exécuter en
conséquence les bonnes actions pour lancer le bon gestionnaire de
fenêtre.
Donc, pour chaque gestionnaire de fenêtre, vous pouvez ajouter
un test de plus dans le case ainsi
que les commandes qui lancent ce nouveau gestionnaire de fenêtre.
Puis, vous redémarrez X par [CTRL]+[ALT]+[BACKSPACE]
si vous êtes sous X, ou startx
si vous êtes en mode
texte.
par Fred
Vous avez plein de polices vectorielles TrueType ou Adobe Type1, mais vous ne savez pas comment faire en sorte que X, Ghostscript et StarOffice les utilisent. Ce document est fait pour vous. Il contient l'état actuel de mes recherches sur la question.
comic.ttf -microsoft-Comic Sans MS-medium-r-normal--0-0-0-0-p-0-fcd8859-15Le premier champ est le nom de fichier contenant la police, le second champ est le nom xfld de cette police sous X. On peut si l'on veut modifier les deux premiers champs du nom xfld pour y mettre ce que l'on veut (vous pouvez par exemple remplacer microsoft par linux si ça vous amuse).
A la vue d'une telle ligne on ne peut qu'être effrayé : "Je vais devoir écrire des lignes aussi farfelues ?". Bien sûr que non. Il existe deux utilitaires qui vont faire ce travail pour nous en extrayant les données qui conviennent directement depuis le fichier de police.
Pour les polices TrueType l'utilitaire s'appelle : ttmkfdir. L'utilisation est relativement simple, puisqu'il suffit de se placer dans le répertoire contenant les polices et de taper :
ttmkfdir > fonts.diret d'ignorer les messages d'erreurs qui signalent que quelques fonts ne sont peut-être pas reconnues par l'utilitaire.
Pour les polices Adobe Type 1 l'utilitaire s'appelle type1inst . Son utilisation n'est pas plus complexe : on se place dans le répertoires contenant les polices et on tape :
type1instet on ignore là aussi les messages d'erreur. Dans les deux cas on a à la fin de l'opération un fichier fonts.dir et dans le cas des polices Adobe Type 1, le fichier fonts.scale est aussi généré. Dans les cas des polices Type1, type1inst génère en plus Fontmap qui contient ce qu'il faut inclure au fichier correspondant de Ghostscript pour que GS (le petit nom de Ghostscript) puisse imprimer ces polices. Nous verrons plus loin que ce fichier ne nous servira pas tel quel : on peut l'effacer sans autre forme de procès.
A partir de maintenant nous savons comment configurer nos répertoires contenant des polices vectorielles.
Le fichier de configuration de xfs est /etc/X11/fs/config (sur la Mandrake, si ce n'est pas votre cas faites man xfs pour en avoir le coeur net). Il n'est pas nécessaire d'éditer soi-même ce fichier, chkfontpath fait très bien ce travail en vérifiant en plus que les paramètres que l'on lui passe ne sont pas stupides, ce qui nous évite d'avoir un plantage pénible de X parce qu'on a mal écrit un nom de répertoire.
Pour permettre à notre serveur de polices d'afficher celles que nous venons fraîchement d'installer, il nous faut dire au serveur de police que de nouveaux répertoires contenant des polices sont présents sur notre système. Pour cela nous tapons :
chkfontpath --add /usr/share/fonts/type1La dernière ligne demande au serveur de police de recharger sa configuration. Le deux première ligne sont suffisamment claires. Pour vérifier que nos polices sont effectivement disponibles il suffit de faire :
chkfontpath --add /usr/share/fonts/ttf
/etc/rc.d/init.d/xfs restart
xlsfonts | lesset de regarder la sortie à la recherche des polices que nous venons d'installer. Les noms affichés sont ceux reconnus par X et pas ceux que l'on aimerait trouver.
/nom-de-police1 (/usr/share/fonts/type1/police1.pfa) ;Rien de bien compliqué ! La seule chose importante, c'est que je crois qu'il faut que les nom doivent être sans aucun espace ! Puis dans n'importe quel fichier Postscript il suffira de préciser /nom-de-police1 pour utiliser la police1. évidemment, c'est bien joli, mais qui a déjà écrit un fichier Postscript avec ses petites mains ? Donc, passons à StarOffice qui va générer nos fichiers Postscript.
/nom-de-police2 (/usr/share/fonts/type1/police2.pfb) ;
/nom-de-police3 (/usr/share/fonts/ttf/police3.ttf) ;
Pour GS, j'ai rencontré des problèmes avec quelques polices : mais elles sont très rares.
La configuration de StarOffice peut être un véritable cauchemar,
en effet ni StarDivision, ni Sun n'ont jamais été très
clairs concernant ce point particulier. De plus dans les listes de diffusions,
je n'ai pas trouvé beaucoup de chose expliquant tout.
La configuration de StarOffice passe par plusieurs fichiers de configuration
(dont un fichier particulier puisque c'est un répertoire !). Le
format de fichiers de StarOffice est propriétaire (ouh les vilains!),
mais heureusement pour nous pas le format des fichiers de configuration
qui nous intéresse.
Réglons d'un coup le cas de StarWriter : quand le problème d'impression aura été réglé il n'en subsistera plus aucun, car StarWriter ne propose que les polices imprimables !
Pour imprimer, il faut que le conducteur de périphérique soit au fait de nos nouvelles polices. Le fichier conduisant ghostscript est : $SOPATH/xp3/ppds/SGENPRT.PS (ou $SOPATH est le nom du répertoire contenant votre installation de SO, le répertoire principal, pas le répertoire utilisateur).
Il suffit d'ajouter à ce fichier, les lignes suivantes :
*Font nom-de-police1: Standard "(001.000)" Standard ROM
*Font nom-de-police2: Standard "(001.000)" Standard ROM
*Font nom-de-police1: Standard "(001.000)" Standard ROM
Attention : nom-de-police1 DOIT être exactement
le même nom que pour ghostscript !
Je ne sais pas à quoi correspond exactement le 001.000
mais il semblerait vu l'analyse que j'ai faite des fichiers *.afm
dont nous verrons plus loin l'intérêt, il semblerait que ce
soit une taille de polices standard (à voir...).
Bon, maintenant le conducteur d'imprimante de SO sait que l'imprimante sait imprimer ces polices, mais SO ne sait pas quel est le rapport entre ces polices d'imprimante et les polices écran.
EUNormal, -monotype-EU Normal-medium-r-normal--%d-%d-%d-%d-p-0-iso8859-1
Même si elles paraissent complexe, il n'est pas très compliqué de les deviner, mais c'est pas agréable à faire : il faut, pour chaque police, aller chercher dans le fichier fonts.dir correspondant la ligne décrivant la police X, on note le nom xfld. Puis on ajoute la ligne :
nom-de-police1, nom-xfld
où nom-xfld est le nom de police X où l'on a remplacé les champs 7, 8, 9 et 10 par %d, pour permettre à SO de choisir la taille des dites polices (quand je dit "pour", je veux dire qu'il est obligatoire que 4 champs du nom xfld soit des %d !).
NDJCC : tiens, ils auraient pas programmé SO en C ou C++ ? ;-)
Eh bien, on n'est pas sorti de l'auberge, quand il va s'agir d'ajouter 250 polices ! (patience, patience ...)
Pour avoir ces .afm, on a deux possibilités :
type1afm *.pf[ab]
ou :
ttf2afm *.ttf
Le problème est que ces fichiers ne sont pas compatibles avec SO ! Il faut les convertir ! C'est le rôle du script afm.pl auquel on passe tour à tour chaque fichier .afm. Ce scripte crée, pour chaque police : un fichier .afm.new. On s'empresse alors d'effacer le fichier .afm et de renommer le .afm.new en .afm. :
for i in *.afm ; do afm.pl $i ; done
rm -f *.afm.new
for i in *.afm.new ; do mv $i `echo $i | sed "s/\.new//"`
; done
Il faut maintenant que SO sache où trouver ces .afm, et ceux-ci doivent impérativement être dans le répertoire $SOPATH/xp3/fontmetrics/afm, et leur nom doivent être celui de la police ghostscript concernée ! C'est un régal de faire ça à la main !
Maintenant, SO est capable d'afficher la liste des polices, d'afficher les sus-dites polices et même de les imprimer.
addfont.pl --add path1/font1 ... pathn/fontn
addfont.pl -a path1/font1 ... pathn/fontnAttention : la présence d'un répertoire est obligatoire pour chaque polices (c'est un bug. FIXED)
On peut (c'est conseillé) utiliser les jokers (* et ?). Parfois le script vous renverra un message d'erreur, c'est signe qu'un fichier .afm n'a pas pu être converti : la police ne contenait pas assez d'information pour effectuer cette conversion.
Il y a un bug invisible : quand addfont.pl ne trouve pas un exécutable, ou quand il n'arrive pas à effacer un fichier, il ne retourne aucun message d'erreur, cela peut être très pénible, alors prudence.
addfont.pl --rem path1/font1 ... pathn/fontn
addfont.pl -r path1/font1 ... pathn/fontnCes polices seront supprimées des répertoires /usr/share/fonts/* ainsi que des fichiers de configuration de GS et SO.
Il subsiste quand même quelques problème, certaine police on des noms (xfld) du type :
-Galopagos Design, Inc-Matisse-*-*-*-*-*-*-*-*-*-*-*-*et cela peut perturber StarOffice à cause de l'espace dans le nom, il faudrait éditer le fichier fonts.dir correspondant et modifier cela (encore que je n'ai pas essayé). Un conseil, essayez vos polices et enlevez celles qui ne s'impriment pas. (Sur 300 polices - 150 ttf et 150 pfb - j'en ai une quinzaine qui ne fonctionnent pas correctement, et ce sont à chaque fois des polices très peu utiles) On ne peut jamais être sur que ce n'est pas la police qui est buggée.
par Fred
Installer et configurer plusieurs cartes graphiques (PCI et/ou AGP) et plusieurs écrans et bénéficier de leurs services.
Section "Monitor"Pour mon IIYAMA et :
Identifier "IIYAMA"
VendorName "IIYAMA"
ModelName "Vision Master Pro 411"
# HorizSync is in kHz unless units are specified.
# HorizSync may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.
HorizSync 30-86
# VertRefresh is in Hz unless units are specified.
# VertRefresh may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.
VertRefresh 50-180EndSection
Section "Monitor"pour mon ADI ; tout cela étant bien entendu dans le même fichier XF86Config.
Identifier "ADI"
VendorName "ADI Corp."
ModelName "15pouces"
# HorizSync is in kHz unless units are specified.
# HorizSync may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.
HorizSync 30-60
# VertRefresh is in Hz unless units are specified.
# VertRefresh may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.
VertRefresh 50-100EndSection
# X -scanpci -verboseEt vous devriez voir quelque chose comme :
Probing for PCI devices (Bus:Device:Function)C'est la liste de tous vos périphériques PCI/AGP. Mes carte graphiques sont une S3 Virge dont le paramètre BusID sera donc (cf. paramètre en rouge) : "0:4:0" et une TNT2 dont le paramètre BusID sera (cf. paramètre en vert) : "1:0:0". Mes sections "device" sont donc :(0:0:0) unknown chip (DeviceId 0x0305) from VIA
(0:1:0) unknown chip (DeviceId 0x8305) from VIA
(0:3:0) Realtek unknown card (0x8029) using a Realtek 8029
(0:4:0) S3 ViRGE
(0:20:0) VIA card using a VIA VT 82C686 MVP4 ISA Bridge
(0:20:1) VIA card using a VIA VT 82C586 MVP3 IDE Bridge
(0:20:2) unknown card (0x0925/0x1234) using a VIA VT 82C586 MVP3 USB Controller
(0:20:3) unknown card (0x0925/0x1234) using a VIA VT 82C586 MVP3 USB Controller
(0:20:4) VIA card using a VIA VT 8501 MVP4 ACPI Bridge
(0:20:5) VIA card using a VIA VT 8501 MVP4 MultiMedia
(1:0:0) unknown card (0x1569/0x002d) using a NVidia Riva Ultra 64
Section "Device"pour ma TNT2 et :
Identifier "RIVA TNT2"
VendorName "Unknown"
BoardName "Unknown"
BusID "1:0:0"
Driver "nvidia"# Uncomment following option if you see a big white block
# instead of the cursor!
# Option "sw_cursor"Option "DPMS"
EndSection
Section "Device"pour ma S3 Virge. Comme pour les moniteurs, les variables Identifier doivent être différentes pour chacune des cartes graphiques.
Identifier "S3 Virge"
VendorName "Unknown"
BoardName "Unknown"
BusID "0:4:0"
Driver "s3virge"# Uncomment following option if you see a big white block
# instead of the cursor!
# Option "sw_cursor"Option "DPMS"
EndSection
Note : Si votre carte graphique est une GeForce2MX, vous pouvez utiliser les fonctionnalités TwinView (deux écrans sur la même carte graphique), voici un exemple de lignes à ajouter dans la section "Device" de cette carte :
Option "TwinView"Configurons maintenant :
Option "SecondMonitorHorizSync" "30-38"
Option "SecondMonitorVertRefresh" "50-100"
Option "TwinViewOrientation" "Below"
Option "MetaModes" "1152x864, 800x600; 1152x864, NULL"
Option "ConnectedMonitor" "crt, crt"
Section "Screen"pour mon écran IIYAMA que j'ai relié à ma TNT2 et :
Identifier "Principal"
Device "RIVA TNT2"
Monitor "IIYAMA"
DefaultColorDepth 24
Subsection "Display"
Depth 8
Modes "1088x816" "1024x768" "800x600" "640x400"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 16
Modes "1088x816" "1024x768" "800x600" "640x400"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 24
Modes "1088x816" "1024x768" "800x600" "640x400"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 32
Modes "1088x816" "1024x768" "800x600" "640x400"
ViewPort 0 0
EndSubsection
EndSection
Section "Screen"pour mon ADI Corp. que j'ai relié à ma S3 Virge. Pour chaque écran, les variables "Device" et "Monitor" doivent correspondre à un Identifier des sections "Device" et "Monitor" (voir les lignes en gras dans les sections précités). Une nouvelle fois les variables Identifier doivent être différentes pour les deux (ou plus) sections "Screen". Il ne nous reste plus qu'à dire au serveur X comment sont disposés nos écrans, et pour cela à configurer :
Identifier "Secondaire"
Device "S3 Virge"
Monitor "ADI"
DefaultColorDepth 24
Subsection "Display"
Depth 8
Modes "1024x768" "800x600" "640x400"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 32
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
EndSection
Section "ServerLayout"A la place de "RightOf" vous pouvez mettre :
Identifier "layout1"
Screen "Principal"
Screen "Secondaire" RightOf "Principal"InputDevice "Mouse1" "CorePointer"
InputDevice "Keyboard1" "CoreKeyboard"
EndSection
XNormalement le serveur X doit démarrer et vos deux écrans doivent s'allumer, vous devez pouvoir passer la souris d'un écran sur l'autre, comme s'ils ne formaient qu'une seule surface. Ca marche ? Passons à la suite. Ca ne marche pas ? Relisez tout ce qui précède...
Maintenant vous pouvez travailler avec vos deux écrans.
startx -- +xineramasoit on utilise un "Display Manager" (kdm, gdm, xdm, et c.). Dans le cas de kdm ou xdm il faut éditer le fichier /etc/X11/xdm/Xserver pour que la ligne d'appel du serveur X devienne :
:0 local /usr/X11R6/bin/X +xinerama
Dans le cas de gdm il faut éditer le fichier /etc/X11/gdm/gdm.conf
pour que la ligne d'appel du serveur X devienne :
0=/usr/bin/X11/X +xinerama(dans la section : servers). Puis vous redémarrez votre "Display Manager" :
init 3Attendez 5 secondes, puis :
init 5Et voilà, votre "Display Manager" s'étale sur vos multiples écrans. Si vous vous loguez, vous devez voir le changement. Pour que votre écran MultiHead soit le plus facilement utilisable je vous conseille d'utiliser Enlightenment qui permet, entre autre, la maximisation limitée à une seul écran (ce que vous voudrez sans doute faire). Il parait que Sawfish en est aussi capable, mais je n'ai pas pu le voir fonctionner...
Pour utiliser le multihead sans Xinerama je vous conseille d'utiliser (une nouvelle fois) Enlightenment, car lorsque vous n'êtes pas en mode xinerama vous avez deux displays : :0.0 et :0.1 et il faut lancer un window manager sur chacun des deux displays. Mais par défaut seul premier des deux displays se voit pourvu, vous pouvez alors lancer le window manager de votre choix sur le second display par :
DISPLAY=:0.1 sawfishpour lancer sawfish sur le second display (quelque soit le window manager lancé sur le premier display, sauf Enlightenment). L'avantage de Enlightenment : vous n'avez pas à taper cette commande, Enlightenment détectant automatiquement votre second display et se lançant alors sur celui-ci.
Comment démarrer X facilement à partir de la console, et comment configurer les fichiers relatifs.
En fait, en général, tout va bien jusqu'au jour ou vous vous mettez en tête de personnaliser un petit peu les méthodes. Cela vient du fait que certaines distributions personnalisent les fichiers, ce qui n'est pas une mauvaise chose en soit, car cela permet d'utiliser linux directement après une première installation, sans avoir à toucher au moindre fichier de configuration (ce qui peut être délicat à faire sous Linux quand on découvre); cela dit, parfois les méthodes misent en oeuvres rendent des modifications personnelles (et c'est quand même là que se situe un des avantage de Linux) assez difficiles.
Nous allons donc voir des méthodes simples pour s'en sortir,
en nous basant tout simplement sur les très bons fichiers de configurations
fournis avec X quand il est installé à partir des sources.
Tout ce qui est dit ici concerne Xfree86 dans sa version 4.1.0, tenez
en compte si votre version diffère.
![]() |
app-defaults | On trouve ici les configurations par défaut pour les applications X comme xterm, xedit, xclock... |
![]() |
fs | Font server. Le fichier config détermine la taille du cache du serveur de fontes, l'emplacement des fichiers de log, etc. |
![]() |
lbxproxy | Pas abordé ici. |
![]() |
proxymngr | Pas abordé ici. |
![]() |
rstart | Pas abordé ici. |
![]() |
twm | twm est le gestionnaire de fenêtres par défaut de X. Il est minimaliste mais très configurable. |
![]() |
xdm | X display manager. Gestionnaire de login (sessions X) par défaut. kdm et gdm (gestionnaires de login de KDE et Gnome respectivement) se servent de aussi de ce fichier. |
![]() |
xinit | Programme pour initialiser une session X à partir de la console. Peut être lancé via la commande startx. |
![]() |
xkb | Concerne le clavier. |
![]() |
xserver | Permet de configurer la sécurité de serveur. |
![]() |
xsm | X session manager. C'est ce qui permet d'avoir plusieurs profils (à travers xdm par exemple). |
![]() |
XF86Config | Le fichier de configuration du/des serveurs graphiques. |
![]() |
XftConfig | Configuration du serveur de fontes. |
Nous partons du principe que votre carte graphique est déjà
bien configurée.
On voit déjà qu'il y aurait plus d'une méthode
pour arriver à nos fins, mais nous allons simplement utiliser xinit,
qui convient parfaitement à une utilisation simple.
Le répertoire xinit contient par défaut uniquement le fichier xinitrc que voici (commenté) :
# définition fichiers système / utilisateur à chercher userresources=$HOME/.Xresources usermodmap=$HOME/.Xmodmap sysresources=/usr/X11R6/lib/X11/xinit/.Xresources sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap # merge in defaults and keymaps # teste l'existence des fichiers prédéfinis, et les # prend en compte si besoin. if [ -f $sysresources ]; then xrdb -merge $sysresources fi if [ -f $sysmodmap ]; then xmodmap $sysmodmap fi if [ -f $userresources ]; then xrdb -merge $userresources fi if [ -f $usermodmap ]; then xmodmap $usermodmap fi # start some nice programs # l'environnement X par défaut. Si vous lancez X par un # simple startx, c'est ce qui est lancé. twm & xclock -geometry 50x50-1+1 & xterm -geometry 80x50+494+51 & xterm -geometry 80x20+494-0 & exec xterm -geometry 80x66+0+0 -name loginNous voyons donc pourquoi l'appel à startx lance par défaut twm avec des xterm et l'horloge. En fait, startx est un simple script Bash qui se charge d'appeler xinit à votre place, en lui passant éventuellement un certain nombre de paramètres.
Voici un fichier /usr/X11R6/startx par défaut :
#!/bin/sh userclientrc=$HOME/.xinitrc userserverrc=$HOME/.xserverrc sysclientrc=/usr/X11R6/lib/X11/xinit/xinitrc sysserverrc=/usr/X11R6/lib/X11/xinit/xserverrc defaultclientargs="" defaultserverargs="" clientargs="" serverargs="" if [ -f $userclientrc ]; then defaultclientargs=$userclientrc else if [ -f $sysclientrc ]; then defaultclientargs=$sysclientrc fi fi if [ -f $userserverrc ]; then defaultserverargs=$userserverrc else if [ -f $sysserverrc ]; then defaultserverargs=$sysserverrc fi fi display=:0 whoseargs="client" while [ "x$1" != "x" ]; do case "$1" in --) whoseargs="server" ;; *) if [ "$whoseargs" = "client" ]; then clientargs="$clientargs $1" else serverargs="$serverargs $1" case "$1" in :[0-9]*) display="$1" ;; esac fi ;; esac shift done if [ x"$clientargs" = x ]; then clientargs="$defaultclientargs" fi if [ x"$serverargs" = x ]; then serverargs="$defaultserverargs" fi if [ X"$XAUTHORITY" = X ]; then export XAUTHORITY=$HOME/.Xauthority fi removelist= # set up default Xauth info for this machine mcookie=`mcookie` for displayname in $display `hostname -f`$display; do if ! xauth list "$displayname" | grep "$displayname " >/dev/null 2>&1; then xauth add $displayname . $mcookie removelist="$displayname $removelist" fi done xinit $clientargs -- $serverargs if [ x"$removelist" != x ]; then xauth remove $removelist fi if command -v deallocvt > /dev/null 2>&1; then deallocvt fi
Pas besoin de commenter ce script assez simple, retenons simplement
cette ligne:
xinit $clientargs -- $serverargs
Et nous comprenons que pour l'instant, il n'y qu'un environnement accessible à la ligne de commande. Les paramètres $clientargs -- $serverargs permettant de jouer sur le serveur graphique (quel serveur, résolution etc....) mais pas de choisir un window manager, qui est pourtant souvent notre souhait.
Nous allons maintenant voir plusieurs cas qui peuvent vous intéresser.
Modifiez la fin de xinitrc pour qu'il ressemble à ça :
# start some nice programs # l'environnement X par défaut. Si vous lancez X par un # simple startx, c'est ce qui est lancé. # lançons un window manager (ça peut être ce qu'on veut: xfce, # sawfish, gnome-session etc...) exec wmaker # si vous voulez que soit lancez des programmes décommentez # cela ou rajoutez des commandes (ça peut être utile dans # certains cas) #xclock -geometry 50x50-1+1 & #xterm -geometry 80x50+494+51 & #xterm -geometry 80x20+494-0 & #exec xterm -geometry 80x66+0+0 -name loginPour lancer le window manager choisi, vous n'avez plus qu'à taper startx ou xinit. Pour que chaque utilisateur ait son propre profil, il suffit de créer un fichier .xinitrc dans son répertoire $HOME (répertoire /home/utilisateur), il remplacera alors le fichier général /etc/X11/xinit/xinitrc.
A noter : si vous voulez passer un paramètre au serveur, utilisez
plutôt startx.
Créez un fichier $HOME/.xinitrc en remplaçant
les dernières lignes des exemples précédents par :
exec $1
Vous pourrez ainsi appeler xinit en lui passant comme paramètre
le window manager à lancer ($1). Par exemple, pour lancer
KDE, tapez:
xinit startkde
et pour lancer windowmaker, tapez:
xinit wmaker
Si vous trouvez cela pénible à taper à chaque fois, créez des raccourcis dans un fichier de configuration de votre shell. Pour bash, créez ou modifier un fichier $HOME/.bashrc et ajoutez y ces lignes:
alias KDE='xinit startkde' alias WM='xinit wmaker' alias GNO='xinit gnome-session' ...et ainsi de suite.....Comme cela, la simple saisie de KDE vous lancera kde. On peut difficilement faire plus simple ;o) On pourrait même faire un petit menu qui présente les différentes possibilités, ou ne faire apparaître ce menu que sur une console donnée.
WM_DEFAUT=wmaker xinit $WM_DEFAUTIL faut donc que les alias apparaissent avant cette commande dans le fichier. Tel quel, c'est inutilisable, car ça va faire une erreur à chaque ouverture de console texte ou de xterm supplémentaire, une session X étant déjà en cours. Nous allons juste rajouter un test qui ne déclenchera X que si on se logue sur une console donnée. étant donné que la console qui vous est présentée par défaut au démarrage est tty1, tenez en compte pour choisir sur quelle console faire le test. Pour un utilisation occasionnelle de X, utilisez plutôt tty2 (jusqu'à 12). Ainsi, CTRL+ALT+F2 vous passera sur tty2, login / password et X.
if [ `tty` == /dev/tty1 ]; then WM_DEFAUT=wmaker xinit $WM_DEFAUT fiSi vous voulez que la console réservé au lancement de X reste accessible une fois X lancé, remplacez:
Le plus fréquent est kdm, qui fait partie de KDE. Pas grand chose à dire sinon que c'est sans doute le plus convivial, mais il prend beaucoup de ressources et est donc à éviter sur de petites machines (KDE aussi d'ailleurs).
Il y a aussi gdm, le login qui vient avec Gnome, plus léger, assez simple a configurer.
Reste enfin le standard qu'est xdm : bien que kdm et gdm soit des frontends a xdm, il est différent, car il a une notion de sessions X qui est très éloignée de celle vues avec KDE ou GNOME. Il est plutôt à réserver à des situations de connexions par réseau et conjointement à divers logiciels ou applications spécialisées.
Il existe d'autres solutions moins connues, pas toutes stables. Je ne mentionnerai ici qu'un seul cas : selectwm, c'est celui dont je me sers car il est très léger, super simple, convivial et rapide. Pour une utilisation normale, je trouve qu'il surpasse de loin tout les autres. Je le recommande vivement, essayez-le au moins une fois, il pourrait bien vous convaincre. Il faut glib et gtk+ (librairies livrées avec Gnome) pour compiler ou installer ce soft.
Avec ce que nous avons vu, vous n'aurez aucun mal personnaliser selectwm,
et à l'installer comme bon vous semble. Pour remplacer définitivement
kdm, il vous faudra sans doute créer un script de remplacement à
celui qui gère kdm dans /etc/init.d/ ou /etc/rc.d/init.d/
(en tant que service), mais c'est tout simple à faire.
et pour modifier le path dans un fichier de configuration du bash (ex
: .bashrc) :
export PATH=$PATH:/nouveau/chemin/bin
par merlin
Bien débuter sous WMaker, (il ne faut pas se fier aux apparences sinon on aurait jamais mangé d'oursin...)
Ceci est une aide sur cet excellent window manager méconnu des foules. Cette aide ne contient que des astuces sur son utilisation et ne traite pas de son installation, mais vous sera très utile (je l'espère) pour mener à bien sa configuration.
Le menu se trouve dans ~/GNUstep/Defaults/WMRootMenu
et a une syntaxe ultra simple.
Voici pour exemple.
(
Applications,
(Run..., SHORTCUT, F2, EXEC, "%a(Run,Type command to run)"),
(XTerm, SHORTCUT, F3, EXEC, "xterm -sb -sl 2000"),
("Hide All", HIDE_OTHERS),
("Show All", SHOW_ALL),
(Appearance, OPEN_MENU,
"~/GNUstep/Library/WindowMaker/appearance.menu"),
("Gaffe!", (Reboot, EXEC, "sudo reboot"), (Halt, EXEC, "sudo halt")),
("xvnc", EXEC, "xterm -e xvncviewer %a(Enter Host)"),
(Lock, SHORTCUT, "Shift+Delete", EXEC, "xscreensaver-command -lock"),
("Exit Window Maker", SHORTCUT, "Control+Shift+Delete", EXIT)
)
(Un espace après chaque virgule)
Pour la section Appearance, c'est un peu spécial, il renvoie tout simplement vers un autre fichier
créé automatiquement par wmaker.
Pour modifier le menu il suffit d'utiliser emacs ou vim, de sauvegarder et de regarder si ça fonctionne.
Pas besoin de restart ni de se déloguer, un simple bouton droit sur le bureau affichera les menus modifiés.
Afin de gagner du temps je vous propose de rajouter un menu "Edit Menu" dans votre menu.
Attention : ne pas mettre de virgule à la fin si c'est la dernière commande du menu !!
("Edit Menu", EXEC, "emacs ~/GNUstep/Defaults/WMRootMenu"),
WM offre une fonctionnalité géniale : les boites de dialogues...
Par exemple, je fais souvent un "xvncviewer" sur différentes machines. Le plus simple serait de taper juste
le nom de la machine puis le mot de passe. Et bien je rajoute le menu suivant :
("xvnc", EXEC, "xterm -e xvncviewer %a(Enter Host)"),
On a vu les "%a" mais il y a aussi les "%s" qui servent à faire du copier-coller.
Un petit expemple pour le fun :
J'utilise mailx
pour envoyer des mails et pas mozilla. Ainsi je ne veux pas cliquer sur les
adresses email lorsque je suis sur le web. Alors ce que je fais c'est que je sélectionne l'adresse email
comme pour faire un couper/coller et ensuite je fais appel à un menu mail qui récupère l'adresse dans
le clipboard et la passe en argument à mailx.
voici le menu :
("mail", EXEC; "xterm -e mailx %s"),
WM permet de "docker" les applications qui sont programmées à cet effet. Les fonctionnalités du Clip sont identiques à celles du docckit, la seule différence réside dans le fait que l'on peut avoir des Clips différents par bureau. Pour changer de bureau, cliquer sur les petites flèches dessinées sur celui-ci ou maintenir meta (alt) + 1 pour le premier (main), 2 pour le second etc... La méthode est encore une fois très simple.
Exemple : lancer dans un xterm gvim (par exemple) de récupérer l'icône de celui ci et de la faire glisser jusqu'au dock ou au clip.
Pour les applications "dockables", par exemple wmnet (wmclock, wmbubble, etc...), il suffit de lancer wmnet -w (pour dire que c'est dockable). Il se peut que certains softs soient récalcitrants (gps,xconsole,etc...) mais dans l'ensemble tout fonctionne ;-)
Pour modifier la ligne de commande et l'icône d'une appli dockée :
Par exemple, je lance mozilla par la commande >mozilla-bin -splash
pour avoir le petit lézard pendant le
chargement. Donc je fais un clic droit sur l'application dockée (ou clipée) paramètre et je modifie, idem
pour l'icône.(c'est intuitif !)
Pour supprimer une application dockée, la prendre et la jeter n'importe où.
Bon vous avez bien vu que le drag and drop est très utilisé sous WM et bien en plus pour couronner le tout, il est même compatible avec les gestionnaires de fichiers (konqueror, gmc, Offix, pour ne citer qu'eux). Ainsi dans les settings des applis "dockés", il y a un champ pour le "%s".
Eh bien pour le drag and drop, il y a le "%d".
Exemple pour gvim :
Commande pour les fichiers lâchés par DND (drag and drop) : gvim %d
De cette façon un drag and drop d'un fichier de gmc sur icône de gvim "docké" lance gvim sur le
fichier en question. Pas mal non ??
Petite astuce :
le drag&drop d'une image dans le Clip l'affichera en image de fond en mosaïques. En effet cela exécute un :
"wmsetbg -u -t %d"
L'astuce est d'ajouter une propriété identique au Dock avec un -s à la place de
-t pour avoir l'image en taille maximum. Le plus simple pour avoir toujours les images
de fond sous la main est de les stocker dans ~/GNUstep/Library/WindowMaker/Backgrounds
.
Les thèmes sont stockés dans ~/GNUstep/Library/WindowMaker/Themes
.
Voici un exemple de fichier Thème :
{
TitleJustify = left;
ClipTitleFont = "-*-helvetica-bold-r-normal-*-10-*-*-*-*-*-*-*";
WindowTitleFont = "-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*";
MenuTitleFont = "-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*";
MenuTextFont = "-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*";
IconTitleFont = "-*-helvetica-medium-r-normal-*-8-*-*-*-*-*-*-*";
DisplayFont = "-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*";
HighlightColor = white;
HighlightTextColor = black;
ClipTitleColor = "rgb:79/96/cf";
CClipTitleColor = "rgb:61/61/61";
FTitleColor = white;
PTitleColor = white;
UTitleColor = "rgb:79/96/cf";
FTitleBack = (mhgradient, "#182c70", "#182c70", "#4969c7", "#79a2d0", "#a4dad0");
PTitleBack = (hgradient, "rgb:08/18/38", "rgb:28/3c/49");
UTitleBack = (mhgradient,"rgb:18/2c/41", "rgb:18/2c/41", "rgb:08/18/38", "rgb:28/3c/49", "rgb:28/45/30");
MenuTitleColor = "rgb:10/28/51";
MenuTextColor = "rgb:10/30/38";
MenuDisabledColor = gray;
MenuTitleBack = (mhgradient, black, "rgb:28/55/41", "rgb:93/d7/d5", "rgb:96/d7/e7");
MenuTextBack = (mhgradient, "rgb:18/2c/70", "rgb:28/45/96", "rgb:79/a2/d0", "rgb:96/c7/be");
IconBack = (mdgradient, "#183454", "#296ed6", "#03110e");
IconTitleColor = white;
IconTitleBack = "rgb:18/2c/70";
WorkspaceBack = (solid, "rgb:22/44/77");
}
Pas grand chose à dire sauf que http://theme.org sert beaucoup dans ce cas !
Alors là, ça devient merveilleux. Vous pouvez faire ce que vous voulez. Par exemple, je tape sur F3 pour avoir un xterm comme vous avez pu le voir plus haut. Allez faire un tour dans WPrefs pour voir la config par defaut. De même, il est possible de mettre des raccourcis sur les programmes qui sont dans votre menu.
Note: "Mod1" signifie alt pour WM
Petite astuce :
L'astuce consiste à créer un menu pour un programme de screenshot (celui que vous voulez) mais pour l'exemple,
j'utilise import binaire de imagemagic (que je trouve excellent, qu'on
se le dise ;-)) puis de lui donner un raccourci :
("screenSHT", SHORTCUT, F8, EXEC, "import -windows root"),
Bien, maintenant il suffit d'appuyer sur F8 à n'importe quel moment pour entendre 2 bips puis avoir un fichier magick.miff contenant le screenshot dans mon home.
Vous avez déjà du faire un clic droit sur la barre de titre d'une application. Là, plusieurs options s'offrent à vous, que vous connaissez pour la plupart donc je passe... (ah si peut-être "hide" (ou cacher) qui cache les applis dans leur bouton de dock ou clip respectif)
Fin de cette petite parenthèse pour en venir au bouton attributs qui permet toute sorte de fantaisies avec les options données. Je vous en laisse faire la découverte...(mais soyez indugent sur certaines options qui sont en version de test suivant votre version)
Juste un tip dans "attribut>options avancées", il y a au début :
Do not bind keybord shorcuts et Do not bind mouse click
pption indispensable pour l'utilisation de certains softs ayant les mêmes raccourcis que WM,
(meta(alt)+clique droit) dans Gimp par exemple.
Relancer les applis
Une question qui peut paraître un peu stupide mais qui a un réponse simple. Quand vous lancez une application qui a été mise dans le dock /clip de WindowMaker et que cette application est en cours d'exécution, on ne peut plus cliquer dessus pour la relancer. Or c'est possible en appuyant sur la touche Control en même temps que l'on clique.
Les options de clip
WPrefs
Petite appli bien utile quand on aime pas éditer sa configuration à la main.
Ce serait vous prendre pour des ânes que de vous expliquez le pourquoi du comment !
Je vous laisse donc voir seul.(n'oublier pas /usr/share/doc/wmaker/)
Voilà, en vous remerciant de votre attention (et en excusant les fotes)
@+ merlin
par Jean-Marc LICHTLE
Les trucs utiles pour faire des captures d'écran...
Sous un autre système d'exploitation assez connu la capture d'écran s'obtient simplement au moyen d'une frappe sur la touche ImpEc. Cette touche reste sans effet avec notre système d'exploitation préféré. Or si la capture d'écran ne constitue pas une fonction essentielle, elle peut rendre des services. Pour ma part j'ai indentifié au moins deux cas d'emploi qui rendent la capture d'écran souhaitable:
J'emploie à dessein le terme famille dans le titre, il s'agit en effet, comme nous le verrons bientôt, d'une suite de logiciels :
La capture avec xwd consiste simplement à taper
$ xwd -out test.xwd
dans un terminal rxvt, xterm ou autre, $ étant l'invite de Linux.
Le lancement de xwd sera confirmé par le changement d'aspect du curseur
qui prend une forme de croix. Faites alors passer le curseur sur la fenêtre
que vous voulez capturer puis cliquez du bouton droit. Le début de
la capture est confirmé par un premier bip. Après un court instant
un second bip vous confirmera que le fichier test.xwd vient d'être
enregistré.
Faites attention de ne pas cliquer sur une fenêtre en partie masquée,
la capture serait masquée de la même façon. En effet,
une fois xwd lancé, vous n'avez plus la possibilité de redimensionner
la fenêtre ciblée, de la remettre au premier plan etc. Au moindre
clic xwd va effectuer sa capture. Distinguez donc bien la fenêtre à
capturer de celle qui vous permet de lancer xwd.
Autres possibilités de lancer xwd (si vous utilisez KDE):
Le format propre à xwd ne permet pas une exploitation directe par les moyens classiques, insertion dans un document LA TEX dans un document html ou autre. Par contre ce format peut être lu directement par Gimp, le logiciel graphique de base sous LINUX. Gimp permettra toujours de faire la conversion, toutefois cette solution me semble bien lourde. Une conversion du format xwd vers un format plus usité au moyen d'utilitaires plus légers brièvement cités plus haut est donc souhaitable. Le point d'entrée est un utilitaire nommé xwdtopnm qui va convertir l'image au format pnm lisible par certains logiciels de traitement de texte, KWord en particulier. Malheureusement le format pnm n'est toujours pas l'un des formats classiques. Qu'à cela ne tienne, il nous reste toute la batterie des conversions pnmto-- qui vont aboutir à la création des formats d'images les plus divers, notamment :
L'exposé de la liste complète de ces formats pourrait faire partie intégrante de la présente. Je préfère toutefois insister sur les possibilités offertes par LINUX de retrouver rapidement les commandes utiles. Tapez simplement <<pnmto>> puis la touche Tab. Vous verrez s'afficher la liste de toutes les commandes de convesrion du format pnm vers (to) un autre format. La distribution Mandrake 8.2 met ainsi à la disposition de l'utilisateur pas moins de 15 conversions possibles. Une autre distribution plus modeste, DemoLinux 1.0, en offre toute de même une demi-douzaine !
Toutes les commandes de conversion sont des commandes typiques LINUX qui
renvoient le résultat de la conversion vers la sortie standard, l'écran
par défaut. Il convient donc de rediriger par > la sortie standard
vers un fichier ce qui donne une syntaxe (exemple) :
$
pnmtops test.pnm > test.ps
exemple de conversion du format .pnm vers le format postscript.
Le logiciel ksnapshot est, à priori, beaucoup plus simple à utiliser que xwd, car il dispose d'une interface graphique. Revers de la médaille, il n'est pas certain qu'il soit installé sur votre machine. En effet, si vous avez fait l'impasse sur KDE vous risquez fort de ne pas avoir ksnapshot. Si vous utilisez KDE, vous trouverez ce logiciel dans le menu K sous son propre nom, ou sous le nom "capture d'écran", tout simplement.
La gamme des formats disponibles est également plus restreinte. Alors que d'anciennes version de ksnapshot permettaient des enregistrements dans quelques formats classiques, la version distribuée avec Mandrake 8.2, ksnapshot 0.4.1, n'enregistre plus qu'en format .png. Sans être réellement génante cette limitation est toutefois assez curieuse. La version 0.2.7 par exemple livrée avec DémoLinux 1.0 offre le choix entre les formats JPEG, GIF, PS, BMP et XBM. Pourquoi cette réduction des choix ? Pour le savoir il conviendrait d'interroger les développeurs de ce logiciel, lesquels, comme de bien entendu ne parlent certainement qu'une langue assez peu usitée dans le Berry. (Note de Léa (Jice) : le GIF a été supprimé car il est protégé par un brevet et il faudrait payer pour l'utiliser ; abandonnez le gif pour vos sites web par exemple !) Au final qu'importe, les convertisseurs de formats évoqués plus haut sont à votre disposition, vous pourrez toujours convertir le .png en .pnm puis dans les autres formats comme évoqué ci-dessus.
Dans son utilisation, ksnaphot présente un tout petit avantage sur xwd : si la fenêtre de ksnapshot masque en partie la fenêtre cible, pas de problème, le logiciel saura faire la part des choses entre la cible et sa propre fenêtre. Attention, ceci n'est pas vrai si une autre fenêtre vient recouvrir. Dans ce cas elle constituera effectivement une gène pour l'acquisition, exactement comme dans le cas de xwd.
La suite de logiciels ImageMagick permet également la copie d'écran, via sa commande :
$ import
Afin de copier tout l'écran dans un fichier graphique, tapez simplement :
$ import -window root image.ext
Afin de copier une zone de l'écran :
$ import image.ext
puis sélectionnez à la souris la zone voulue.
Note : image.ext est le fichier dans lequel vous souhaitez enregistrer votre image. import reconnaît automatiquement l'extension du fichier, et crée un fichier dans le bon format. Par exemple, si vous utilisez image.jpg, le fichier sera bien un jpg, etc. Les formats supportés sont les formats courants (png, jpg, eps, bmp, etc.)
Pour plus d'infos sur ce logiciel : man import et man ImageMagick.
The Gimp est lui aussi capable de faire des copie d'écran. Il suffit d'aller dans le menu : Fichiers -> Acquisition -> Capture d'écran. Cela ouvre une fenêtre avec deux options "Fenêtre seule (avec ou sans décoration)" ou "Ecran entier". Choisissez celle que vous souhaitez. Il est possible de mettre une temporisation pour pouvoir choisir la fenêtre et, par exemple, ouvrir un menu après la sélection. Cliquez alors sur Valider. Choisissez la fenêtre que vous souhaitez ou cliquez n'importe où. Voilà, c'est tout.
Copier l'écran du gestionnaire de session (xdm, kdm ou gdm) est assez simple, mais la manipulation n'est pas intuitive. Ce truc et astuce vous permettra de le faire, ainsi que de copier l'écran de fin de session (juste avant de cliquer sur le bouton [OK] qui ramène au gestionnaire de session).
À faire : Copie des écrans de démarrage (lilo, grub, scripts de démarrage...), copie des écrans graphiques de lilo et de grub...
Fin du chapitre