home *** CD-ROM | disk | FTP | other *** search
/ IT.SOFT 22 / ITSOFTCD_22.iso / mac / linux22 / slackware3.6 / DOCS / FRENCH-HOWTO.;1 < prev    next >
Encoding:
Text File  |  1998-02-22  |  70.0 KB  |  1,991 lines  |  [TEXT/hscd]

  1.   Le French-HOWTO : Linux & la langue franÁaise
  2.   …crit par Guylhem Aznar, guylhem@danmark.linux.eu.org
  3.   v1.30, August 1997
  4.  
  5.   Copyright (©) Juillet 1997, Guylhem Aznar.  Librement distribuable &
  6.   modifiable selon les termes de la GPL.
  7.  
  8.   1.  PrÈsentation
  9.  
  10.   Ce document a ÈtÈ Ècrit pour aider ‡ configurer un ordinateur dotÈ du
  11.   systËme d'exploitation Linux pour des utilisateurs francophones ; il y
  12.   est expliquÈ par exemple comment configurer pÈriphÈriques &
  13.   applications afin de prendre en compte les particularitÈs & les
  14.   spÈcificitÈs de notre langue...
  15.  
  16.   Toutefois, ce document ne traite pas de l'installation du systËme
  17.   d'exploitation Linux ; il est implicitement supposÈ que vous avez
  18.   correctement installÈ une distribution de Linux (RedHat, Debian ou
  19.   Slackware, cette liste n'Ètant pas exhaustive) & que vous vous
  20.   apprÍtez maintenant ‡ mieux la configurer ; veuillez donc vous rÈfÈrer
  21.   ‡ d'autres HOWTOs pour l'installation.  Les franÁais ne sont pas les
  22.   seuls francophones !
  23.  
  24.   Pour chaque manipulation dÈpendant de la ´ nationalitÈ ª, quatre
  25.   versions sont donc proposÈes : une canadienne franÁaise, une belge
  26.   wallone, une franÁaise & une suisse romande.  Le Grand DuchÈ du
  27.   Luxembourg utilisant les mÍmes standards que la France, j'invite les
  28.   lecteurs luxembourgeois ‡ se reporter aux exemples franÁais !
  29.  
  30.   Toutefois seuls les fichiers destinÈs aux franÁais (table de clavier
  31.   en mode console, X...) sont inclus, puisque la majoritÈ des lecteurs
  32.   seront certainement franÁais & que seuls ces fichiers prÈsentent des
  33.   amÈliorations par rapport aux dÈfauts.
  34.  
  35.   Envoyez-moi donc vos fichiers belges, canadiens, luxembourgeois ou
  36.   suisses ; ils seront inclus avec plaisir s'ils se montrent plus utiles
  37.   que ceux proposÈs par dÈfaut !
  38.  
  39.   2.  Les problËmes
  40.  
  41.   Le problËme de tout utilisateur non-amÈricain lors de l'installation
  42.   de Linux est de lui faire comprendre que, justement, il n'est pas
  43.   amÈricain !
  44.  
  45.   Cela a des consÈquences sur :
  46.  
  47.   ∑  les caractËres spÈciaux que l'on utilise, accentuÈs (… » ¿ «) ou
  48.      bien ligaturÈs ( Δ , voire ´ e dans l'o ª qui n'existe mÍme pas en
  49.      standard sous Linux ; j'espËre bientÙt prÈsenter ici une solution
  50.      simple pour en disposer !)
  51.  
  52.   ∑  la correspondance entre la sÈrigraphie des cabochons (touches) sur
  53.      lesquels vous appuyez & les codes que Linux renvoie, celui-ci
  54.      supposant un clavier QWERTY amÈricain par dÈfaut
  55.  
  56.   ∑  le format de page pris en charge par les programmes que vous
  57.      utilisez pour imprimer, diffÈrent entre les …tats-Unis (14 x 8,5
  58.      pouces pour du papier dit lÈgal) & l'Europe (29,7 x 21 cm pour des
  59.      feuilles a4)
  60.  
  61.   Tout Ètant prÈconfigurÈ pour un anglophone nord-amÈricain -bien que
  62.   ceux-ci ne reprÈsentent pas la majoritÈ de la population mondiale- ,
  63.   il faut donc se faire reconnaÓtre comme une ´ exception ª par les
  64.   diffÈrents programmes, par des options ou des variables ‡ exporter
  65.   voire dans les pires des cas une modification du code source suivie
  66.   d'une recompilation.
  67.  
  68.   Heureusement, ´ l'esprit ª de Linux rend le systËme trËs ouvert ‡ des
  69.   modifications de toute sorte & comme vous allez le dÈcouvrir au fil de
  70.   ce document, il est assez simple d'obtenir un rÈsultat trËs correct.
  71.  
  72.   Pour le moment, le futur de l'internationalisation de Linux porte sur
  73.   la traduction des messages d'erreur, des programmes, des pages de
  74.   manuel & de la documentation, alors si vous vous sentez l'‚me d'un
  75.   traducteur, n'hÈsitez pas ‡ contacter l'Èquipe de traduction des
  76.   HOWTOs ; pour cel‡, adressez-vous ‡ …ric Dumas (dumas@freenix.fr ou
  77.   dumas@Linux.EU.Org) & ‡ xc@itp.fr .
  78.  
  79.   3.  Le vocabulaire : petit lexique
  80.  
  81.   Tout d'abord, un mot sur le vocabulaire employÈ :
  82.  
  83.   Des caractËres sont dits ´ 8 bits ª s'ils contiennent par exemple des
  84.   accents ou des signes spÈciaux (comme paragraphe), non inclus dans le
  85.   standard ASCII 7 bits (sans accents ni caractËres spÈciaux).
  86.  
  87.   Une table de clavier est un fichier permettant de faire correspondre
  88.   l'empreinte physique des cabochons (touches) du clavier au rÈsultat
  89.   obtenu sur l'Ècran de l'ordinateur.
  90.  
  91.   Les touches ´ Home ª, ´ End ª, ´ Page Up ª & ´ Page Down ª (dont les
  92.   noms varient selon les claviers) sont les touches permettant
  93.   respectivement d'aller en dÈbut/fin de ligne & de monter/descendre
  94.   d'une page.
  95.  
  96.   Une touche morte est une touche qui doit Ítre suivie d'un espace pour
  97.   obtenir l'accent circonflexe seul, ou dans le cas o˘ elle est suivie
  98.   d'une voyelle y positionne un accent, par exemple :
  99.  
  100.        ^ + e donne Í
  101.  
  102.   Les touches mortes sont :
  103.  
  104.   ∑  pour les claviers belges & franÁais, l'accent aigu (en AltGr de 1
  105.      pour les franÁais & en AltGr de ˘ pour les belges), l'accent grave
  106.      (en AltGr de 7 pour les franÁais & en AltGr de carrÈ/cube pour les
  107.      belges), le trÈma & l'accent circonflexe (tous deux ‡ cÙtÈ du P)
  108.  
  109.   ∑  pour les canadiens, les accent graves, circonflexes, les trÈmas &
  110.      la cÈdille
  111.  
  112.   ∑  pour les suisses, les accent aigus, graves, circonflexes, les
  113.      trÈmas & la tilde
  114.  
  115.   Enfin, voici une petite explication de la diffÈrence entre GMT & UTC
  116.   par Edgar Bonet Orozco :
  117.  
  118.   GMT est l'heure solaire moyenne de Greenwich. L'heure est comptÈe ‡
  119.   partir de midi et est donc dÈcalÈe de 12 h  par rapport au temps
  120.   universel. GMT est basÈe sur la rotation de la Terre, ce n'est donc
  121.   pas un temps rÈgulier. En effet, la vitesse de rotation de la Terre
  122.   subit des variations faibles mais assez cahotiques, en plus elle
  123.   diminue sur le long terme.
  124.  
  125.   UTC (temps universel coordonnÈ) est comptÈ ‡ partir de minuit
  126.   (toujours par rapport au mÈridien zÈro). Il est basÈ sur des Ètalons
  127.   atomiques, mais des secondes intercalaires sont ajoutÈes
  128.   occasionnellement pour faire en sorte qu'il ne s'Ècarte jamais de plus
  129.   de une seconde de l'heure solaire moyenne. Tu auras plus de prÈcisions
  130.   sur la dÈtermination de UTC dans "http://opdaf1.obspm.fr/", et en
  131.   particulier dans "http://opdaf1.obspm.fr/www/lexique.html".
  132.  
  133.   C'est le temps UTC qui sert de rÈfÈrence aux diffÈrentes heures
  134.   lÈgales.  L'acronyme "GMT" est employÈ 99% du temps pour dÈsigner UTC,
  135.   mais c'est une erreur (ou un abus de langage).
  136.  
  137.   4.  RÈglage du clavier sous Linux
  138.  
  139.   Il existe deux programmes pour configurer votre clavier : un pour la
  140.   console : loadkeys & un pour XFree : xkbd.
  141.  
  142.   Pour installer un clavier franÁais sous Linux, tapez selon que vous
  143.   soyez respectivement FranÁais, Canadien FranÁais, Belge Wallon ou
  144.   Suisse Roman :
  145.  
  146.        loadkeys french.map
  147.        loadkeys cf.map
  148.        loadkeys be-latin1.map
  149.        loadkeys sf-latin1.map
  150.  
  151.   french.map est inclu dans ce HOWTO (au chapitre ´ Fichiers inclus ª) &
  152.   tous les autres fichiers se trouvent d'ordinaire dans le rÈpertoire
  153.   /usr/lib/kbd/keytables.
  154.  
  155.   Si vous utilisez french.map & french (pour X window : cf. chapitre
  156.   ´RÈgler le clavier pour X windowª), N'UTILISEZ PLUS :
  157.  
  158.        stty erase ^H
  159.        ou
  160.        stty erase ^?
  161.  
  162.   ´ stty erase ª ne sert en effet qu'‡ Ètablir une correspondance entre
  163.   le code que renvoie une touche et la fonction erase (effacer le
  164.   caractËre).
  165.  
  166.   Les tables fournies dans ce HOWTO fonctionnent correctement & ne
  167.   nÈcessitent donc pas de stty erase !
  168.  
  169.   D'habitude, loadkeys est exÈcutÈ par des scripts au dÈmarrage ; par
  170.   exemple dans /etc/rc.d/init.d/keytable ou /etc/rc.d/rc.local (...) ;
  171.   la commande :
  172.  
  173.         find
  174.        /etc/rc.d -type f | xargs grep loadkeys
  175.  
  176.   vous fournira sur le nom exact du fichier lanÁant loadkeys ; il vous
  177.   suffit alors de l'Èditer pour que vos modifications soient dÈsormais
  178.   prise en en compte ‡ chaque dÈmarrage.
  179.  
  180.   Si vous rencontrez les messages d'erreur suivants :
  181.  
  182.        loadkeys french
  183.        Loading /usr/lib/kbd/keytables/french.map
  184.        unknown keysym 'dead_cedilla'
  185.        /usr/lib/kbd/keytables/french.map:67: parse error
  186.        syntax error in map file
  187.        key bindings not changed
  188.  
  189.   cel‡ signifie que votre version de kbd (dont le programme loadkeys
  190.   dÈpend) est trop vieille : il faut vous procurer une version plus
  191.   rÈcente du programme.
  192.  
  193.   Il existait & existe encore des versions des tables de clavier pour
  194.   ceux ne voulant ni touches mortes ni accents, or cela tombe
  195.   actuellement en dÈsuÈtude puisque la grande majoritÈ des programmes
  196.   prennent dÈsormais en charge ces fameuses touches mortes et les
  197.   caractËres accentuÈs.
  198.  
  199.   De plus, les tables fournies avec ce HOWTO permettent de se servir des
  200.   touches mortes ou de s'en passer si un programme les refuse, les deux
  201.   cas ayant ÈtÈ prÈvus.
  202.  
  203.   5.  RÈglage du clavier sous XFree
  204.  
  205.   Pour XFree, votre fichier XF86Config doit contenir une section
  206.   Keyboard :
  207.  
  208.        Section "Keyboard"
  209.        Protocol        "Standard"
  210.        AutoRepeat      500 30
  211.        LeftAlt         Meta
  212.        RightAlt        ModeShift               # Important pour Alt-gr, mais dans les
  213.                                                # versions rÈcentes de XFree,
  214.                                                # AltGr & RightAlt sont synonymes.
  215.        ScrollLock      Compose                 # Pour faire des caractËres spÈciaux.
  216.                                                # Utiliser sinon une des 3 touches des
  217.                                                # nouveaux claviers 105 touches...
  218.        RightCtl        Control
  219.  
  220.        XkbKeycodes     "xfree86"       #
  221.        XkbSymbols      "french(pc102)" #
  222.        XkbGeometry     "pc(pc102)"     #  Tout est nÈcessaire pour xkb
  223.        XkbModel        "pc102"         #
  224.        XkbLayout       "french"        #
  225.        # ou ´ ca ª ou ´ be ª ou ´ fr_CH ª ; si vous Ítes canadien, remplacez
  226.        # ´ french(pc102) ª par ´ us ª (´ quebec ª, compatible avec ´ french ª,
  227.        # sera bientÙt disponible)
  228.        EndSection
  229.  
  230.   Pour cette partie Xkb, certains prÈfËrent :
  231.  
  232.        XkbKeymap "xfree86(french)"
  233.        XkbKeycodes  "xfree86"
  234.        XkbSymbols   "en_US(pc101)+french"
  235.        XkbGeometry  "pc(pc101)"
  236.  
  237.   ´ french ª est disponible ‡ la fin de ce fichier !
  238.  
  239.   Mettre ´ french ª dans /usr/X11R6/lib/X11/xkb/symbols/french & ´
  240.   french.map ª dans /usr/lib/kbd/keytables/french.map.
  241.  
  242.   Attention !
  243.  
  244.   xkb n'est disponible que pour des versions de XFree supÈrieures ou
  245.   Ègales ‡ 3,2 !
  246.  
  247.   Si vous n'avez pas de rÈpertoire /usr/X11R6/lib/X11/xkb/symbols/ ,
  248.   procurez-vous donc une version plus rÈcente de X window !
  249.  
  250.   Sans xkb, XFree se rabattra par dÈfaut sur votre configuration de
  251.   clavier pour Linux (avec loadkeys).  Toutefois, la translation n'est
  252.   pas parfaite & je vous recommanderais plutÙt d'Èviter cette option,
  253.   aussi bien que l'ancien gestionnaire de clavier Xmodmap.
  254.  
  255.   Il se peut aussi que sans aucune commande pour xkb, XFree vous
  256.   considËre comme utilisateur d'un clavier anglo-amÈricain !
  257.  
  258.   Il convient donc d'utiliser ´ fr ª ou ´ french ª avec xkb ; toutefois
  259.   ce dernier permet d'utiliser de multiples amÈliorations pour disposer
  260.   du plus de confort possible (gage de confort : je l'utilise
  261.   actuellement :-) ).
  262.  
  263.   Par exemple, certains programmes comme Netscape (tm) ne savent pas
  264.   encore gÈrer les touches mortes ... donc impossible de taper par
  265.   exemple des Í ou des Ó sur les claviers belges & franÁais, puisque la
  266.   touche morte ´ accent circonflexe ª est le seul moyen d'obtenir ces
  267.   caractËres !
  268.  
  269.   ´ french ª rÈpond ‡ ce problËme en proposant une solution de
  270.   remplacement : AltGr (voyelle) permet d'obtenir la voyelle avec un
  271.   accent grave, AltGr+Shift (voyelle) permet d'obtenir la voyelle avec
  272.   un trÈma !
  273.  
  274.   Voici la table complËte des correspondances :
  275.  
  276.   ∑  AltGr (voyelle) : voyelle accent grave
  277.  
  278.   ∑  AltGr + Shift (voyelle) : voyelle trÈma
  279.  
  280.   ∑  AltGr (touche au dessous de la voyelle) : voyelle majuscule accent
  281.      grave
  282.  
  283.   ∑  AltGr + Shift (touche au dessous de la voyelle) : voyelle majuscule
  284.      trÈma
  285.  
  286.   ∑  AltGr + Shift (minuscule accentuÈe) : majuscule accentuÈe
  287.  
  288.   Par exemple :
  289.  
  290.   ∑  AltGr (e) : Í
  291.  
  292.   ∑  AltGr + Shift (˘) : Ÿ
  293.  
  294.   L'astuce marche aussi pour le c cÈdille :
  295.  
  296.   ∑  AltGr + Shift (Á) : «
  297.  
  298.   Donc mÍme dans les pires conditions (si aucune touche morte ne
  299.   fonctionne), on peut quand mÍme accÈder ‡ toutes les voyelles
  300.   accentuÈes, majuscules & minuscules !
  301.  
  302.   Vous y trouverez en plus les guillemets franÁais (´ ª), les symboles
  303.   employÈs en physique (fl, Â, delta, phi ...), des signes de monnaies
  304.   (yen, ¢) ou de copyright ([TM], ©) ainsi que des lettres d'autres
  305.   langues (ÿ, Δ ...).
  306.  
  307.   Tous ces signes s'obtiennent gr‚ce ‡ AltGr (lettre), par exemple AltGr
  308.   (b) donne fl, AltGr (r) donne [TM], AltGr (y) donne yen...
  309.  
  310.   Pour ce qui est du choix entre les deux... ‡ vous de voir !
  311.  
  312.   Un conseil : essayez l'un puis l'autre.
  313.  
  314.   Une autre mÈthode pour obtenir des caratËres 8 bits :
  315.  
  316.   Dans /usr/X11R6/lib/X11/locale/iso8859-1/Compose se trouve une table
  317.   de ´ correspondance ª entre deux caractËres & un rÈsultat ; les deux
  318.   caractËres sont ´ mÈlangÈs ª lors de l'appui sur la touche Compose :
  319.   par exemple;
  320.  
  321.        Compose e ^ a toutes les chances de vous donner Í
  322.  
  323.   Pour utiliser la touche Compose, vous devez l'affecter ‡ une touche !
  324.  
  325.   Le paramÈtrage prÈconisÈ, rÈglÈ dans XF86Config, la fait correspondre
  326.   ‡ la touche ´ ArrÍt DÈfil ª par la commande :
  327.  
  328.   ScrollLock   Compose
  329.  
  330.   dans la section keyboard.
  331.  
  332.   …ditez votre fichier de configuration & remplacez par exemple :
  333.  
  334.       key <TLDE> {        [     twosuperior,   threesuperior      ]       };
  335.  
  336.   par :
  337.  
  338.       key <TLDE> {        [     twosuperior,   threesuperior      ],
  339.  
  340.                                 [     Compose                           ]       };
  341.  
  342.   Si vous avez par exemple un clavier belge ou franÁais, dÈsormais
  343.   appuyer sur la touche ≤/≥ (carrÈ/cube) vous donnera normalement ≤
  344.   (carrÈ), en majuscule ≥ (cube) & en AltGr la fameuse fonction Compose
  345.   ; vous pouvez bien sur dÈcider d'attribuer Compose ‡ une autre touche
  346.   ; je vous recommande toutefois d'utiliser ScrollLock, bien moins
  347.   utilisÈe que les autres touches.
  348.  
  349.   NB : La touche ≤/≥ (carrÈ/cube), peu utilisÈe, est par dÈfaut assignÈe
  350.   aux guillemets franÁais ( ´ ª ), ≤ & ≥ restant accessible
  351.   respectivement en AltGr & AltGr + Shift ainsi que par l'accent
  352.   circonflexe suivi du chiffre.
  353.  
  354.   Pour modifier ce comportement par dÈfaut, il vous suffit avant
  355.   d'utiliser les fichiers de configuration pour XFree & linux en mode
  356.   console de repÈrer la ligne mise en commentaire au dÈbut du fichier et
  357.   de supprimer ce commentaire !
  358.  
  359.   6.  RÈglage du clavier pour les applications en mode texte
  360.  
  361.   Avertissement :
  362.  
  363.   Cette section est fortement ´ inspirÈe ª pour le rÈglage d'emacs, zsh,
  364.   tcsh, flex, less, rlogin, joe, col & TeX du Guide du Rootard & de
  365.   documents rassemblÈs sous le nom de ´ Francophones-HOWTO ª qui hÈlas
  366.   n'a jamais ÈtÈ fini.
  367.  
  368.   Les auteurs respectifs sont donc remerciÈs pour leurs contributions !
  369.  
  370.   Tout d'abord :
  371.  
  372.   Le huitiËme bit doit survivre ‡ l'entrÈe du noyau, assurez-vous-en
  373.   donc avec :
  374.  
  375.   stty cs8 -istrip -parenb
  376.  
  377.   Ensuite, il convient de s'assurer que l'application est apte ‡
  378.   supporter les caractËres 8 bits : par exemple, ispell n'est pas
  379.   compilÈ pour des caractËres 8 bits par dÈfaut : il faut le recompiler
  380.   sans l'option :
  381.  
  382.   -NO8BIT
  383.  
  384.   Enfin, charger une police de caractËres adaptÈes :
  385.  
  386.   setfont /usr/lib/kbd/consolefonts/xxx-NNN
  387.  
  388.   ∑  xxx repÈsente le type de police ; il doit s'agir d'une iso01 ou
  389.      lat1 pour les francophones sinon il n'y a plus de caractËres ´
  390.      Ètendus ª (voyelles accentuÈs, symboles de ponctuation comme
  391.      paragraphe... )
  392.  
  393.   ∑  NNN reprÈsente la taille individuelle de chaque caractËre ; 08 est
  394.      presque illisible mais 16 est un peu gros... ¿ rÈgler selon les
  395.      go˚ts de chacun.
  396.  
  397.   …ric Dubreuil (edubreuil@aol.com) vous conseille pour sa part la
  398.   police lat1u-16.psf, permettant d'avoir tous les caractËres accentuÈes
  399.   sans pour autant enlaidir mc, un gestionnaire de fichier trËs
  400.   populaire mais trËs sensible ‡ la police utilisÈe !
  401.  
  402.   0) Linux
  403.  
  404.   Linux en 'version franÁaise' existe... mais ne semble pas facile ‡
  405.   obtenir.
  406.  
  407.   Il faut en pratique disposer des sources de la libc & d'un minimum de
  408.   compÈtences (langage C).
  409.  
  410.   Voici donc, pour la bonne bouche, quelques renseignements collectÈs...
  411.  
  412.   Laurent Chemla nous pilote : ´ Si j'ai suivi, il y a deux trucs qui
  413.   font la meme chose, d'ou embrouille, les locales et un truc appelÈ
  414.   nls.
  415.  
  416.   Les locales, sous Linux, Áa va par dÈfaut dans /usr/lib/locale, et Áa
  417.   contient de quoi prÈciser entre autres le format des nombres
  418.   (LC_NUMERIC), les retours des fonctions ctype (isalpha etc)
  419.   (LC_CTYPE), le format des sommes d'argent (LC_MONETARY), le format des
  420.   dates (LC_TIME) et encore d'autres dÈtails. Sur certains Unix, il y a
  421.   aussi LC_MESSAGES, qui contient les messages de l'OS dans la langue
  422.   choisie par la variable d'environnement LC_MESSAGES. Pas sous Linux.
  423.   Sous Linux, c'est nls qui fait Áa, et de fait, nls gÍre un fichier qui
  424.   est dans /etc/locale/.  (NDG : De nos jours, ils se trouvent plutÙt
  425.   dans /usr/lib/locale) D'o˘ l'embrouille. Ils auraient mis Áa dans
  426.   /usr/lib/nls, comme tout le monde, Áa aurait evite la confusion. Mais
  427.   bon.
  428.  
  429.   Donc, si l'on veut se tenir ‡ jour d'nls, il suffit d'aller dans les
  430.   sources de libc/nls, faire 'make french' et copier libc.dat dans
  431.   /etc/locale/C/libc.dat et toc, tous les messages sont en francais. Y
  432.   compris ceux des programmes qui n'utilisent pas setlocale(): c'est
  433.   perror() qui fait le boulot (du moins je suppose).
  434.  
  435.   Si l'on veut en plus que les programmes qui utilisent setlocale()
  436.   utilisent nos rËgles franÁaises, l‡ il faut aller dans les sources de
  437.   libc/locale et dans chacun des sous-rÈpertoires jeter un oeil sur le
  438.   fichier exemple, le modifier pour le franÁais (c'est des tout petits
  439.   fichiers), et faire 'make', avant de copier le rÈsultat dans
  440.   /usr/lib/local/fr/ et de faire un 'export LC_ALL=fr'.  ª
  441.  
  442.   1) Les shells
  443.  
  444.   Ces variables doivent Ítre exportÈes ‡ chaque login : mettez les donc
  445.   dans .bashrc & .bash_profile, .tcshrc ou /etc/profile :
  446.  
  447.        # pour tcsh, utiliser setenv au lieu de export, par exemple ´setenv LANG frª
  448.  
  449.        # Les locales
  450.        LC_CTYPE=ISO-8859-1
  451.        LC_ALL=fr_FR
  452.        # (ou fr_BE, fr_CA, fr_CH, fr_LU ...)
  453.        LANG=fr
  454.        LESSCHARSET=latin1
  455.        export PATH PS1 LC_CTYPE LC_ALL LANG LESSCHARSET
  456.  
  457.        # Les raccourcis : sans ll ou d, impossible de voir les fichiers comprenant des
  458.        # caractËres 8 bits ...
  459.        alias q="cd .."
  460.        alias ll="ls --color=auto -a -N -l"
  461.        alias d="ls --color=auto -a -N"
  462.  
  463.        # Au cas o˘ del/backspace ne fonctionne pas, essayez l'un des deux :
  464.        #stty erase ^?
  465.        #stty erase ^H
  466.  
  467.   N'oubliez pas : tous les fichiers ici citÈs dont le nom commence par ´
  468.   .  ª doivent se trouver dans votre rÈpertoire maison !
  469.  
  470.   a) Pour bash (version 1.13.*), crÈez un .inputrc:
  471.  
  472.        # Permettre de rentrer & recevoir des caractËres accentuÈs
  473.        set meta-flag on
  474.        set convert-meta off
  475.        set input-meta on
  476.        set output-meta on
  477.  
  478.        # Pas de bip audible mais visible
  479.        # set bell-style visible
  480.  
  481.        # Pour faire marcher Home, End, Delete, Esc + Delete & Esc + Backspace
  482.        "\e[1~":beginning-of-line
  483.        "\e[3~":delete-char
  484.        "\e[4~":end-of-line
  485.        "\e\C-h": backward-kill-word
  486.        "\e\e[3~": kill-word
  487.  
  488.   Cel‡ vous permettra d'effacer des caractËres vers l'avant avec DELETE
  489.   (souvent nommÈe DEL ou SUPPR) et vers l'arriËre avec BACKSPACE (touche
  490.   situÈe ‡ cÙtÈ d' ´ EntrÈe ª ), ceci n'Ètant pas prÈvu sur les tables
  491.   de clavier par dÈfaut ´ mimant ª le comportement d'un clavier de
  492.   console VT100 .
  493.  
  494.   Les deux derniËres options vous permettront d'utiliser Home & End pour
  495.   aller au dÈbut & ‡ la fin de la ligne en cours d'Èdition.
  496.  
  497.   b) zsh se contente d'un stty pass8.
  498.  
  499.   c) Pour tcsh, placer, dans le fichier /etc/csh.login (ou dans les
  500.   fichiers .tcshrc des utilisateurs concernÈs) :
  501.  
  502.   setenv LC_CTYPE iso_8859_1
  503.   setenv LANG fr
  504.  
  505.   d) Pour tous les shells
  506.  
  507.   Remplacer 'iso_8859_1' par 'iso-8859-1' si cela ne fonctionne pas,
  508.   voire french.iso88591.fr_FR (ou fr_BR, fr_CA, fr_CH, fr_LU ...)
  509.  
  510.   ¿ propos de LANG, Pablo Saratxaga signale qu'il vaut mieux Èviter
  511.   fr_FR : ´ Par ailleurs je conseille un simple "fr" plutÙt que fr_FR
  512.   etc.  Certains programmes n'aiment pas trop (ils ne passent pas
  513.   vraiment par la resolution de locales mais lisent LANG
  514.   directemment...) ª
  515.  
  516.   Si nls est installe,  les  routines  correspondantes  sont  utilisees,
  517.   sinon tcsh  agit en iso_8859_1, quelle que soit les valeurs donnees a
  518.   LANG & LC_CTYPE : cf. la section NATIVE LANGUAGE SYSTEM de tcsh(1).
  519.  
  520.   D'aprËs le Danish-HOWTO:
  521.  
  522.   setenv LC_CTYPE ISO-8859-1; stty pass8
  523.  
  524.   2) L'heure
  525.  
  526.   Rien n'est plus facile que de laisser ‡ Linux le soin de passer de
  527.   l'heure d'ÈtÈ ‡ l'heure d'hiver & rÈciproquement...
  528.  
  529.   a) D'abord, quelle heure est-il :-) ?
  530.  
  531.   AprËs avoir regardÈ sur la pendule la plus proche de vous, tapez :
  532.  
  533.   clock
  534.  
  535.   puis
  536.  
  537.   date
  538.  
  539.   La premiËre heure est celle du bios, la seconde celle calculÈe par
  540.   Linux ‡ partir de /etc/zoneconfig.
  541.  
  542.   Pour peu que vous ayez installÈ timezone, votre machine peut jongler
  543.   aisÈment entre les diffÈrents fuseaux horaires... ce que les DOS ou
  544.   Windows ne permettent pas !
  545.  
  546.   b) L'heure du choix !
  547.  
  548.   De l‡, deux possibilitÈes : soit vous dÈcidez de laisser l'heure
  549.   systËme ‡ l'heure locale (peu pratique, exceptÈ si vous hÈbergez aussi
  550.   sur votre disque dur ces systËmes d'exploitation peu ÈvoluÈ, ne
  551.   sachant mÍme pas exploiter les fuseaux horaires), soit vous passez ‡
  552.   l'heure de Greenwich, Linux se chargeant de l'adapter ‡ votre fuseau
  553.   horaire.
  554.  
  555.   Dans ce cas, les grands voyages ‡ l'Ètranger avec un portable tout
  556.   neuf ÈquipÈ de Linux se feront en toute simplicitÈ : le dernier
  557.   pargraphe vous expliquera comment changer de fuseau horaire
  558.   facilement...
  559.  
  560.   c) Le rÈglage
  561.  
  562.   Pour procÈder, regardez d'abord si l'heure systËme retournÈe par clock
  563.   est l'heure locale ou l'heure de Greenwich (vous avez bien regardÈ une
  564.   pendule comme je vous le conseille plus haut, n'est-ce pas ?).
  565.  
  566.   Si clock vous retourne l'heure locale, il va falloir jongler un peu
  567.   avec les fuseaux horaires, sinon passez directement ‡ l'Ètape ´
  568.   rÈglage du fuseau ª.
  569.  
  570.   ∑  Pour les franÁais, belges wallons & suisses romans :
  571.  
  572.   Vous Ítes normalement dans une zone horaire MET (Medium European Time,
  573.   soit GMT+1).
  574.  
  575.   La zone ´ MET DST ª correspond elle ‡ l'heure d'ÈtÈ active (GMT + 2).
  576.  
  577.   Selon les dÈcisions futures de la cour europÈenne, l'heure d'ÈtÈ
  578.   (daylight savings) risque d'Ítre abandonnÈ...  ce qui compliquera
  579.   cette explication !
  580.  
  581.   ∑  Pour les canadiens franÁais :
  582.  
  583.   Vous Ítes dans une zone horaire GMT-4 si vous habitez autour de
  584.   MontrÈal .
  585.  
  586.   Pour les autres provinces, consulter un dictionnaire !
  587.  
  588.   PremiËrement, effacez le fichier /etc/localtime ou
  589.   /usr/lib/zoneinfo/localtime (l'emplacement varie selon les
  590.   distributions ; si vous avez les deux fichiers, effacez /etc/localtime
  591.   : l'autre fichier doit certainement Ítre un lien vers /etc/localtime).
  592.  
  593.   DËs lors, clock & date doivent vous retourner la mÍme heure...
  594.  
  595.   ∑  Pour les canadiens franÁais : utilisez GMT+4
  596.  
  597.   ∑  Pour les franÁais, belges wallons & suisses romans :
  598.  
  599.   Si vous lisez ce document en ÈtÈ, le dÈcalage de l'heure locale par
  600.   rapport ‡ l'heure de Greenwich est de deux heures, on va donc mettre
  601.   temporairement le fuseau en GMT-2, soit vous lisez ce document en
  602.   hiver & il convient de remplacer tous les ´ 2 ª par des ´ 1 ª dans les
  603.   exemples suivants...
  604.  
  605.   GMT-2 ?!!? Alors que le fuseau est GMT+2 ?
  606.  
  607.   Ceci va vous retourner l'heure de Greenwich dont on a besoin pour
  608.   rÈgler le systËme : tapez :
  609.  
  610.   ln -sf /usr/lib/zoneinfo/Etc/GMT-2 /etc/zoneconfig
  611.  
  612.   clock
  613.  
  614.   date
  615.  
  616.   L'heure calculÈe correspond donc ‡ l'heure de Greenwich, l'heure
  617.   systËme ‡ l'heure locale... soit l'inverse de ce que l'on veut.
  618.  
  619.   Un simple : clock -w
  620.  
  621.   Va alors mettre l'heure du systËme en heure de Greenwich, utilisant
  622.   pour cel‡ l'heure locale inversÈe volontairement avec l'heure systËme.
  623.  
  624.   d) RÈgler le fuseau horaire :
  625.  
  626.   Tapez alors : ln -sf /usr/lib/zoneinfo/Europe/Votre-ville
  627.   /etc/zoneconfig
  628.  
  629.   Et voil‡ ! Le systËme est ‡ l'heure de Greenwich, la conversion vers
  630.   le fuseau horaire local & l'heure d'ÈtÈ se faisant automatiquement.
  631.  
  632.   Si vous habitez hors Europe, procÈdez de mÍme en remplaÁant les ´ -2 ª
  633.   par ´ X ª, X reprÈsentant l'opposÈ de votre dÈcalage horaire (par
  634.   exemple -4 au QuÈbec, donc X=+4...)
  635.  
  636.   e) Modifier le fuseau horaire :
  637.  
  638.   Si vous partez ‡ l'Ètranger, il est alors simple de modifier l'heure
  639.   locale de votre portable : par exemple si vous partez pour Moscou :
  640.  
  641.   ln -sf /usr/lib/zoneinfo/Europe/Moscow /etc/zoneconfig
  642.  
  643.   TrËs simple & trËs utile : plus besoin de se souvenir du dÈcalage
  644.   horaire (plus ou moins X heures) puisque Linux se charge dÈsormais de
  645.   tout !
  646.   3) Emacs
  647.  
  648.   Voici un fichier de configuration de base pour employer les accents.
  649.   XEmacs les accepte lui par dÈfaut sans broncher :-)
  650.  
  651.     ;;
  652.     ;; Fichier .emacs: initialisation d'emacs
  653.     ;; TirÈ du Guide du Rootard
  654.     ;;
  655.  
  656.     (display-time)                     ;; Pour avoir l'heure dans la barre d'etat
  657.     (setq display-time-24hr-format t)  ;; Format 24 heures
  658.  
  659.     ;; Nouveaux modes
  660.     (autoload 'c++-mode   "cplus-md" "C++ Editing Mode" t)
  661.     (autoload 'perl-mode   "perl-mode" "Perl Editing Mode" t)
  662.     (autoload 'c-mode "c-mode" "C Editing Mode" t)
  663.     ; mieux vaudrait utiliser le "cc-mode"
  664.  
  665.     (autoload 'jargon-mode "jargon" "Jargon Mode" t)
  666.  
  667.     ;; Auto-Mode Settings : positionne le mode selon l'extension
  668.     (setq auto-mode-alist
  669.     (append '(("\.c$"  . c-mode)    ;; utilise le mode C++ meme pour C
  670.     ("\.h$"  . c-mode)
  671.     ("\.C$"  . c++-mode)
  672.     ("\.H$"  . c++-mode)
  673.     ("\.cc$" . c++-mode)
  674.     ("\.C$"  . c++-mode)
  675.     ("\.pl$" . perl-mode)           ;; Perl
  676.     ("/tmp/snd\.[0-9]*" . text-mode);; Text (pour le mail)
  677.     ("[Rr][Ee][0-9]*" . text-mode)
  678.     ("\.ada$"  . ada-mode)          ;; Ada
  679.     ("\.spec$"  . ada-mode)
  680.     ("\.body$"  . ada-mode)
  681.     ("makefile$" . makefile-mode)  ;; Makefile
  682.     ("Makefile$" . makefile-mode)
  683.     ("Imakefile$" . makefile-mode))
  684.     auto-mode-alist))
  685.  
  686.     ; Remapes varies a mettre ici
  687.     (global-set-key "\eg" 'goto-line)       ;; ESC G = Goto line
  688.  
  689.     (put 'eval-expression 'disabled nil)
  690.  
  691.     ;; Accents...
  692.     (standard-display-european 1)
  693.     (load-library "iso-syntax")
  694.     (set-input-mode (car (current-input-mode))
  695.                   (nth 1 (current-input-mode))
  696.                   0)
  697.  
  698.     ;; Sous X-Window, textes en couleurs (C/C++/Shell/Makefile,etc)
  699.     (cond (window-system
  700.     (setq hilit-mode-enable-list  '(not text-mode)
  701.     hilit-background-mode   'light
  702.     hilit-inhibit-hooks     nil
  703.     hilit-inhibit-rebinding nil)
  704.     (require 'hilit19)
  705.     ))
  706.     (if (not (equal window-system ""))
  707.     (global-set-key "\C-?" 'delete-char))
  708.     ))
  709.  
  710.   Le Keyboard-HOWTO conseille quand ‡ lui :
  711.  
  712.             (standard-display-european t)
  713.             (set-input-mode nil nil 1)
  714.             (require 'iso-syntax)
  715.             (load-library "iso-insert.el")
  716.             (define-key global-map [?\C-.] 8859-1-map)
  717.  
  718.   4) less
  719.  
  720.   /etc/profile ou les fichiers de dÈmarrage du shell (comme doivent
  721.   contenir :
  722.  
  723.    export LESSCHARSET=latin1
  724.  
  725.   Le fichier .lessrc se trouve ‡ la section ´ Fichier inclus ª.
  726.  
  727.   Pour s'en servir, taper :
  728.  
  729.        lesskey -o .less .lessrc
  730.  
  731.   N'oubliez pas de mettre le fichier .less dans votre rÈpertoire maison
  732.   : il permet d'employer les touches flÈchÈes, Page_up, Page_down, Home
  733.   & End.
  734.  
  735.   5) ls
  736.  
  737.   Utilisez l'option :
  738.  
  739.   --color=auto
  740.  
  741.   dÈfinissez dans les fichiers de dÈmarrage de votre shell les alias
  742.   suivants permettant de voir les fichiers dont le nom comprend des car≠
  743.   actËres 8 bits :
  744.  
  745.        alias ll="ls --color=auto -l -a -N"
  746.        alias d="ls --color=auto"
  747.  
  748.   Un simple d remplacera le classique ls, en y ajoutant la couleur,
  749.   alors que ll vous offrira une liste complËte de tous les fichiers
  750.   prÈsents dans le rÈpertoire, avec leurs attributs, leurs tailles...
  751.  
  752.   Pablo Saratxaga conseille d'utiliser --color=auto car ´ --color=yes
  753.   fera avoir des codes escape ansi mÍme lorsqu'on redirige vers un pipe
  754.   un fichier o˘ que le termina ne supporte pas la couleur... ce n'est
  755.   pas ce qu'on voudrait. ª
  756.  
  757.   6) flex
  758.  
  759.   Donnez l'option :
  760.  
  761.    -8
  762.  
  763.   gÈnÈrÈ doit accepter les entrees 8-bits (bien sur qu'il doit le faire
  764.   !).
  765.  
  766.   7) Elm
  767.  
  768.   Rajoutez ces trois lignes dans votre .elm/elmrc :
  769.  
  770.          charset = iso-8859-1
  771.  
  772.          displaycharset = iso-8859-1
  773.  
  774.          textencoding = 8bit
  775.  
  776.   8) col
  777.  
  778.   Assurez-vous :
  779.  
  780.   1) qu'il a ÈtÈ corrigÈ et fasse un
  781.  
  782.        setlocale(LC_CTYPE,"");
  783.  
  784.   2) de dÈfinir
  785.  
  786.        LC_CTYPE=ISO-8859-1
  787.  
  788.   dans l'environment
  789.  
  790.   9) Rlogin
  791.  
  792.   Utilisez l'option :
  793.  
  794.        -8
  795.  
  796.   10) joe
  797.  
  798.   ftp://sunsite.unc.edu:/pub/Linux/apps/editors/joe-2.8.tar.gz
  799.  
  800.   ou plus rÈcent devrait fonctionner aprËs Èdition du fichier de config≠
  801.   uration.  Placez l'option -asis dans /usr/lib/joerc en premiËre
  802.   colonne.
  803.  
  804.   11) TeX & LaTeX
  805.  
  806.   Le plus simple consiste ‡ employer GuTemberg, une distribution de
  807.   LaTeX avec tous les dÈfauts rÈglÈs pour des francophones par des
  808.   francophones !
  809.  
  810.   Sinon :
  811.  
  812.   Pour LaTeX:
  813.  
  814.    \documentstyle[isolatin]{article}
  815.  
  816.   Pour LaTeX2e:
  817.  
  818.    \documentclass{article}\usepackage{isolatin}
  819.  
  820.   ou alors :
  821.  
  822.    \usepackage[latin1]{inputenc}
  823.    \usepackage[T1]{fontenc}
  824.  
  825.   Au cas o˘ votre distribution soit trop vieille pour l'inclure,
  826.   isolatin.sty est disponible sÈparÈment sur :
  827.  
  828.   ftp.vlsivie.tuwien.ac.at/pub/8bit
  829.  
  830.   Pour gs & xdvi, il faut utiliser des options speciales (sur ma
  831.   machine, ce sont des alias). En effet, ils sont souvent configurÈs
  832.   pour un papier de taille anglo-saxonne.
  833.  
  834.   Ces options sont les suivantes :
  835.  
  836.   gs -sPAPERSIZE=a4 xdvi -paper a4 ghostview -a4
  837.  
  838.   Pour que dvips convertisse les documents dans un format papier a4, il
  839.   faut specifier dans le fichier config.ps (le chemin varie en  fonction
  840.   des versions de LaTeX) : /usr/lib/texmf/dvips/config.ps ou .dvipsrc
  841.  
  842.   @ a4 210mm 297mm @+ ! %%DocumentPaperSizes: a4 @+ %%PaperSize: a4 @+
  843.   %%BeginPaperSize: a4 @+ a4
  844.  
  845.   Sinon ajoutez ‡ votre .Xresources :
  846.  
  847.   XDvi.paper:             a4
  848.   Ghostview.pageMedia:    A4
  849.  
  850.   12) Manuel
  851.  
  852.   Tout d'abord, il faut vous procurer les pages de manuel Linux
  853.   traduites en franÁais sur :
  854.  
  855.   ftp.lip6.fr/pub/linux
  856.  
  857.   Si vous utilisez une distribution Debian, celles-ci sont prÈsentes sur
  858.   le cÈdÈrom : il suffit de les sÈlectionner lors de l'installation.
  859.  
  860.   De l‡, deux possibilitÈes :
  861.  
  862.   ∑  soit vous ne voulez que des manuels en franÁais, auquel cas il faut
  863.      faire un :
  864.  
  865.        export MANPATH=/usr/man/fr_FR (ou fr_BE, fr_CA, fr_CH, fr_LU...)
  866.  
  867.   ∑  soit vous prÈfÈrez par dÈfaut des manuels en franÁais et si la page
  868.      n'existe pas, vous vous rabattez vers l'anglais, il suffir alors de
  869.      taper :
  870.  
  871.        export LANG=fr
  872.  
  873.   man ira chercher dans le ´ MANPATH ª des pages en ´ LANG ª par dÈfaut
  874.   et se rabattra sinon sur des pages en anglais
  875.  
  876.   13) Correcteur orthographique ispell
  877.  
  878.   Vous pouvez vous le procurer sur son site original :
  879.  
  880.   ftp.ireq-robot.hydro.qc.ca:/pub/ispell/francais-IREQ-1.3.tar.gz
  881.  
  882.   ou sur :
  883.  
  884.   ftp.lip6.fr/pub/ispell/francais
  885.  
  886.   Un fichier LISEZMOI explique pas ‡ pas & en franÁais l'installation.
  887.  
  888.   14) Les claviers 105 touches
  889.  
  890.   Aussi appelÈs ´ claviers Microsoft (tm) ª, ils ont trois touches de
  891.   plus que les claviers normaux.
  892.  
  893.   Comment s'en servir ?
  894.  
  895.   En mode console, Èditer french.map et dÈcommenter les lignes en
  896.   parlant !
  897.  
  898.   De mÍme pour french (pour Xwindow).
  899.  
  900.   15) PGP
  901.  
  902.   Tout d'abord, un avertissement : ce paragraphe n'est destinÈ qu'aux
  903.   francophones ne vivant pas en France !
  904.  
  905.   En effet, en France, en Iran, en Irak & dans quelques autres pays,
  906.   l'utilisation de logiciels de cryptographie est considÈrÈe comme usage
  907.   d'armes de guerre, ce qui est punissable par la loi !
  908.   Donc sautez ce paragraphe si votre lÈgislation locale ne permet pas
  909.   d'utiliser des logiciels de cryptographie.
  910.  
  911.   PremiËrement, il faut se procurer pgp-international (‡ cause de
  912.   problËmes de patentes et de lÈgislation sur l'export d'armes de
  913.   guerre, il existe pgp-us & pgp-international, ce dernire Ètant dotÈ
  914.   d'un algorythme encore plus puissant) sur :
  915.  
  916.   ftp://ftp.ifi.uio.no/pub/pgp/
  917.  
  918.   Ensuite, mettre dans votre rÈpertoire maison, dans un sous rÈpertoire
  919.   .pgp les fichiers :
  920.  
  921.        config.txt
  922.        language.idx
  923.        pgpdoc1.txt
  924.        pgpdoc2.txt
  925.        language.txt
  926.        fr.hlp
  927.        en.hlp
  928.        pgp.hlp
  929.  
  930.   Enfin, Èditer le fichier .pgp/config.txt pour y rajouter :
  931.  
  932.        Language = fr
  933.        CharSet = latin1
  934.  
  935.   Lisez ensuite .pgp/fr.hlp pour apprendre ‡ vous servir de pgp !
  936.  
  937.   16) Impression en mode ascii
  938.  
  939.   Pierre-Charles David (pcdavid@club-internet.fr) vous donne ce truc :
  940.  
  941.   Pour l'impression de texte simple, beaucoup d'imprimantes attendent
  942.   des lettres en codage IBM (celui utilisÈ par MS-DOS).
  943.  
  944.   Si le fichier est codÈ en latin1, on doit utiliser 'recode
  945.   latin1:ibmpc' (‡ placer dans les filtres lpr par exemple), sous peine
  946.   de voir imprimer des 'alpha' ‡ la place de '‡', et autres choses du
  947.   mÍme genre.
  948.  
  949.   17) Divers
  950.  
  951.   Pour les programmes utilisant curses (comme lynx) David Sibley dit:
  952.  
  953.   ´ La version standard de curses utilise le huitiËme  bit  pour la
  954.   vidÈo  inversee  (voir  le  flag  _STANDOUT  dÈfini dans
  955.   /usr/include/curses.h).  Cependant, ncurses semble  fonctionner en
  956.   8-bits et affiche le iso-latin-8859-1 correctement. ª
  957.  
  958.   Pour  les  programmes  utilisant  groff  (comme  man), utilisez le :
  959.  
  960.   -Tlatin1
  961.  
  962.   au lieu de :
  963.  
  964.        -Tascii
  965.  
  966.   Les vieilles versions  de  man  utilisent aussi col, & le point suiv≠
  967.   ant s'applique aussi.
  968.  
  969.   Une belle discussion sur le thËme de l'ISO-8859-1 & sur ´ comment
  970.   manipuler les caractËres 8-bits ª est disponible dans :
  971.  
  972.        ftp://grasp.insa-lyon.fr/pub/faq/fr/accents
  973.  
  974.   Pour perl, si tout d'un coup aprËs une mise ‡ jour il raconte :
  975.  
  976.        (guylhem@danmark:guylhem)$ perl
  977.        perl: warning: Setting locale failed for the categories:
  978.                LC_CTYPE LC_COLLATE
  979.        perl: warning: Please check that your locale settings:
  980.                LC_ALL = "fr_FR",
  981.                LC_CTYPE = "ISO-8859-1",
  982.                LC_COLLATE = (unset),
  983.                LANG = "fr"
  984.            are supported and installed on your system.
  985.        perl: warning: Falling back to the "C" locale.
  986.        (guylhem@danmark:guylhem)$
  987.  
  988.   Essayez cette solution de Thomas Parmelan (Thomas.Parmelan@efrei.fr) :
  989.  
  990.   - en libc6 le format des fichiers binaires de dÈfinition des locales a
  991.   (encore) changÈ : il faut les rÈgÈnÈrer ‡ partir des sources
  992.   (WG15collection.tar.tz sur ftp.lip6.fr:/pub/linux/GCC par exemple) et
  993.   des programmes "locale" et "localedef" qui sont fournis dans les
  994.   sources de la libc.
  995.  
  996.   - Sinon tu peux Ègalement essayer ceci (c'est comme cela que Áa
  997.   fonctionne chez moi en libc-5.4.x) :
  998.  
  999.             unset LANG
  1000.             unset LC_CTYPE
  1001.             unset LC_COLLATE
  1002.             export LC_ALL=fr_FR.ISO-8859-1
  1003.  
  1004.   7.  RÈglage du clavier pour les applications X
  1005.  
  1006.   1) Les xterminaux (xterm, nxterm, rxvt...)
  1007.  
  1008.   Les faire fonctionner avec toutes les touches standard du clavier 102
  1009.   touches relËve du miracle, quant aux accents, seule une recompilation
  1010.   vous permettra de les utiliser !
  1011.  
  1012.   Pour xterm, essayez de mettre dans votre .Xdefaults :
  1013.  
  1014.   XTerm*eightBitInput: true
  1015.   XTerm*eightBitOutput: true
  1016.  
  1017.   Pablo Saratxaga conseille de rajouter dans .inputrc :
  1018.  
  1019.   # pour rxvt
  1020.   "\e[7~":beginning-of-line
  1021.   "\e[8~":end-of-line
  1022.   # pour xterm
  1023.   "\e[H": beginning-of-line
  1024.   "\e[F": end-of-line
  1025.  
  1026.   Mais ces deux solutions ne vous garantissent pas de rÈsoudre tous les
  1027.   problËmes de rxvt et de xterm ...
  1028.  
  1029.   Pour les rÈsoudre sans crÈer de fichiers dans /usr/X11R6/lib/X11/app-
  1030.   defaults, je tiens sinon ‡ votre disposition un xiterm, un terminal X
  1031.   supportant *TOUTES* les touches des claviers standard, avec Home, End,
  1032.   Page_up (...) & mÍme le pavÈ numÈrique, fonctionnant comme en mode
  1033.   console, i.e.  Shift-Page_up permettant de faire dÈfiler une page,
  1034.   voire mieux : le pavÈ numÈrique reconnaissant enfin la diffÈrence
  1035.   entre Verr. Num allumÈ & Verr. Num Èteint.
  1036.  
  1037.   X international terminal (xiterm pour les intimes) est bien sur sous
  1038.   GPL & mis ‡ jour pour suivre parallËlement l'Èvolution de rxvt.
  1039.  
  1040.   Sur http://www.linux-france.com/prj/xiterm & sur
  1041.   ftp://sunsite.unc.edu/pub (& bientÙt ailleurs sans doute), vous
  1042.   trouverez donc xiterm, qui remplace votre xterm classique en y
  1043.   apportant la couleurs, les accents & les touches Ètendues.
  1044.  
  1045.   Pour l'installer, compilez-le, devenez root & tapez :
  1046.  
  1047.        rm /usr/X11R6/bin/xterm
  1048.        rm /usr/X11R6/lib/X11/app-defaults/xterm
  1049.        rm /usr/X11R6/lib/X11/app-defaults/rxvt
  1050.        rm /usr/X11R6/lib/X11/app-defaults/Xterm
  1051.        rm /usr/X11R6/lib/X11/app-defaults/XTerm
  1052.        rm /usr/X11R6/lib/X11/app-defaults/Rxvt
  1053.        rm /usr/X11R6/lib/X11/app-defaults/RXvt
  1054.        cp xiterm /usr/local/bin
  1055.  
  1056.        ln -sf /usr/local/bin/xiterm /usr/X11R6/bin/xterm
  1057.        ln -sf /usr/local/bin/xiterm /usr/X11R6/bin/rxvt
  1058.  
  1059.   2) Les applications Motif
  1060.  
  1061.   L‡, je n'ai malheureusement aucun remËde miracle !
  1062.  
  1063.   Utilisez les possibilitÈs du fichier french au lieu des touches mortes
  1064.   (AltGr (voyelle) : voyelle accent circonflexe... ) !
  1065.  
  1066.   3) Le manuel
  1067.  
  1068.   Pablo Saratxaga tient ‡ votre disposition un xman modifiÈ ´ pour qu'il
  1069.   supporte la variable ´ LANG ª et puisse afficher les pages en d'autres
  1070.   langues qu'anglais ª.
  1071.  
  1072.   Il est disponible sur :
  1073.  
  1074.        ftp.lip6.fr:/pub/linux/distributions/redhat-contrib/SRPMS/xman-3.1.6-3.src.rpm
  1075.        ftp.lip6.fr:/pub/linux/distributions/redhat-contrib/i386/xman-3.1.6-3.i386.rpm ª
  1076.  
  1077.   8.  Remerciements
  1078.  
  1079.   Ce document ne serait pas ce qu'il est sans l'aide de Nat MakarÈvitch
  1080.   (nat@linux-france.com).
  1081.  
  1082.   Je tiens aussi ‡ remercier les personnes suivantes pour leurs
  1083.   contributions aux autres documents sur Linux en franÁais (Guide du
  1084.   Rootard & Francophones-HOWTO) desquels la section ´ Configurer les
  1085.   applications en mode texte ª s'inspire pour emacs, zsh, tcsh, flex,
  1086.   less, rlogin, joe, col & TeX.
  1087.  
  1088.   Rappelons que les sites officiels du Guide du Rootard sont :
  1089.  
  1090.        http://www.freenix.fr/linux/Guide
  1091.  
  1092.   &
  1093.  
  1094.        ftp.lip6.fr:/pub/linux/french/docs/
  1095.  
  1096.   Par ordre alphabÈtique :
  1097.  
  1098.   Jean-Michel Antoine
  1099.   Michel Billaud
  1100.   Stephane Bortzmeyer
  1101.   RÈmy Card
  1102.   Xavier Cazin
  1103.   Laurent Chemla
  1104.   RenÈ Cougnenc
  1105.   Bruno Cornec
  1106.   Yann Dirson
  1107.   …ric Dubreuil
  1108.   …ric Dumas
  1109.   Pierre Ficheux
  1110.   Laurent Frigault
  1111.   Frederic Lepied
  1112.   Stephane Marzloff
  1113.   Marc Merlin
  1114.   Thomas Parmelan
  1115.   Thomas Quinot
  1116.   David Robert
  1117.   Ollivier Robert
  1118.   Benjamin Ryzman
  1119.   Pablo Saratxaga
  1120.   Julien Simon
  1121.   J.M. Vansteene
  1122.  
  1123.   Surtout, si je vous oublie, signalez-le moi !
  1124.  
  1125.   De mÍme si vous ne voulez plus figurer dans cette liste...
  1126.  
  1127.   Ce document est en GPL, toutefois il vaudrait mieux Èviter une
  1128.   multiplication des versions :-).
  1129.  
  1130.   Envoyez-donc vos suggestions & modifications ‡
  1131.   guylhem@danmark.linux.eu.org
  1132.  
  1133.   Je me ferai un plaisir de les intÈgrer dans les prochaines versions !
  1134.  
  1135.   Signalez-moi aussi les erreurs : cet HOWTO est en perpÈtuel
  1136.   changement, avec des nouveautÈs incluses ‡ chaque version ; des erreur
  1137.   peuvent facilement s'y glisser !
  1138.  
  1139.   9.  Fichiers inclus dans ce HOWTO
  1140.  
  1141.   Comme signalÈ plus haut, cette section ne contient que .bashrc,
  1142.   window), quebec (pour X window) & french.map .
  1143.  
  1144.   Voici .bashrc (pour bash, ‡ placer dans votre rÈpertoire maison) :
  1145.  
  1146.        # ~/.bashrc : executÈ par bash(1) pour les shells lancÈs aprËs le login.
  1147.  
  1148.        # Le path
  1149.        PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/usr/local/bin"
  1150.  
  1151.        # Le prompt
  1152.        PS1="(\u@\h:\W)$ "
  1153.  
  1154.        # Les locales
  1155.        LC_CTYPE=ISO-8859-1
  1156.        LC_ALL=fr_FR
  1157.        # (ou fr_BE, fr_CA, fr_CH, fr_LU ..)
  1158.        LANG=fr
  1159.        LESSCHARSET=latin1
  1160.        export PATH PS1 LC_CTYPE LC_ALL LANG LESSCHARSET
  1161.  
  1162.        # Les raccourcis
  1163.        alias q="cd .."
  1164.        alias ll="ls --color=auto -a -N -l"
  1165.        alias d="ls --color=auto -a -N"
  1166.  
  1167.        # Au cas o˘ del/backspace ne fonctionne pas, essayez l'un des deux :
  1168.        #stty erase ^?
  1169.        #stty erase ^H
  1170.  
  1171.        # Refuser le talk & le write
  1172.        #mesg n
  1173.        # Permettre les coredumps
  1174.        #umask 022
  1175.  
  1176.   Voici .bash_profile (pour bash, ‡ placer dans votre rÈpertoire maison)
  1177.   :
  1178.  
  1179.   # ~/.bash_profile: executÈ par bash(1) lors les logins.
  1180.  
  1181.   # Le path
  1182.   PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/usr/local/bin"
  1183.  
  1184.   # Le prompt
  1185.   PS1="(\u@\h:\W)login$ "
  1186.  
  1187.   # Les locales
  1188.   LC_CTYPE=ISO-8859-1
  1189.   LC_ALL=fr_FR
  1190.   # (ou fr_BE, fr_CA, fr_CH, fr_LU ...)
  1191.   LANG=fr
  1192.   LESSCHARSET=latin1
  1193.   export PATH PS1 LC_CTYPE LC_ALL LANG LESSCHARSET
  1194.  
  1195.   # Les raccourcis
  1196.   alias q="cd .."
  1197.   alias ll="ls --color=auto -a -N -l"
  1198.   alias d="ls --color=auto -a -N"
  1199.  
  1200.   # Au cas o˘ del/backspace ne fonctionne pas, essayez l'un des deux :
  1201.   #stty erase ^?
  1202.   #stty erase ^H
  1203.  
  1204.   # Refuser le talk & le write
  1205.   #mesg n
  1206.   # Permettre les coredumps
  1207.   #umask 022
  1208.  
  1209.   Voici .lessrc (pour less, ‡ compiler avec lesskey) :
  1210.  
  1211.        (taper ESC)[B   forw-line
  1212.        (taper ESC)[A   back-line
  1213.        (taper ESC)[6~  forw-scroll
  1214.        (taper ESC)[5~          back-scroll
  1215.        (taper ESC)[1~   goto-line
  1216.        (taper ESC)[4~  goto-end
  1217.        (taper ESC)[C    next-file
  1218.        (taper ESC)[D    prev-file
  1219.        (taper ESC)OA    back-line
  1220.        (taper ESC)OB    forw-line
  1221.  
  1222.   Pour rentrer un ESC (parfois nommÈ Èchap), sous vi, mettez vous en
  1223.   mode insertion avec i puis tapez ctrl+v & enfin esc.
  1224.  
  1225.   Voici french (pour X11, ‡ placer dans
  1226.   /usr/X11R6/lib/X11/kbd/keytables) :
  1227.  
  1228.   // French keyboard description, (c) Guylhem Aznar, July 1997
  1229.   // Released under GNU GENERAL PUBLIC LICENSE Version 2
  1230.   // If you haven't received it, this license is available at :
  1231.   // Free Software Foundation, Inc.  675 Mass Ave, Cambridge, MA 02139, USA
  1232.  
  1233.   partial hidden alphanumeric_keys modifier_keys
  1234.   xkb_symbols "basic" {
  1235.  
  1236.   // Description *TOTALE* d'un clavier franÁais, sans le comparer ‡ un
  1237.   // clavier amÈricain par dÈfaut : on y gagne plus de flexibilitÈ, ce
  1238.   // modËle devient plus personalisable ...
  1239.  
  1240.   // Les touches È, Ë, Á, ‡ & ˘, prÈsentes en mode minuscule (i.e. sans shift)
  1241.   // ne sont pas disponibles en mode majuscule car elles sont respectivement
  1242.   // remplacÈes par 2, 7, 9, 0 & % .
  1243.   // Pour obtenir les majuscules accentuÈes …, », «, ¿ & Ÿ, vous pouvez soit
  1244.   // utiliser AltGr + Shift (minuscule accentuÈe), soit utiliser les accent
  1245.   // dits "morts", i.e. fonctionnant comme l'accent circonflexe & le trÈma .
  1246.   // Sont disponibles :  AltGr (1) : accent aig¸, AltGr (7) : accent grave,
  1247.   // AltGr (^) : cÈdille ; pour s'en servir, procÈder comme avec l'accent
  1248.   // circonflexe & le trÈma : ex : AltGr (1) + e : È ; AltGr (1) + e : … ...
  1249.   // La tilde (~) n'Ètant pas employÈe sur des lettres en franÁais, elle reste
  1250.   // en AltGr (2) une touche normale .
  1251.   // Une tilde "morte" (avec la cÈdille "morte") est toutefois disponibles sur la
  1252.   // touche accent circonflexe & trÈma en AltGr + Shift .
  1253.  
  1254.   // Au cas o˘ les dead_keys ne fonctionnent pas (certains programmes les
  1255.   // refusent), vous pouvez toujours utiliser pour obtenir les voyelles ‡ accent
  1256.   // circonflexe & ‡ trÈma :
  1257.   // AltGr (voyelle) : voyelle-minuscule ‡ accent circonflexe
  1258.   // AltGr + Shift (voyelle) : voyelle-minuscule ‡ trÈma
  1259.   // AltGr (en dessous de la voyelle) : voyelle-majuscule ‡ accent circonflexe
  1260.   // AltGr + Shift (en dessous de la voyelle) : voyelle majuscule ‡ trÈma
  1261.  
  1262.   // Plusieurs lettres ÈtrangËres, utilisÈes comme signes mathÈmatiques ou
  1263.   // physiques, abbrÈviations (...) ont ÈtÈ rajoutÈes en AltGr :
  1264.   // T->Phi;, r->[TM], y->yen, c->¢ & ©, f->seÒora, m->seÒor,
  1265.   // g->`, h->', ˘->±, x->Ê s->¯, z->Â, w->Delta;, b->fl
  1266.  
  1267.   // La correspondance essaye de se faire la plus naturelle possible, en mettant
  1268.   // ces touches l‡ o˘ l'on s'attend le plus de les trouver ...
  1269.   // mais elle est loin d'Ítre parfaite :^)
  1270.  
  1271.   // Modifiez donc ‡ loisir tous ces AltGr, et si vous pensez avoir trouvÈ la
  1272.   // configuration ultime permettant d'accÈder en mieux ‡ toutes ces touches,
  1273.   // mailez moi !
  1274.   // VÙtre arrangement, s'il est vraiement plus pratique, sera inclu dans la
  1275.   // prochaine version de la carte de correspondance du clavier !
  1276.  
  1277.       name[Group1]= "French";
  1278.       key <ESC>   {       [          Escape                       ]       };
  1279.  
  1280.   // Deux possibilitÈes pour cette touche "au carrÈ" (≤) :
  1281.   // * un mode mathÈmatique o˘ elle renvoie "au carrÈ" en mode normal, "au cube"
  1282.   // si elle est ShiftÈe et "puissance 1" en Alt-gr (pour parler par exemple de
  1283.   // m.s-π ...)
  1284.   // Toutefois, accent circonflexe suivi de 1, 2, 3, -, renvoyant respectivement
  1285.   // π, ≤, ≥ et -, cette touche est inutile !
  1286.  
  1287.   // * un mode littÈraire est donc proposÈ par dÈfault, pour disposer des
  1288.   // guillemets franÁais (´ & ª) ; le ≤ et le ≥ restant disponibles
  1289.   // respectivement en AltGr et AltGr + Shift .
  1290.  
  1291.   //   key <TLDE> {       [     twosuperior,   threesuperior      ],
  1292.   //                      [     onesuperior                       ]       };
  1293.  
  1294.       key <TLDE>  {       [   guillemotleft,  guillemotright      ],
  1295.                           [     twosuperior,   threesuperior      ]       };
  1296.  
  1297.       key <AE01>  {       [       ampersand,               1      ],
  1298.                           [      dead_acute                       ]       };
  1299.       key <AE02>  {       [          eacute,               2      ],
  1300.                           [      asciitilde,          Eacute      ]       };
  1301.       key <AE03>  {       [        quotedbl,               3      ],
  1302.                           [      numbersign                       ]       };
  1303.       key <AE04>  {       [      apostrophe,               4      ],
  1304.                           [       braceleft                       ]       };
  1305.       key <AE05>  {       [       parenleft,               5      ],
  1306.                           [     bracketleft                       ]       };
  1307.       key <AE06>  {       [           minus,               6      ],
  1308.                           [             bar                       ]       };
  1309.       key <AE07>  {       [          egrave,               7      ],
  1310.                           [      dead_grave,          Egrave      ]       };
  1311.       key <AE08>  {       [      underscore,               8      ],
  1312.                           [       backslash                       ]       };
  1313.       key <AE09>  {       [        ccedilla,               9      ],
  1314.                           [     asciicircum,        Ccedilla      ]       };
  1315.       key <AE10>  {       [          agrave,               0      ],
  1316.                           [              at,          Agrave      ]       };
  1317.       key <AE11>  {       [      parenright,          degree      ],
  1318.                           [    bracketright                       ]       };
  1319.       key <AE12>  {       [           equal,            plus      ],
  1320.                           [      braceright                       ]       };
  1321.       key <BKSP>  {       [       BackSpace                       ]       };
  1322.       key  <TAB>  {       [             Tab,    ISO_Left_Tab      ]       };
  1323.       key <AD01>  {       [               a,               A      ],
  1324.                           [     acircumflex,      adiaeresis      ]       };
  1325.       key <AD02>  {       [               z,               Z      ],
  1326.                           [           aring,           Aring      ]       };
  1327.       key <AD03>  {       [               e,               E      ],
  1328.                           [     ecircumflex,      ediaeresis      ]       };
  1329.       key <AD04>  {       [               r,               R      ],
  1330.                           [      registered                       ]       };
  1331.       key <AD05>  {       [               t,               T      ],
  1332.                           [           thorn,           THORN      ]       };
  1333.       key <AD06>  {       [               y,               Y      ],
  1334.                           [             yen                       ]       };
  1335.       key <AD07>  {       [               u,               U      ],
  1336.                           [     ucircumflex,      udiaeresis      ]       };
  1337.       key <AD08>  {       [               i,               I      ],
  1338.                           [     icircumflex,      idiaeresis      ]       };
  1339.       key <AD09>  {       [               o,               O      ],
  1340.                           [     ocircumflex,      odiaeresis      ]       };
  1341.       key <AD10>  {       [               p,               P      ],
  1342.                           [       paragraph                       ]       };
  1343.       key <AD11>  {       [ dead_circumflex,  dead_diaeresis      ],
  1344.                           [    dead_cedilla,      dead_tilde      ]       };
  1345.       key <AD12>  {       [          dollar,        sterling      ],
  1346.                           [        currency                       ]       };
  1347.       key <RTRN>  {       [          Return                       ]       };
  1348.       key <AC01>  {       [               q,               Q      ],
  1349.                           [     Acircumflex,      Adiaeresis      ]       };
  1350.       key <AC02>  {       [               s,               S      ],
  1351.                           [          oslash,        Ooblique      ]       };
  1352.       key <AC03>  {       [               d,               D      ],
  1353.                           [     Ecircumflex,      Ediaeresis      ]       };
  1354.       key <AC04>  {       [               f,               F      ],
  1355.                           [     ordfeminine                       ]       };
  1356.       key <AC05>  {       [               g,               G      ],
  1357.                           [       quoteleft                       ]       };
  1358.       key <AC06>  {       [               h,               H      ],
  1359.                           [      quoteright                       ]       };
  1360.       key <AC07>  {       [               j,               J      ],
  1361.                           [     Ucircumflex,      Udiaeresis      ]       };
  1362.       key <AC08>  {       [               k,               K      ],
  1363.                           [     Icircumflex,      Idiaeresis      ]       };
  1364.       key <AC09>  {       [               l,               L      ],
  1365.                           [     Ocircumflex,      Odiaeresis      ]       };
  1366.       key <AC10>  {       [               m,               M      ],
  1367.                           [       masculine                       ]       };
  1368.       key <AC11>  {       [          ugrave,         percent      ],
  1369.                           [       plusminus,          Ugrave      ]       };
  1370.       key <BKSL>  {       [        asterisk,              mu      ],
  1371.                           [     Greek_OMEGA                       ]       };
  1372.       key <LFSH>  {       [          Shift_L                      ]       };
  1373.       key <LSGT>  {       [           less,          greater      ],
  1374.                           [             bar                       ]       };
  1375.       key <AB01>  {       [               w,               W      ],
  1376.                           [             eth,             ETH      ]       };
  1377.       key <AB02>  {       [               x,               X      ],
  1378.                           [              ae,              AE      ]       };
  1379.       key <AB03>  {       [               c,               C      ],
  1380.                           [            cent                       ]       };
  1381.       key <AB04>  {       [               v,               V      ],
  1382.                           [       copyright                       ]       };
  1383.       key <AB05>  {       [               b,               B      ],
  1384.                           [          ssharp                       ]       };
  1385.       key <AB06>  {       [               n,               N      ],
  1386.                           [         notsign                       ]       };
  1387.       key <AB07>  {       [           comma,        question      ],
  1388.                           [    questiondown                       ]       };
  1389.       key <AB08>  {       [       semicolon,          period      ],
  1390.                           [        multiply                       ]       };
  1391.       key <AB09>  {       [           colon,           slash      ],
  1392.                           [        division                       ]       };
  1393.       key <AB10>  {       [          exclam,         section      ],
  1394.                           [      exclamdown                       ]       };
  1395.       key <RTSH>  {       [         Shift_R                       ]       };
  1396.  
  1397.       key <LCTL>  {       [       Control_L                       ]       };
  1398.   //    key <LALT>        {       [           Alt_L,          Meta_L      ]       };
  1399.       key <SPCE>  {       [           space                       ]       };
  1400.   //    key <RALT>        {       [           Alt_R,          Meta_R      ]       };
  1401.       key <RCTL>  {       [       Control_R                       ]       };
  1402.  
  1403.       key <FK01> {        [        F1             ]       };
  1404.       key <FK02> {        [        F2             ]       };
  1405.       key <FK03> {        [        F3             ]       };
  1406.       key <FK04> {        [        F4             ]       };
  1407.       key <FK05> {        [        F5             ]       };
  1408.       key <FK06> {        [        F6             ]       };
  1409.       key <FK07> {        [        F7             ]       };
  1410.       key <FK08> {        [        F8             ]       };
  1411.       key <FK09> {        [        F9             ]       };
  1412.       key <FK10> {        [        F10            ]       };
  1413.       key <FK11> {        [        F11            ]       };
  1414.       key <FK12> {        [        F12            ]       };
  1415.  
  1416.       key <PRSC> { type= "PC_SYSRQ", symbols[Group1]= [ Print, Execute ] };
  1417.       key <SCLK> {  [  Scroll_Lock        ]       };
  1418.       key <PAUS> { type= "PC_BREAK", symbols[Group1]= [ Pause, Break ] };
  1419.       key  <INS> {  [  Insert             ]       };
  1420.       key <HOME> {        [  Home                 ]       };
  1421.       key <PGUP> {        [  Prior                ]       };
  1422.       key <DELE> { [ Delete               ]                       };
  1423.       key  <END> {        [  End                  ]       };
  1424.       key <PGDN> {        [  Next                 ]       };
  1425.  
  1426.       key   <UP> {        [  Up                   ]       };
  1427.       key <LEFT> {        [  Left                 ]       };
  1428.       key <DOWN> {        [  Down                 ]       };
  1429.       key <RGHT> {        [  Right                ]       };
  1430.  
  1431.       key <NMLK> {        [  Num_Lock, Pointer_EnableKeys         ]       };
  1432.       key <KPDV> {        [  KP_Divide            ]       };
  1433.       key <KPMU> {        [  KP_Multiply          ]       };
  1434.       key <KPSU> {        [  KP_Subtract          ]       };
  1435.  
  1436.       key  <KP7> {        [  KP_Home,     KP_7    ]       };
  1437.       key  <KP8> {        [  KP_Up,       KP_8    ]       };
  1438.       key  <KP9> {        [  KP_Prior,    KP_9    ]       };
  1439.       key <KPAD> {        [       KP_Add          ]       };
  1440.  
  1441.       key  <KP4> {        [  KP_Left,     KP_4    ]       };
  1442.       key  <KP5> {        [  KP_Begin,    KP_5    ]       };
  1443.       key  <KP6> {        [  KP_Right,    KP_6    ]       };
  1444.  
  1445.       key  <KP1> {        [  KP_End,      KP_1    ]       };
  1446.       key  <KP2> {        [  KP_Down,     KP_2    ]       };
  1447.       key  <KP3> {        [  KP_Next,     KP_3    ]       };
  1448.       key <KPEN> {        [       KP_Enter        ]       };
  1449.  
  1450.       key  <KP0> {        [  KP_Insert,   KP_0    ]       };
  1451.       key <KPDL> {  [  KP_Delete, KP_Decimal ]    };
  1452.  
  1453.       modifier_map Shift  { Shift_L       };
  1454.       modifier_map Lock   { Caps_Lock     };
  1455.       modifier_map Control{ Control_L     };
  1456.   //    modifier_map Mod1   { Alt_L, Alt_R, Meta_L, Meta_R };
  1457.   //    modifier_map Mod2   { Num_Lock };
  1458.       modifier_map Mod3   { Mode_switch   };
  1459.   //    modifier_map Mod4   { Meta_L, Meta_R };
  1460.   //    modifier_map Mod5   { Scroll_Lock };
  1461.   };
  1462.  
  1463.   // Touches supplÈmentaires sur un clavier "Windows95"
  1464.  
  1465.   // ≤/≥ (carrÈ/cube) par dÈfaut puisqu'on a mis les guillemets franÁais !
  1466.   //    key <LWIN> {        [      twosuperior, threesuperior        ],
  1467.   //                        [      onesuperior                       ]  };
  1468.   //    key <RWIN> {        [      Mode_switch       ]       };
  1469.   //    key <MENU> {        [      Multi_key         ]       };
  1470.  
  1471.   xkb_symbols "pc101" {
  1472.       key <RALT> { [ Mode_switch,  Multi_key ] };
  1473.       modifier_map Mod3 { Mode_switch };
  1474.   };
  1475.  
  1476.   default
  1477.   xkb_symbols "pc102" {
  1478.       key <RALT> { [ Mode_switch,  Multi_key ] };
  1479.       modifier_map Mod3 { Mode_switch };
  1480.   };
  1481.  
  1482.   xkb_symbols "pc104" {
  1483.       key <RALT> { [ Mode_switch ] };
  1484.       key <LWIN> { [ Meta_L ] };
  1485.       key <RWIN> { [ Multi_key ] };
  1486.       key <MENU> { [ Menu ] };
  1487.       modifier_map Mod3 { Mode_switch };
  1488.   };
  1489.  
  1490.   xkb_symbols "pc105" {
  1491.       key <RALT> { [ Mode_switch ] };
  1492.       key <RWIN> { [ Multi_key ] };
  1493.       modifier_map Mod3 { Mode_switch };
  1494.   };
  1495.  
  1496.   partial alphanumeric_keys
  1497.   xkb_symbols "nodeadkeys" {
  1498.       include "french(basic)"
  1499.       key <AE12> {        [           equal,            plus      ]       };
  1500.       key <AD11> {        [     asciicircum,       diaeresis      ]       };
  1501.       key <AD12> {        [          dollar,        sterling      ]       };
  1502.       key <AB07> {        [           comma,        question      ]       };
  1503.   };
  1504.  
  1505.   Et enfin voici french.map (‡ placer dans /usr/lib/kbd/keytables) :
  1506.  
  1507.   # French keyboard description :
  1508.   #
  1509.   # Copyright (c) July 1997 Guylhem Aznar <guylhem@danmark.linux.eu.org>
  1510.   # Copyright (c) August 1997 Pierre-Charles David <pcdavid@club-internet.fr>
  1511.   #  AjoutÈ : Linefeed, Meta_Control_backslash, Control_backslash, Meta_backslash
  1512.   #
  1513.   #      This program is free software; you can redistribute it and/or
  1514.   #    modify it under the terms of the GNU General Public License version
  1515.   #            2 as published by the Free Software Foundation.
  1516.   #
  1517.   #      This program is distributed in the hope that it will be useful,
  1518.   #      but WITHOUT ANY WARRANTY; without even the implied warranty of
  1519.   #       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1520.   #               GNU General Public License for more details.
  1521.   #
  1522.   #      You should have received a copy of the GNU General Public License
  1523.   #         along with this program; if not, write to the Free Software
  1524.   #          Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  1525.   #
  1526.   # Les dÈfinitions de alt & control (keycode) ne sont qu'optionelles ; n'ont
  1527.   # donc ÈtÈ redÈfinis alt (nombre) et atl + shift (nombre) pour inverser le
  1528.   # comportement par dÈfaut : touche = signe ; touche + shift = nombre, or ici
  1529.   # alt touche = Meta_nombre ; alt + shift touche = Meta_signe
  1530.   #
  1531.   # Shift (pavÈ numÈrique) pour taper de l'hÈxadÈcimal !
  1532.   # control alt suppr : rebooter
  1533.   # control altgr suppr : arrÍter
  1534.   #
  1535.   # ajouter pour ces deux fonction les lignes suivantes ‡ /etc/inittab :
  1536.   # ca:12345:ctrlaltdel:/sbin/shutdown -t1 -r now
  1537.   # kb:12345:kbrequest:/sbin/halt
  1538.  
  1539.   keycode   0 =
  1540.  
  1541.   keycode   1 = Escape
  1542.  
  1543.   keycode   2 = ampersand        one              dead_acute
  1544.           alt     keycode 2 = Meta_one
  1545.           alt     shift   keycode 2 = Meta_ampersand
  1546.  
  1547.   keycode   3 = eacute           two              tilde            Eacute
  1548.           alt     keycode 3 = Meta_two
  1549.           alt     shift   keycode 3 = Meta_asciitilde
  1550.  
  1551.   keycode   4 = quotedbl         three            numbersign
  1552.           alt     keycode 4 = Meta_three
  1553.           alt     shift   keycode 4 = Meta_quotedbl
  1554.  
  1555.   keycode   5 = apostrophe       four             braceleft
  1556.           alt     keycode 5 = Meta_four
  1557.           alt     shift   keycode 5 = Meta_apostrophe
  1558.  
  1559.   keycode   6 = parenleft        five             bracketleft
  1560.           alt     keycode 6 = Meta_five
  1561.           alt     shift   keycode 6 = Meta_parenleft
  1562.  
  1563.   keycode   7 = minus            six              bar              hyphen
  1564.           alt     keycode 7 = Meta_six
  1565.           alt     shift   keycode 7 = Meta_minus
  1566.  
  1567.   keycode   8 = egrave           seven            dead_grave       Egrave
  1568.           alt     keycode 8 = Meta_seven
  1569.           alt     shift   keycode  8 = Meta_grave
  1570.  
  1571.   keycode   9 = underscore       eight            backslash        macron
  1572.           alt     keycode 9 = Meta_eight
  1573.           alt     shift   keycode 9 = Meta_underscore
  1574.  
  1575.   keycode  10 = ccedilla         nine             circumflex       Ccedilla
  1576.           alt     keycode 10 = Meta_nine
  1577.           alt     shift   keycode 10 = Meta_asciicircum
  1578.  
  1579.   keycode  11 = agrave           zero             at               Agrave
  1580.           alt     keycode 11 = Meta_zero
  1581.           alt     shift   keycode 11 = Meta_at
  1582.  
  1583.   keycode  12 = parenright       degree           bracketright
  1584.           alt     keycode 12 = Meta_parenright
  1585.           alt     shift   keycode  12 = Meta_bracketright
  1586.  
  1587.   keycode  13 = equal            plus             braceright
  1588.           alt     keycode 13 = Meta_equal
  1589.           alt     shift   keycode  13 = Meta_plus
  1590.  
  1591.   keycode  14 = Delete           Remove
  1592.           alt     control keycode 14 = Boot
  1593.           altgr   control keycode 14 = KeyboardSignal
  1594.  
  1595.   keycode  15 = Tab
  1596.  
  1597.   keycode  16 = a                A                acircumflex     adiaeresis
  1598.  
  1599.   keycode  17 = z                Z                aring           Aring
  1600.  
  1601.   keycode  18 = e                E                ecircumflex     ediaeresis
  1602.  
  1603.   keycode  19 = r                R                registered
  1604.  
  1605.   keycode  20 = t                T                thorn           THORN
  1606.  
  1607.   keycode  21 = y                Y                yen
  1608.  
  1609.   keycode  22 = u                U                ucircumflex     udiaeresis
  1610.  
  1611.   keycode  23 = i                I                icircumflex     idiaeresis
  1612.  
  1613.   keycode  24 = o                O                ocircumflex     odiaeresis
  1614.  
  1615.   keycode  25 = p                P                paragraph
  1616.  
  1617.   keycode  26 = dead_circumflex  dead_diaeresis   dead_cedilla    dead_tilde
  1618.  
  1619.   keycode  27 = dollar           pound            currency
  1620.  
  1621.   keycode  28 = Return
  1622.           alt     keycode  28 = 0x080d
  1623.           altgr   keycode  26 = Linefeed
  1624.  
  1625.   keycode  29 = Control
  1626.  
  1627.   keycode  30 = q                Q                Acircumflex     Adiaeresis
  1628.  
  1629.   keycode  31 = s                S                oslash          Oslash
  1630.  
  1631.   keycode  32 = d                D                Ecircumflex     Ediaeresis
  1632.  
  1633.   keycode  33 = f                F                ordfeminine
  1634.  
  1635.   keycode  34 = g                G                acute
  1636.  
  1637.   keycode  35 = h                H                periodcentered
  1638.  
  1639.   keycode  36 = j                J                Ucircumflex     Udiaeresis
  1640.  
  1641.   keycode  37 = k                K                Icircumflex     Idiaeresis
  1642.  
  1643.   keycode  38 = l                L                Ocircumflex     Odiaeresis
  1644.  
  1645.   keycode  39 = m                M                masculine
  1646.  
  1647.   keycode  40 = ugrave           percent         plusminus        Ugrave
  1648.           alt     keycode 40 = Meta_semicolon
  1649.  
  1650.   # Mode math
  1651.   #keycode  41 = twosuperior      threesuperior   onesuperior     periodcentered
  1652.   # Mode littÈraire + math
  1653.   keycode  41 = guillemotleft    guillemotright   twosuperior     threesuperior
  1654.  
  1655.   keycode  42 = Shift
  1656.  
  1657.   keycode  43 = asterisk         mu               onehalf
  1658.  
  1659.   keycode  44 = w                W                +eth            +ETH
  1660.  
  1661.   keycode  45 = x                X                +ae             +AE
  1662.  
  1663.   keycode  46 = c                C                cent
  1664.  
  1665.   keycode  47 = v                V                copyright
  1666.  
  1667.   keycode  48 = b                B                ssharp
  1668.  
  1669.   keycode  49 = n                N                notsign
  1670.  
  1671.   keycode  50 = comma            question        questiondown
  1672.  
  1673.   keycode  51 = semicolon        period          multiply
  1674.  
  1675.   keycode  52 = colon            slash           division
  1676.  
  1677.   keycode  53 = exclam           section         exclamdown
  1678.  
  1679.   keycode  54 = Shift
  1680.  
  1681.   keycode  55 = KP_Multiply      Hex_A           Hex_D
  1682.  
  1683.   keycode  56 = Alt
  1684.  
  1685.   keycode  57 = space
  1686.           control keycode  57 = nul
  1687.           alt     keycode  57 = Meta_space
  1688.           altgr   keycode  57 = nobreakspace
  1689.  
  1690.   # TrËs utile pour tous ceux ne disposant pas de leurs deux mains
  1691.   keycode  58 =  CapsShift
  1692.   # Caps_Lock
  1693.   # ou au choix CapsShift ou Caps_On !
  1694.           shift   keycode  58 = Shift_Lock
  1695.           control keycode  58 = Control_Lock
  1696.           alt     keycode  58 = Alt_Lock
  1697.           altgr   keycode  58 = AltGr_Lock
  1698.  
  1699.   keycode  59 = F1               F11              Console_13
  1700.           alt     keycode  59 = Console_1
  1701.           control alt     keycode  59 = Console_1
  1702.  
  1703.   keycode  60 = F2               F12              Console_14
  1704.           alt     keycode  60 = Console_2
  1705.           control alt     keycode  60 = Console_2
  1706.  
  1707.   keycode  61 = F3               F13              Console_15
  1708.           alt     keycode  61 = Console_3
  1709.           control alt     keycode  61 = Console_3
  1710.  
  1711.   keycode  62 = F4               F14              Console_16
  1712.           alt     keycode  62 = Console_4
  1713.           control alt     keycode  62 = Console_4
  1714.  
  1715.   keycode  63 = F5               F15              Console_17
  1716.           alt     keycode  63 = Console_5
  1717.           control alt     keycode  63 = Console_5
  1718.  
  1719.   keycode  64 = F6               F16              Console_18
  1720.           alt     keycode  64 = Console_6
  1721.           control alt     keycode  64 = Console_6
  1722.  
  1723.   keycode  65 = F7               F17              Console_19
  1724.           alt     keycode  65 = Console_7
  1725.           control alt     keycode  65 = Console_7
  1726.  
  1727.   keycode  66 = F8               F18              Console_20
  1728.           alt     keycode  66 = Console_8
  1729.           control alt     keycode  66 = Console_8
  1730.  
  1731.   keycode  67 = F9               F19              Console_21
  1732.           alt     keycode  67 = Console_9
  1733.           control alt     keycode  67 = Console_9
  1734.  
  1735.   keycode  68 = F10              F20              Console_22
  1736.           alt     keycode  68 = Console_10
  1737.           control alt     keycode  68 = Console_10
  1738.  
  1739.   keycode  69 = Num_Lock         Bare_Num_Lock
  1740.  
  1741.   keycode  70 = Scroll_Lock      Show_Memory      Show_Registers  Show_State
  1742.  
  1743.   keycode  71 = KP_7             Hex_7
  1744.           alt     keycode  71 = Ascii_7
  1745.  
  1746.   keycode  72 = KP_8             Hex_8
  1747.           alt     keycode  72 = Ascii_8
  1748.  
  1749.   keycode  73 = KP_9             Hex_9
  1750.           alt     keycode  73 = Ascii_9
  1751.  
  1752.   keycode  74 = KP_Subtract      Hex_B            Hex_E
  1753.           alt     keycode  74 = minus
  1754.  
  1755.   keycode  75 = KP_4             Hex_4
  1756.           alt     keycode  75 = Ascii_4
  1757.  
  1758.   keycode  76 = KP_5             Hex_5
  1759.           alt     keycode  76 = Ascii_5
  1760.  
  1761.   keycode  77 = KP_6             Hex_6
  1762.           alt     keycode  77 = Ascii_6
  1763.  
  1764.   keycode  78 = KP_Add           Hex_C            Hex_F
  1765.           alt     keycode  78 = plus
  1766.  
  1767.   keycode  79 = KP_1             Hex_1
  1768.           alt     keycode  79 = Ascii_1
  1769.  
  1770.   keycode  80 = KP_2             Hex_2
  1771.           alt     keycode  80 = Ascii_2
  1772.  
  1773.   keycode  81 = KP_3             Hex_3
  1774.           alt     keycode  81 = Ascii_3
  1775.  
  1776.   keycode  82 = KP_0             Hex_0
  1777.           alt     keycode  82 = Ascii_0
  1778.  
  1779.   keycode  83 = KP_Period         KP_Comma
  1780.           altgr   control keycode  83 = KeyboardSignal
  1781.           control alt     keycode  83 = Boot
  1782.  
  1783.   # SysReq = Alt+Print Screen = 84
  1784.   keycode  84 = Last_Console
  1785.  
  1786.   keycode  85 =
  1787.  
  1788.   keycode  86 = less             greater          bar             brokenbar
  1789.  
  1790.   keycode  87 = F11              F11              Console_23
  1791.           alt     keycode  87 = Console_11
  1792.           control alt     keycode  87 = Console_11
  1793.  
  1794.   keycode  88 = F12              F12              Console_24
  1795.           alt     keycode  88 = Console_12
  1796.           control alt     keycode  88 = Console_12
  1797.  
  1798.   keycode  89 =
  1799.  
  1800.   keycode  90 =
  1801.  
  1802.   keycode  91 =
  1803.  
  1804.   keycode  92 =
  1805.  
  1806.   keycode  93 =
  1807.  
  1808.   keycode  94 =
  1809.  
  1810.   keycode  95 =
  1811.  
  1812.   keycode  96 = KP_Enter
  1813.  
  1814.   keycode  97 = Control
  1815.  
  1816.   keycode  98 = KP_Divide
  1817.  
  1818.   # Print Screen
  1819.   keycode  99 = Control_backslash
  1820.           control keycode  99 = Control_backslash
  1821.           alt     keycode  99 = Control_backslash
  1822.  
  1823.   keycode 100 = AltGr
  1824.           alt     keycode 100 = Compose
  1825.  
  1826.   # Ctrl+Pause = Break = 101
  1827.   keycode 101 = Break
  1828.  
  1829.   keycode 102 = Home
  1830.  
  1831.   keycode 103 = Up
  1832.  
  1833.   keycode 104 = PageUp
  1834.           shift   keycode 104 = Scroll_Backward
  1835.  
  1836.   keycode 105 = Left
  1837.           alt     keycode 105 = Decr_Console
  1838.  
  1839.   keycode 106 = Right
  1840.           alt     keycode 106 = Incr_Console
  1841.  
  1842.   keycode 107 = End
  1843.  
  1844.   keycode 108 = Down
  1845.           alt     keycode 108 = Last_Console
  1846.  
  1847.   # PageDown == Next
  1848.   keycode 109 = PageDown
  1849.           shift   keycode 109 = Scroll_Forward
  1850.  
  1851.   keycode 110 = Insert
  1852.  
  1853.   keycode 111 = BackSpace       BackSpace      SAK
  1854.           alt     keycode 111 = Meta_backslash
  1855.           control keycode 111 = Control_backslash
  1856.  
  1857.   keycode 112 = Macro
  1858.  
  1859.   keycode 113 = F13
  1860.  
  1861.   keycode 114 = F14
  1862.  
  1863.   keycode 115 = Help
  1864.  
  1865.   keycode 116 = Do
  1866.  
  1867.   keycode 117 = F17
  1868.  
  1869.   keycode 118 = KP_MinPlus
  1870.  
  1871.   keycode 119 = Pause
  1872.  
  1873.   keycode 120 =
  1874.  
  1875.   keycode 121 =
  1876.  
  1877.   keycode 122 =
  1878.  
  1879.   keycode 123 =
  1880.  
  1881.   keycode 124 =
  1882.  
  1883.   # FenÍtre gauche = Alt puisque d'habitude c'est la position d'Alt !
  1884.   keycode 125 = Alt
  1885.  
  1886.   # FenÍtre droite = AltGr puisque d'habitude c'est la position d'AltGr !
  1887.   keycode 126 = AltGr
  1888.  
  1889.   # Menu = compose (mÈlanger des signes et des lettres ex : (compose) ' e = È
  1890.   keycode 127 = Compose
  1891.  
  1892.   string F1 = "\033[[A"
  1893.   string F2 = "\033[[B"
  1894.   string F3 = "\033[[C"
  1895.   string F4 = "\033[[D"
  1896.   string F5 = "\033[[E"
  1897.   string F6 = "\033[17~"
  1898.   string F7 = "\033[18~"
  1899.   string F8 = "\033[19~"
  1900.   string F9 = "\033[20~"
  1901.   string F10 = "\033[21~"
  1902.   string F11 = "\033[23~"
  1903.   string F12 = "\033[24~"
  1904.   string F13 = "\033[25~"
  1905.   string F14 = "\033[26~"
  1906.   string F15 = "\033[28~"
  1907.   string F16 = "\033[29~"
  1908.   string F17 = "\033[31~"
  1909.   string F18 = "\033[32~"
  1910.   string F19 = "\033[33~"
  1911.   string F20 = "\033[34~"
  1912.   string F21 = ""
  1913.   string F22 = ""
  1914.   string F23 = ""
  1915.   string F24 = ""
  1916.   string F25 = ""
  1917.   string F26 = ""
  1918.   string Home = "\033[1~"
  1919.   string Insert = "\033[2~"
  1920.   string Remove = "\033[3~"
  1921.   string End = "\033[4~"
  1922.   string PageUp = "\033[5~"
  1923.   string PageDown = "\033[6~"
  1924.   string Macro = "\033[M"
  1925.   string Pause = "\033[P"
  1926.  
  1927.   compose '`' 'A' to '¿'
  1928.   compose '`' 'a' to '‡'
  1929.   compose '\'' 'A' to '¡'
  1930.   compose '\'' 'a' to '·'
  1931.   compose '^' 'A' to '¬'
  1932.   compose '^' 'a' to '‚'
  1933.   compose '~' 'A' to '√'
  1934.   compose '~' 'a' to '„'
  1935.   compose '"' 'A' to 'ƒ'
  1936.   compose '"' 'a' to '‰'
  1937.   compose 'O' 'A' to '≈'
  1938.   compose 'o' 'a' to 'Â'
  1939.   compose '0' 'A' to '≈'
  1940.   compose '0' 'a' to 'Â'
  1941.   compose 'A' 'A' to '≈'
  1942.   compose 'a' 'a' to 'Â'
  1943.   compose 'A' 'E' to 'Δ'
  1944.   compose 'a' 'e' to 'Ê'
  1945.   compose ',' 'C' to '«'
  1946.   compose ',' 'c' to 'Á'
  1947.   compose '`' 'E' to '»'
  1948.   compose '`' 'e' to 'Ë'
  1949.   compose '\'' 'E' to '…'
  1950.   compose '\'' 'e' to 'È'
  1951.   compose '^' 'e' to 'Í'
  1952.   compose '"' 'E' to 'À'
  1953.   compose '"' 'e' to 'Î'
  1954.   compose '`' 'I' to 'Ã'
  1955.   compose '`' 'i' to 'Ï'
  1956.   compose '\'' 'I' to 'Õ'
  1957.   compose '\'' 'i' to 'Ì'
  1958.   compose '^' 'I' to 'Œ'
  1959.   compose '^' 'i' to 'Ó'
  1960.   compose '"' 'I' to 'œ'
  1961.   compose '"' 'i' to 'Ô'
  1962.   compose '-' 'D' to '–'
  1963.   compose '~' 'N' to '—'
  1964.   compose '~' 'n' to 'Ò'
  1965.   compose '`' 'O' to '“'
  1966.   compose '`' 'o' to 'Ú'
  1967.   compose '\'' 'O' to '”'
  1968.   compose '\'' 'o' to 'Û'
  1969.   compose '^' 'O' to '‘'
  1970.   compose '^' 'o' to 'Ù'
  1971.   compose '~' 'O' to '’'
  1972.   compose '~' 'o' to 'ı'
  1973.   compose '"' 'O' to '÷'
  1974.   compose '"' 'o' to 'ˆ'
  1975.   compose '/' 'O' to 'ÿ'
  1976.   compose '/' 'o' to '¯'
  1977.   compose '`' 'U' to 'Ÿ'
  1978.   compose '`' 'u' to '˘'
  1979.   compose '\'' 'U' to '⁄'
  1980.   compose '\'' 'u' to '˙'
  1981.   compose '^' 'u' to '˚'
  1982.   compose '"' 'U' to '‹'
  1983.   compose '"' 'u' to '¸'
  1984.   compose '\'' 'Y' to '›'
  1985.   compose '\'' 'y' to '˝'
  1986.   compose 's' 's' to 'fl'
  1987.   compose 's' 'z' to 'fl'
  1988.   # si quelqu'un veut bien y inclure des ´composeª pour les autres caractËres
  1989.   # latin1 comme les guillemets franÁais, le copyright (...) qu'il me les envoie !
  1990.  
  1991.