Version du document : 1.0
Date de mise à jour : le 19/09/98
Ce texte vient d'être intégré dans la documentation qui accompagne la version 5.1 de la RedHat française !
Si vous avez des problèmes de téléchargement, essayez par http://www.bugss.org/ftp/pub/perso_fred/
Vous pouvez télécharger
le script qui automatise toutes les procédures indiqués ci-dessous.
La version 1.0 corrige un bug du script (faute de frappe en fait !) et ajoute
la vérification de l'UID de l'utilisateur.
Voici le contenu du fichier ALIRE, inclu dans l'archive. Lisez-le bien avant
de faire les modifications.
ALIRE
Ce document contient quelques explications pour l'execution du script.
N'oubliez que ce script ne fonctionne que pour le shell bash et sur la redhat
5.x
Le script va vous permettre d'avoir le clavier configure comme on peut s'y attendre,
c'est a dire que les accents marcheront et les touches Backspace et Suppr donneront
le resultat attendu (Suppr supprime le caractere qui se trouve sous le curseur
et Backspace (retour arriere) le caractere situe a gauche du curseur).
Les modifications ont ete faites pour les programmes suivant :
- bash sur la console
- xterm (et ses variantes comme nxterm)
- emacs (version 20-4 pour X11)
- less
Pour Netscape, la situation est simple : pour les versions antérieures à la 4.06, il est impossible d'obtenir les touches mortes. Pour la 4.06, cela marche sans modification. A noter que la 4.5 (en beta) ne permet pas la gestion des touches mortes.
Si vous souhaitez integrer d'autres programmes, dites-le moi.
L'execution du programme est tres simple. Vous devez placer l'archive dans le
repertoire /root puis la decompacter (commande tar xzvf script-francais-1.0.tar.gz).Vous
devez etre super-utilisateur pour vous servir de ce programme. Le decompactage
cree un sous-repertoire script-francais dans le répertoire /root, contenant
plusieurs fichiers dont script-francais-1.0, qui est l'executable.
Verifiez que le script script-francais-1.0 possede des droits d'execution (sinon,
faire un chmod u+x script-francais-1.0) Executez le en faisant sur le prompt
(après vous êtes placé dans le repertoire /root/script-francais)
:
./script-francais-1.0
C'est tout ! Des messages vous indiquent les étapes en cours. La modification
prendra effet lors de la creation d'un nouveau compte. Si vous souhaitez appliquer
la modification à un compte existant, il faut ouvrir chacun des fichiers
situés dans /etc/skel/ et copiés dans le fichier de l'utilisateur
ce qui est compris entre les deux marque #Debut des modification# et #fin des
modifications#.
Si vous souhaitez comprendre plus precisement ce qui est fait, je vous engage
à lire les documents presents sur le site de Linux-France (http://www.linux-france.com)
ou la suite de cette page.
Pourquoi ce texte ?
Le but de ce document est de proposer une solution "clé en main"
pour obtenir un clavier français sous Linux.
Il a été testé sur la RedHat 5.0 en version française (distribuée
par les Logiciels du Soleil).
Contrairement aux HOWTO qui existent sur le sujet, le but n'est pas d'obtenir un document exhaustif mais plutôt de faire quelque chose de simple, compréhensible par tous (car les débutants ne comprennent souvent pas les HOWTO, trop techniques). Il suffit aux débutants de faire les manipulations dans l'ordre.
Je me suis attaché à obtenir les accents sur la console et sous X11. Emacs étant incontournable, j'ai aussi résolu le problème pour ce logiciel (la version utilisée est celle pour X11). Enfin, j'ai aussi tenté de résoudre le problème des touches BackSpace et Suppr, pour qu'elles fonctionnent comme on s'y attend. J'ai placé quelques truc supplémentaires pour d'autres programmes.
Ceux qui souhaitent en savoir plus pourront lire les documents présent sur le site de Linux-France.
Que reste-t-il à faire ?
Trois choses principalement (en dehors de la correction des erreurs éventuelles
;-)) :
- ajouter d'autres programmes.
- adapter ce document aux autres distributions. Cela concerne notamment l'emplacement
des fichiers.
Je suis à la recherche de bonne volonté pour m'aider. Si vous êtes volontaire, écrivez-moi.
Remerciement à Nat Makarévitch, pour m'avoir guidé dans la lecture des HOWTO.
Frédéric Bastok.
Vous avez la flemme de faire les modifications ?
Dans ce cas, vous pouvez télécharger les fichiers à mettre dans le répertoire /etc/skel/ (ce répertoire contient les fichiers placés dans le répertoire home lors de la création d'un nouveau compte). Il s'agit de fichier par défaut, contenant des alias bien pratiques. A chaque fois est indiqué la modification faite par rapport aux fichiers d'origine. Les modifications ne seront valables que lors de la création d'un nouveau compte.
Il faut être root pour faire ces modifications.
Il est indispensable de faire la modification du clavier comme indiquée
dans le premier paragraphe du document ci-dessous (chargement de fr-latin1.map).
Pour utiliser ces fichiers, placer l'archive francais.tar.gz dans le répertoire
racine. Par mesure de sécurité, renommez vos fichiers contenus
dans /etc/skel/ puis déplacez-les (commande mv) dans un autre répertoire.
Votre répertoire /etc/skel/ est maintenant vide. Aller dans la racine
(cd /) et taper : tar xvzf francais.tar.gz pour extraire les fichiers. Il ne
vous reste plus qu'à supprimer le fichier francais.tar.gz (ou à
le déplacer). Vérifier dans /etc/skel/ que les fichiers ont été
correctements créés.
Ne démarrez pas tout de suite l'interface graphique et ne créez
pas de nouveau compte !
Il faut d'abord que vous modifiiez le fichier .xinitrc pour lancer le bon gestionnaire
de fenêtre. Pour cela, sur la console, lancer emacs ou vi avec (par exemple)
: emacs /etc/skel/.xinitrc puis adapter la ligne exec fvwm95 (en mettant à
la place par exemple, exec afterstep si vous utilisez Afterstep). Sauvegarder
les changements (Ctrl - x Ctrl - s sur emacs) puis quitter (Ctrl - x Ctrl -
c sur emacs).
Vous pouvez alors créer un nouveau compte puis vérifier que les
accents marchent, à la fois sur la console et sous X..
Pour les explications, suivez le guide !
Convention : dans la suite, ~/ désignera votre répertoire
personnel. Par exemple, si votre nom de login est fred, votre répertoire
personnel est /home/fred, que l'on abrège en ~/
Attention : sur la RH5 en fr, le clavier chargé par défaut est fr.map
qui ne fonctionne pas (il faut choisir fr-latin1 lors de la procédure
d'installation). La modification est à faire dans /etc/sysconfig/keyboard dans
la variable KEYTABLE, en remplaçant KEYTABLE = /usr/lib/keytables/fr.map
par KEYTABLE = /usr/lib/keytables/fr-latin1.map
Pour les autres distributions, il faut en général placer loadkeys
/usr/lib/keytables/fr-latin1.map dans un des fichiers de démarrage (en général
dans /etc/rc.d/)
A ce niveau, on dispose d'un clavier français sur la console. Les caractères avec touche morte (accent circonflexe, tréma, ..) marche aussi normalement.
Attention : il ne faut qu'il y ait de contradiction avec ce qui est dans /etc/bashrc, sinon, ça ne marche pas (ne pas définir deux fois le même alias qui correspond à des chose différentes).
Truc : placer
alias ll='ls -al' dans ~/.bashrc
et alias ls ='ls -N --color=tty' dans /etc/bashrc permet d'avoir le ll en couleur (c'est le ls de l'alias qui sert pour le ll).
(standard-display-european 1)
Les parenthèses font parti de l'instruction.
Ainsi, on peut lire les accents mais pas les taper !
Mais mettre en plus dans ~/.emacs :
(set-input-mode nil nil 1)
résoud le probleme !
Pour résoudre le problème de la touche suppr, il faut mettre dans ~/.emacs :
(global-set-key (read-kbd-macro "DEL") 'delete-char)
(standard-display-european 1)
(set-input-mode nil nil 1)
(global-set-key (read-kbd-macro "DEL") 'delete-char)
et tout marche nickel !
xterm*VT100.Translations: #override\n\
<KeyPress>Prior : scroll-back(1,page)\n\
<KeyPress>Next : scroll-forw(1,page)
nxterm*VT100.Translations: #override\n\
<KeyPress>Prior : scroll-back(1,page)\n\
<KeyPress>Next : scroll-forw(1,page)
Placer un # devant chaque ligne puis rajouter à la suite :
*VT100.Translations: #override \
<Key>BackSpace: string(0x7F)\n\
<Key>Delete: string("\033[3~")\n\
<Key>Home: string("\033[1~")\n\
<Key>End: string("\033[4~")
*ttyModes: erase ^?
Attention : il faut faire attention aux espaces donc faire un 'copier-coller'.
A la fin du fichier se trouve donc :
#xterm*VT100.Translations: #override\n\
# <KeyPress>Prior : scroll-back(1,page)\n\
# <KeyPress>Next : scroll-forw(1,page)
#nxterm*VT100.Translations: #override\n\
# <KeyPress>Prior : scroll-back(1,page)\n\
# <KeyPress>Next : scroll-forw(1,page)
*VT100.Translations: #override \
<Key>BackSpace: string(0x7F)\n\
<Key>Delete: string("\033[3~")\n\
<Key>Home: string("\033[1~")\n\
<Key>End: string("\033[4~")
*ttyModes: erase ^?
On en profitera pour vérifier que juste au-dessus, on trouve la ligne :
*eightBitInput: true
mettre dedans :
XDvi.paper: a4
Ghostview.pageMedia: A4
Cela n'est pas obligatoire mais est utile pour Ghostview et xdvi.
Placer dedans :
xmodmap -e "keycode 22 = BackSpace"
xmodmap -e "keycode 107 = Delete"
nxterm -geometry 80x24+131+192 &
exec fvwm95
En fait, seuls les deux premières lignes sont nécessaires pour ce qui nous intéresse.
La 3ème ligne lance un client xterm, ce qui est toujours pratique et la 4ème lance le gestionnaire de fenêtre (ici, fvwm95, avec un look à la Windows 95 pour ne pas traumatiser ceux qui viennent de Windows ;-)).
Cela doit suffire pour une utilisation courante de Linux dans un premier temps (sachant que je vous encourage vivement à vous servir de emacs :-)).