[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ suivant ]
Chaque caractère est représenté dans l'ordinateur par un code (de 7, 8 ou 16 bits selon le « codage » choisi). Il faut donc définir :
quel code doit être associé avec telle touche ou combinaison de touches tapées sur le clavier (on parle de la « carte du clavier »). C'est l'entrée ;
quel caractère (quel « dessin ») doit être affiché à l'écran pour tel code (on parle de la « table des caractères »). C'est la sortie.
Par défaut, le système Debian GNU/Linux est configuré pour un clavier anglais (lors de l'installation, vous avez cependant pu en sélectionner un autre) et l'affichage des caractères suivant la carte américaine. Il faut donc reconfigurer l'entrée et la sortie (ES).
De plus, il n'existe pas de méthode de configuration de l'ES commune à la console et à X11 [1]. Il faut donc configurer chacun séparément.
Entrée au clavier --> Code 8 bits --> Affichage à l'écran
Si vous avez un clavier français, il suffit :
Pour l'entrée, de remplacer la table par défaut par la carte latin-0 (norme ISO-8859-15) :
dpkg-reconfigure console-data
Choisissez Select keymap from arch list (en anglais), azerty, French, With Euro (latin 15) ;
Pour la sortie, d'ajouter SCREEN_FONT=lat0-16 dans le fichier de
configuration /etc/console-tools/config
et de relancer le
démon :
echo "SCREEN_FONT=lat0-16" >> /etc/console-tools/config /etc/init.d/console-screen.sh restart
N.B. : Il faut relancer le démon (deuxième ligne de commande) depuis la console et non depuis X11, sinon rien n'est fait. De plus, les changements ne sont permanents qu'après un redémarrage du système.
Si vous utilisez une carte clavier qui ne supporte pas l'euro et si vous
souhaitez conserver cette carte clavier, vous pouvez y ajouter simplement les
composantes « Euro ». Installez le paquet euro-support
qui effectue cette modification automatiquement :
apt-get install euro-support
L'entrée est définie par une « carte clavier », c'est-à-dire la
correspondance entre le code des touches tapées et le code des caractères
mémorisés. Le noyau (kernel) linux utilise une carte par défaut
(définie lors de la compilation). Mais une carte peut être chargée en mémoire
à tout moment à l'aide de l'utilitaire loadkeys
. Sous Debian
GNU/Linux, ces « autres » cartes clavier sont définies dans les
fichiers carte.kmap.gz
du répertoire
/usr/share/keymaps/*
. Par exemple :
loadkeys fr-pc
La carte clavier est chargée au démarrage (via loadkeys
)
par /etc/init.d/keymap.sh
, en utilisant la carte clavier par
défaut : /etc/console/boottime.kmap.gz
.
Plusieurs solutions sont possibles pour charger la « bonne » carte au
démarrage. Dans la plupart des cas, vous voulez simplement charger l'une des
cartes proposées. Vous pouvez alors faire un lien de
/etc/console/boottime.kmap.gz
vers la carte choisie
(déconseillé). La méthode propre sous Debian GNU/Linux
consiste à passer par debconf
:
dpkg-reconfigure console-data
et à choisir la bonne carte. Debconf
demande alors au programme
install-keymap
d'installer la carte choisie. Vous pouvez aussi
appeler directement install-keymap
, mais votre choix ne sera pas
mémorisé par debconf
...
Dans certains cas, vous pouvez vouloir utiliser une combinaison de cartes (une
carte principale et des compléments, par exemple pour le support de l'euro).
Il vous faut alors modifier directement le script
/etc/init.d/keymap.sh
pour charger plus d'une carte.
La police de caractères utilisée pour la sortie est configurée à l'aide de
l'utilitaire consolechars
. Ce programme est appelé au démarrage
par /etc/init.d/console-screen.sh
en utilisant le fichier de
configuration /etc/console-tools/config
, qui est
« auto-documenté ».
Il faut donc modifier la police comme indiqué, en définissant la variable SCREEN_FONT pour utiliser la table de caractères souhaitée. Il n'est pas nécessaire, a priori, de définir une carte de caractères pour les applications (APP_CHARSET_MAP), ni de carte de police écran (SCREEN_FONT_MAP).
Vous devez ensuite relancer le démon pour utiliser les nouvelles polices
souhaitées, lequel appelle consolechars
.
svgatextmode
Si vous utilisez svgatextmode
sous la console, vous devrez aussi
lui indiquer comment charger les polices latin-0 en ajoutant les
lignes suivantes à la fin du fichier /etc/TextConfig
:
FontSelect "lat0-16" 8x16 9x16 8x15 9x15 FontSelect "lat0-14" 8x14 9x14 8x13 9x13 FontSelect "lat0-12" 8x12 9x12 8x11 9x11 FontSelect "lat0-10" 8x10 9x10 8x9 9x9 FontSelect "lat0-08" 8x8 9x8 8x7 9x7
A priori, vous n'avez pas de raison de continuer à utiliser XFree 3 sous Debian GNU/Linux (sauf si vous possédez une carte graphique très ancienne ou très rare). Je vous conseille de passer à XFree 4.
Pour l'entrée, si vous n'utilisez pas debconf
, il faut corriger le
fichier /etc/X11/XF86Config
, section « Keyboard », pour
avoir :
Section "Keyboard" Protocol "Standard" XkbKeymap "xfree86(fr)" ScrollLock Compose EndSection
ou bien :
Section "Keyboard" XkbRules "xfree86" XkbModel "pc105" XkbLayout "fr" XkbVariant "" XkbOptions "" ScrollLock Compose EndSection
selon ce qui figure dans votre XF86Config (cela dépend de l'outil que vous avez utilisé pour le fabriquer, mais les deux solutions sont strictement identiques : la première ne fonctionne que sous Debian GNU/Linux, la seconde est vraie aussi pour les autres systèmes).
Si vous utilisez debconf
, lancez :
dpkg-reconfigure xserver-common-v3
et choisissez la disposition du clavier fr (au lieu de us).
Pour l'entrée, si vous n'utilisez pas debconf
, il faut corriger à
la main le fichier /etc/X11/XF86Config-4
(attention au
-4), section InputDevice contenant Driver
"keyboard" et remplacer "us" par
"fr" pour l'option XkbLayout.
Si vous utilisez debconf
, lancez :
dpkg-reconfigure xserver-xfree86
Choisissez la disposition du clavier fr (au lieu de us et pour les options, tapez compose:rwin si vous avez une touche avec le symbole de « Windows ».
Pour la sortie, il faut installer une police iso8859-15 ajouter
*font:-*-*-medium-r-normal--14-*-*-*-c-*-iso8859-15 dans le
fichier /etc/X11/Xresources/xfree86-common
. Pour rester le plus
proche possible de l'installation par défaut, je vous recommande d'utiliser le
paquet xfonts-100dpi-transcoded
.
Il existe d'autres paquets contenant des polices latin0 :
xfonts-*-transcoded
, xfonts-jmk
,
xfonts-terminus
, ttf-bitstream-vera
, etc. N'hésitez
pas à adapter la définition *font: en fonction de vos préférences
et de votre installation. Le programme xfontsel
vous sera alors
très utile.
Si certains de vos utilisateurs possèdent des fichiers ~/.xinitrc
ou ~/.xsession
et court-circuitent ainsi le programme
/etc/X11/Xsession
, alors vous devrez vous assurer qu'ils appellent
bien xrdb -merge /etc/X11/Xresources/xfree86-common
. Dans le cas
contraire, vous pouvez soit leur suggérer de modifier leur
~/.xinitrc
et leur ~/.xsession
, soit ajouter la
définition *font: dans leur ~/.Xresources
. Je
recommande pour ma part la deuxième solution, qui est mise en œuvre
automatiquement par le programme set-language-env
Enfin, vous devez tenir compte du fait qu'il existe deux types de polices. Les
polices vectorielles (« scalable ») peuvent être redimensionnées sans
soucis. Les polices « bitmap ») peuvent, au contraire, être très
laides lorsqu'elles ne sont pas utilisées à la taille initialement prévue.
Mais certains caractères n'existent qu'en bitmap. En particulier, si vous
utilisez Mozilla ou OpenOffice.org, vous aurez besoin de ces
polices. Le paquet fontconfig
gère ces différentes polices pour
vous. Lancez dpkg-reconfigure fontconfig
et activez les polices
bitmap.
L'entrée clavier est configurée dans la section Keyboard du
fichier /etc/X11/XF86Config
. Sous XFree 4, le
clavier est décrit, comme les autres périphériques d'entrée, dans une section
InputDevice avec un pilote (driver) Keyboard.
L'option XkbRules permet de spécifier le comportement du clavier et l'option XkbLayout la carte clavier à utiliser.
L'option XkbKeymap permet de regrouper XkbRules et XkbLayout dans une même règle.
La disposition du clavier « fr » correspond à une entrée en
latin-1 (ISO-8859-1). Il n'existe pas à ce jour de carte clavier
latin-0 (comme pour la console) sous Debian GNU/Linux. Par
conséquent, certains caractères ne peuvent pas être tapés directement : il
faut utiliser des compositions de touches complémentaires. La touche
« compose » (ou Multi_key) permet d'indiquer au système que
les deux touches suivantes sont une composition. La liste des compositions
possibles est définie dans le fichier
/usr/X11R6/lib/X11/locale/iso8859-1/Compose
.
Si vous utilisez XFree 4 et que votre clavier comporte une touche avec le
sigle « Windows », l'option compose:rwin vous permet de
l'utiliser comme touche « compose ». En spécifiant une autre option,
vous pouvez aussi utiliser les touches « Menu » ou « Alt »,
comme l'indique le fichier
/usr/X11R6/lib/X11/xkb/rules/xfree86.lst
.
Si vous utilisez XFree 4 mais que vous ne disposez ni d'une touche
« Windows », ni d'une touche « Menu », et si vous ne voulez
pas sacrifier la touche « Alt » (croyez-moi : vous ne voulez pas
sacrifier cette touche), vous devez définir une autre touche
« compose ». La seule qu'il reste est « ScrollLock », mais
il vous faudra passer par xmodmap
. Lancez xev
pour
vérifier quel est le code de la touche « ScrollLock » (a
priori, c'est 78) et ajoutez la ligne suivante dans votre fichier
.xsession
:
xmodmap -e "keycode 78 = Multi_key"
ou dans le script de lancement de votre gestionnaire de fenêtres si vous
utilisez gdm
, kdm
ou autre.
Si vous utilisez XFree 3, vous pouvez assigner la touche
« ScrollLock » à « Compose » simplement en ajoutant la
ligne suivante dans la section « Keyboard » du fichier
/etc/X11/XF86Config
:
ScrollLock Compose
La configuration de la sortie se fait, comme sous la console, en donnant une police de caractères qui :
est conforme à l'entrée choisie ;
affiche les caractères souhaités.
Sous Debian GNU/Linux, les polices sont installées dans le répertoire
/usr/X11R6/lib/X11/fonts/
. Le programme xlsfonts
permet de connaître l'ensemble des polices disponibles sous X. Ces polices
sont dans différents répertoires contenant chacun les fichiers :
*.pcf.gz
, *.spd
, *.pfa
,
*.pfb
, etc : les fichiers de définition des polices (les
extensions sont choisies par les fabricants de police) ;
fonts.dir
: liste des polices du répertoire et des fichiers
.pcf
dans lesquels elles sont définies ;
fonts.aliases
: liste d'alias de noms de polices
(c'est-à-dire des noms courts pour certaines polices courantes) ;
éventuellement, fonts.scale
: liste des polices
« redimensionnables » (scalable).
Le serveur X peut soit gérer lui-même les polices, soit utiliser un serveur de
polices, comme xfs
. La définition des polices dans le fichier de
configuration du serveur X (/etc/X11/XF86Config-4
) se fait à
l'aide de commandes FontPath dans la section
Files :
Section "Files" FontPath "unix/:7100" # Serveur de police # Si le serveur échoue, se rabattre sur les polices suivantes : FontPath "/usr/lib/X11/fonts/CID" FontPath "/usr/lib/X11/fonts/Speedo" FontPath "/usr/lib/X11/fonts/misc" FontPath "/usr/lib/X11/fonts/cyrillic" FontPath "/usr/lib/X11/fonts/100dpi" FontPath "/usr/lib/X11/fonts/75dpi" FontPath "/usr/lib/X11/fonts/Type1" EndSection
La liste des polices utilisables par le serveur de polices xfs
est
donnée dans la définition catalogue du fichier
/etc/X11/fs/config
.
Si vous souhaitez utiliser des polices « True Type » (TT), le
mieux est d'installer le serveur de polices adapté (xfs-xtt
) et le
système de gestion de polices defoma
. Le serveur X peut gérer les
polices (mais moins bien qu'un serveur dédié) depuis la version 4 de XFree86.
La définition *font: permet de définir la police pour les
applications utilisant xlib
(les « widgets »).
C'est le programme xrdb
qui permet de définir vos ressources X11,
et en particulier la police *font. Il est appelé sur les fichiers
de configuration générale (/etc/X11/Xresources/*
) par
/etc/X11/Xsession
ainsi que sur votre fichier de configuration de
ressources X11 personnel : ~/.Xresources
Pour les autres applications, un réglage « manuel » est généralement nécessaire.
Je vous conseille aussi d'installer fontconfig
et d'activer les
polices bitmap pour éviter les mauvaises surprises sous Mozilla et OpenOffice
qui utilisent ces polices.
Il existe d'autres solutions pour configurer l'entrée et la sortie sous Debian GNU/Linux :
Utiliser les polices « unifont » (ISO-10646) dont l'objectif est de contenir tous les caractères existants dans le monde ;
Utiliser les polices « UTF-8 » dont l'ambition est similaire. Il semblerait que le projet Debian GNU/Linux souhaite migrer progressivement vers l'utilisation de ces polices par défaut.
Ces solutions, moins simples à mettre en œuvre, sont encore à l'étude et seront présentées dans une prochaine version de ce document.
Par défaut, le symbole « euro » est accessible par AltGr + $. L'habitude veut qu'on utilise plutôt la touche AltGr + e, ce qui nécessite quelques changements.
La méthode la plus simple et sans doute la plus efficace est d'utiliser le
paquet euro-support
qui configurera votre système automatiquement.
Pour les fans de la bidouille, vous pouvez aussi effectuer ces modifications
manuellement. Une solution simple (c'est celle que je recommande parce que
xmodmap
est obsolète depuis XFree86 3.2) consiste, en tant
que super-utilisateur (root), à ajouter dans
/usr/X11R6/lib/X11/xkb/symbols/fr
, dans la section
xkb_symbols "basic", avant key
<AE01>, les lignes suivantes :
key <AD03> { [ e, E ], [ currency, cent ] };
Une autre solution consiste à utiliser xmodmap
: en tant que
super-utilisateur, ajoutez la ligne suivante à la fin du fichier
/etc/X11/Xmodmap
:
keycode 26 = e E currency cent
[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ suivant ]
Utiliser et configurer Debian GNU/Linux pour le français
[email protected]