Chaque caractère est représenté dans l'ordinateur par un code (de 7, 8 ou 16 bits selon « l'encodage » choisi). Il faut donc définir :
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 de 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 :
kbdconfig
et
choisissez i386, puis azerty puis la carte
fr-latin0,
/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
NB : 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 » :
/etc/init.d/keymaps-lct.sh
à la
fin du bloc « start | restart | force-reload |
reload) », juste avant la ligne « stop) ».
Je recommande à ce propos la lecture de
/usr/share/doc/console-tools-libs/contrib/LISEZMOI.Euro.gz
fournie
dans le paquet console-tools
.
euro-support
qui effectue cette modification
automatiquement :
apt-get install euro-support
L'entrée est configurée à l'aide de l'utilitaire loadkeys
. Ce
programme est appelé au démarrage par /etc/init.d/keymaps-lct.sh
sous Debian 2.2 (Potato) et /etc/init.d/keymap.sh
sous Debian 3.0 (Woody), en utilisant la carte clavier par
défaut : /etc/console-tools/default.kmap.gz
sous Potato et
/etc/console/boottime.kmap.gz
sous Woody.
Pour changer temporairement la définition du clavier, il suffit de taper :
loadkeys fr-pc (par exemple) ou le chemin complet (loadkeys
/usr/share/keymaps/i386/azerty/fr_pc.kmap.gz). Par défaut, le programme
loadkeys
recherche les cartes clavier dans les répertoires
/usr/share/keymaps/*
et sous la forme de fichiers
carte.kmap.gz
.
Il faut donc faire en sorte que, lors du démarrage, loadkeys
charge la « bonne » carte. Si une telle carte existe, il suffit de
remplacer la carte par défaut par cette carte. Si, au contraire, vous
souhaitez simplement ajouter quelques définitions à une carte donnée, il faut
modifier le programme d'initialisation.
Dans tous les cas, vous pouvez le faire à la main (en copiant la carte
souhaitée depuis /usr/share/keymaps
vers
/etc/console-tools/default.kmap.gz
pour Potato et
/etc/console/boottime.kmap.gz
pour Woody, puis en relançant le
démon), ou bien utiliser les outils de configuration proposés :
kbdconfig pour Potato et debconf (par
dpkg-reconfigure) pour Woody.
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
.
Pour l'entrée, il faut corriger le fichier /etc/X11/XF86Config
,
section « Keyboard », pour avoir :
Section "Keyboard" Protocol "Standard" XkbKeymap "xfree86(fr)" EndSection
ou bien :
Section "Keyboard" XkbRules "xfree86" XkbModel "pc105" XkbLayout "fr" XkbVariant "" XkbOptions "" EndSection
selon ce qui figure dans votre XF86Config (cela dépend de l'outil que vous avez utilisé pour le générer, mais les deux solutions sont strictement identiques. La première ne marche que sous Debian, la seconde est vraie aussi pour les autres systèmes).
Pour la sortie, il faut ajouter
*font:-*-*-medium-r-normal--14-*-*-*-c-*-iso8859-15 dans le
fichier /etc/X11/Xresources/xfree86-common
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 ligne
*font:-*-*-medium-r-normal--14-*-*-*-c-*-iso8859-15 dans leur
~/.Xresources
. Je recommande pour ma part la deuxième solution,
qui est mise en oeuvre automatiquement par le programme
set-language-env
Pour avoir une jolie police à l'écran, je vous recommande d'installer le paquet
xfonts-jmk
:
apt-get install xfonts-jmk
Vous aurez alors des menus XEmacs
assez laid, ce qui peut être
corrigé en suivant les instructions de la section Le menu de XEmacs
, Section 8.3.
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 :
Et choisissez la disposition du clavier « fr » (au lieu de « us »).
Pour la sortie, comme sous Debian 2.2, il faut installer une
police iso8859-15 et définir la police par défaut dans le fichier
/etc/X11/Xresources/xfree86-common
ou dans
~/.Xresources
pour chaque utilisateur.
Pour rester le plus proche possible de l'installation par défaut, je vous
recommande d'installer le paquet xfonts-100dpi-transcoded
et
d'ajouter *font:-*-*-medium-r-normal--14-*-100-100-*-*-iso8859-15
dans le fichier de configuration des ressources X11.
Les autres paquets xfonts-*-transcoded
ainsi que le paquet
xfonts-jmk
font aussi l'affaire, à condition de mettre
simplement :
*font:-*-*-medium-r-normal--14-*-*-*-*-*-iso8859-15 dans le
fichier de configuration des ressources X11 et, dans le cas de
xfonts-jmk
, de corriger les menus XEmacs
(voir
section Le menu de XEmacs
, Section
8.3).
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.
Remarque : Le symbole « euro » n'est pas
accessible sous Eterm
.
La configuration de la sortie se fait, comme sous la console, en donnant une police de caractères qui :
Sous Debian 2.2 (Potato), les polices conformes à la table latin-0 sont :
xfonts-base
,
xfonts-100dpi
et xfonts-75dpi
. Elle est définie pour
une taille de « 13 points » et devient assez laide lorsqu'elle
est utilisée avec une taille différente ;
xfonts-jmk
.
Elles se redimensionnent mal elles aussi mais elles existent en plusieurs
tailles.
Ces polices ne sont pas « ajustables » (scalable).
Sous Debian 3.0 (Woody), les polices latin-0 sont :
xfonts-*-transcoded
. Contrairement à sa version Potato,
elle est ajustable en 100 ppp ce qui la rend utilisable plus
facilement ;
xfonts-jmk
et qui présentent toujours l'avantage d'afficher
aussi d'autres caractères de la table « unicode »
(par exemple, les signes japonnais...).
La ligne *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.
Il existe d'autres solutions pour configurer l'entrée et la sortie sous Debian :
defoma
.
Ces solutions, moins simples à mettre en oeuvre, 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.
Sous Debian 3.0 (Woody), il suffit d'installer le paquet
euro-support
pour avoir le symbole « euro » sous X par
AltGr + e.
En revanche, sous Debian 2.2 (Potato), vous devrez effectuer les
modifications à la main. Une solution simple (c'est celle que je recommande
parce que xmodmap
est obsolète depuis XFree86 3.2) consiste, en
tant que 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
root, ajoutez la ligne suivante à la fin du fichier
/etc/X11/Xmodmap
:
keycode 26 = e E currency cent
Utiliser et configurer Debian pour le français
15 mars 2001nico@debian.org