Penguin
Diff: HowToFrancophonesHOWTO
EditPageHistoryDiffInfoLikePages

Differences between current version and predecessor to the previous major change of HowToFrancophonesHOWTO.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 4 Last edited on Tuesday, October 26, 2004 10:12:50 am by AristotlePagaltzis
Older page: version 3 Last edited on Wednesday, August 27, 2003 9:57:39 pm by JohnMcPherson Revert
@@ -1,5003 +1 @@
-  
-Le Francophones-HOWTO : Linux & la langue française  
-  
-  
-  
-----  
-  
-!!!Le Francophones-HOWTO : Linux & la langue française  
-  
-!!Écrit par Guylhem Aznar, <guylhem(à)metalab.unc.edu>v3.2.2 ; Décembre 2001  
-  
-  
-----  
-''Copyright (c) 1997, 1998, 1999, Guylhem Aznar ; librement  
-distribuable selon les termes du GNU Free Documentation License,  
-http://www.fsf.org/licenses/fdl.html.  
-Toutes les marques citées appartiennent à leurs propriétaires  
-respectifs.''  
-----  
-  
-  
-  
-  
-!!1. Présentation  
-  
-  
-*1.1 Introduction  
-  
-*1.2 Fichiers utilisés dans ce HOWTO  
-  
-*1.3 Les Français ne sont pas les seuls francophones !  
-  
-*1.4 Attention  
-  
-  
-  
-  
-  
-!!2. Les problèmes  
-  
-  
-*2.1 Présentation  
-  
-*2.2 Solutions  
-  
-*2.3 Aider  
-  
-  
-  
-  
-  
-!!3. Le vocabulaire : petit lexique  
-  
-  
-*3.1 8 bits  
-  
-*3.2 La police de caractères  
-  
-*3.3 Les polices de caractères  
-  
-*3.4 Table de clavier  
-  
-*3.5 « Home », « End », « Page_Up » et « Page_Down »  
-  
-*3.6 Touches mortes  
-  
-*3.7 « !BackSpace » et « Delete »  
-  
-*3.8 « UTC » et « GMT »  
-  
-  
-  
-  
-  
-!!4. Réglage du clavier sous Linux  
-  
-  
-*4.1 Introduction  
-  
-*4.2 Attention au stty !  
-  
-*4.3 Faire de ces modifications les défauts au démarrage  
-  
-*4.4 Polices de caractère  
-  
-*4.5 Vieilles versions  
-  
-*4.6 Améliorations spécifiques au clavier français latin9  
-  
-*4.7 Pour les autres claviers latin9  
-  
-*4.8 Dans tous les cas  
-  
-  
-  
-  
-  
-!!5. XFree  
-  
-  
-*5.1 Introduction  
-  
-*5.2 Mal programmer  
-  
-*5.3 Le clavier en pratique  
-  
-*5.4 « latin9 » ou « latin1 » ?  
-  
-*5.5 Table de correspondances  
-  
-*5.6 Les polices ISO 8859-15 latin 9 sous X  
-  
-  
-  
-  
-  
-!!6. Réglage du clavier pour les applications en mode texte  
-  
-  
-*6.1 Tout d'abord  
-  
-*6.2 Une police, des polices...  
-  
-*6.3 Les locales, messages en Français  
-  
-*6.4 Son linux en français  
-  
-*6.5 Les variables  
-  
-*6.6 Les caractères 8 bits dans les programmes utilisant readline tels bash ou ncftp...  
-  
-*6.7 zsh  
-  
-*6.8 tcsh  
-  
-*6.9 Pour tous les shells  
-  
-*6.10 L'heure  
-  
-*6.11 vi  
-  
-*6.12 Emacs  
-  
-*6.13 less  
-  
-*6.14 ls  
-  
-*6.15 flex  
-  
-*6.16 elm  
-  
-*6.17 col  
-  
-*6.18 rlogin  
-  
-*6.19 joe  
-  
-*6.20 TeX et LaTeX  
-  
-*6.21 Manuel  
-  
-*6.22 Correcteur orthographique ispell  
-  
-*6.23 Les claviers 105 touches  
-  
-*6.24 PGP  
-  
-*6.25 Impression en mode ascii  
-  
-*6.26 Unicode/latin/cp... je n'ai pas compris ce dernier paragraphe !  
-  
-*6.27 ncurses  
-  
-*6.28 Perl  
-  
-*6.29 Installer les locales  
-  
-*6.30 Kernel  
-  
-*6.31 Lilo  
-  
-*6.32 Groff (man)  
-  
-*6.33 Divers  
-  
-  
-  
-  
-  
-!!7. Réglage du clavier pour les applications X  
-  
-  
-*7.1 Les xterminaux (xterm, nxterm, rxvt...)  
-  
-*7.2 Les applications Motif  
-  
-*7.3 Le manuel  
-  
-*7.4 !NumLock  
-  
-*7.5 XDM  
-  
-  
-  
-  
-  
-!!8. Remerciements  
-----  
-  
-!!1. Présentation  
-  
-  
-  
-  
-  
-  
-  
-!!1.1 Introduction  
-  
-  
-  
-  
-  
-  
-Ce document a été rédigé pour aider à configurer un ordinateur doté du  
-système d'exploitation Linux pour des utilisateurs francophones.  
-  
-  
-Il y est expliqué par exemple comment configurer périphériques et  
-applications afin de prendre en compte les particularités et les  
-spécificités de notre langue...  
-  
-  
-Toutefois, ce document ne traite pas de l'installation du système  
-d'exploitation Linux ; il est implicitement supposé que vous ayez  
-correctement installé une distribution de Linux, !RedHat, Debian ou  
-Suse, cette liste n'étant pas exhaustive, et que vous vous  
-apprêtiez maintenant à mieux la configurer ; veuillez donc vous  
-référer à d'autres HOWTOs pour l'installation.  
-  
-  
-Les adresses électroniques ont été volontairement supprimées ou  
-modifiées en remplaçant les « a enroulés » par des « (à) » afin d'éviter  
-les publipostages très gênants.  
-  
-  
-Si quelque terme employé vous semble un peu obscur, je vous invite à  
-vous reporter au lexique (« Vocabulaire : un petit lexique »),  
-expliquant certains mots tels 8 bits, AZERTY ou QWERTY, qui sont  
-employés tout au long de ce document.  
-  
-  
-  
-  
-!!1.2 Fichiers utilisés dans ce HOWTO  
-  
-  
-  
-  
-  
-  
-Tous les fichiers cités dans ce HOWTO, sont disponibles sous licence GPL  
-sur  
-ma page  
-  
-Je vous recommande de télécharger tous ces fichiers pour les utiliser  
-selon les exemples proposés.  
-  
-  
-  
-  
-!!1.3 Les Français ne sont pas les seuls francophones !  
-  
-  
-  
-  
-  
-  
-  
-  
-!a) Différentes versions  
-  
-  
-  
-  
-  
-Pour chaque manipulation dépendant du pays concerné, un certain nombre  
-de versions peuvent être proposées :  
-  
-  
-  
-  
-  
-*une canadienne normalisée (cn)  
-*  
-  
-*une belge wallonne (be)  
-*  
-  
-*une française (fr)  
-*  
-  
-*une québécoise (qc)  
-*  
-  
-*une suisse romande (sf)  
-*  
-  
-*une états-unienne internationale (usx)  
-*  
-  
-  
-  
-  
-  
-!b) Les états-uniens : raccourcis claviers  
-  
-  
-  
-  
-  
-La version états-unienne internationale permet à tous  
-les francophones utilisant un clavier « 7 bits » aussi nommé  
-« QWERTY » de bénéficier de l'étendue des caractères 8 bits.  
-  
-  
-Est disponible aussi une version pour ceux qui utilisent un  
-clavier « Happy Hacking ».  
-  
-  
-  
-  
-!c) Le Luxembourg : comme la France  
-  
-  
-  
-  
-  
-Le Grand Duché du Luxembourg utilisant les conventions françaises,  
-j'invite les lecteurs luxembourgeois à se reporter aux exemples  
-français.  
-  
-  
-  
-  
-!d) Le Canada : 3 claviers  
-  
-  
-  
-  
-  
-Il est classique de parler des claviers « canadien international »,  
-surtout destinés aux anglophones (qui leur préfèrent toutefois les claviers  
-QWERTY standard) et les claviers « canadien français », aux lettres  
-accentuées.  
-  
-  
-Mais, de nouveaux claviers dits « canadiens normalisés » ont fait leur  
-apparition récemment pour fusionner les modèles « canadien international  
-», non concerné par le cadre du Francophones HOWTO, et « canadien français ».  
-  
-  
-Ces nouveaux claviers répondent aux normes CAN/CSA Z243.200-92 et ISO  
-9995-7 ; ils sont prévus pour être utilisés dans n'importe quelle  
-langue, en remplaçant par exemple les intitulés des touches par des  
-pictogrammes : « Del », en anglais, qui se traduisait par « Suppr » en  
-français devient ainsi trois barres obliques fines orientées  
-sud-ouest/nord-est.  
-  
-  
-Plus d'explications sont disponibles sur le  
-site de l'Office de la Langue Française.  
-  
-  
-Toutefois je n'ai pas pu réussir à me procurer un tel clavier ; mes  
-fichiers de configuration sont donc uniquement basés sur les  
-(  
-illustrations) et les normes  
-théoriques, et non les normes pratiques.  
-  
-  
-Par exemple, si j'ai compris que la touche « Control » de droite est  
-utilisée comme une « !AltGr » mais sert à obtenir encore d'autres  
-caractères, je n'ai aucune idée du comportement de ces touches lorsque  
-seule l'autre a une sérigraphie prévue...  
-  
-  
-Si on peut m'envoyer un tel clavier, et surtout son pilote, je promets  
-de mettre les fichiers de configuration à jour :-)  
-  
-  
-  
-  
-!!1.4 Attention  
-  
-  
-  
-  
-  
-  
-  
-  
-!a) ROOT  
-  
-  
-  
-  
-  
-Certaines manipulations recommandées par ce document ne peuvent  
-être effectuées que sous le compte privilégié « root » ; la plus grande  
-prudence est alors de rigueur car toute action inadéquate peut mettre en  
-péril le contenu des disques.  
-  
-  
-Sauvegarder les fichiers existants, par exemple en les copiant sous le  
-même nom suivi du préfixe .old, avant de les modifier ou remplacer.  
-  
-  
-  
-  
-!b) CHERCHER  
-  
-  
-  
-  
-  
-Le paquetage GNU nommé "find" offre un programme appelé  
-locate, grâce auquel l'utilisateur peut retrouver le nom complet,  
-chemin de répertoires, d'un fichier dont il ne connaît que le nom.  
-  
-  
-Certaines distributions Linux fournissent cela en /usr/bin/locate.  
-  
-  
-En tant que root, lancer updatedb invoque un  
-find / sur les disques montés et place les noms de tous  
-les fichiers sous forme hash dans /usr/lib/locate/find.codes (ou  
-/var/lib/slocate/slocate.db pour slocate, utilisé dans les distributions  
-modernes.)  
-  
-  
-locate permet ensuite de localiser l'un d'eux :  
-  
-  
-  
-  
-  
-(guylhem@victis:guylhem)$ locate noms_des_fichiers_à_retrouver  
-  
-  
-  
-  
-  
-----  
-  
-!!2. Les problèmes  
-  
-  
-  
-  
-  
-  
-  
-!!2.1 Présentation  
-  
-  
-  
-  
-  
-  
-Le problème de tout utilisateur francophone après l'installation de  
-Linux est de lui faire comprendre qu'il utilise des normes différentes  
-des standards par défaut états-uniens..  
-  
-  
-Cela a des conséquences sur :  
-  
-  
-  
-  
-  
-* la police de caractères donc les caractères spéciaux que l'on utilise,  
-accentués comme É È À Ç ou bien ligaturés  
-comme Æ , voire « e dans l'o » qui vient d'apparaître sous Linux grâce à  
-la norme ISO-8859-15 aussi nommée latin-9  
-*  
-  
-* la correspondance entre la sérigraphie des cabochons ou « touches » du clavier sur lesquelles vous appuyez, et les codes que Linux renvoie, celui-ci  
-supposant un clavier QWERTY états-unien par défaut  
-*  
-  
-* le format de page pris en charge par les programmes que vous utilisez  
-pour imprimer, différent entre les États-Unis; (14×8,5 pouces  
-pour du papier dit légal) et l'Europe (29,7×21 cm pour des feuilles a4)  
-*  
-  
-* le format des dates et de l'heure, la position des jours et des  
-mois étant variable selon les régions de la francophonie  
-*  
-  
-* le format de la monnaie, aussi variable selon les francophones  
-*  
-  
-* la langue utilisée pour les messages d'erreur  
-*  
-  
-  
-  
-  
-  
-!!2.2 Solutions  
-  
-  
-  
-  
-  
-  
-Tout est préconfiguré pour un états-unien : bien que ceux-ci ne  
-représentent pas la majorité de la population mondiale, ils ont été  
-précurseurs en informatique.  
-  
-  
-Il faut donc se faire reconnaître comme une « exception » par les  
-différents programmes, par des options ou des variables à exporter voire  
-dans les pires des cas une modification du code source suivie d'une  
-recompilation.  
-  
-  
-Heureusement, la philosophie GNU de Linux rend le système très ouvert  
-à des modifications de toutes sortes et comme vous allez le découvrir au  
-fil de ce document, et il est assez simple d'obtenir un résultat très  
-correct.  
-  
-  
-  
-  
-!!2.3 Aider  
-  
-  
-  
-  
-  
-  
-Pour le moment, le futur de l'internationalisation de Linux porte sur la  
-traduction des messages d'erreur, des programmes comme KDE ou GNOME,  
-des pages de manuel et de la documentation, alors si vous vous sentez  
-l'âme d'un traducteur, n'hésitez pas à contacter l'équipe de  
-traduction des HOWTOs ; pour cela, adressez-vous à Éric Dumas  
-<dumas(à)freenix.fr> ou <dumas(à)linux.eu.org>.  
-  
-  
-  
-----  
-  
-!!3. Le vocabulaire : petit lexique  
-  
-  
-  
-  
-  
-Tout d'abord, un mot sur le vocabulaire employé :  
-  
-  
-  
-  
-!!3.1 8 bits  
-  
-  
-  
-  
-  
-  
-Des caractères sont dits « 8 bits » s'ils correspondent à des accents ou  
-à des signes spéciaux comme « § », non inclus dans le standard  
-ASCII « 7 bits ».  
-  
-  
-Ce standard, sans accents ni caractères spéciaux, correspond aux 128  
-(2^7) premiers caractères des 256 (2^8), de 0 à 255.  
-  
-  
-Pour des raisons historiques (place disponible, inutilité pour les états  
-uniens) seuls les 128 (2^7) premiers caractères ont été normalisés par  
-l'ASCII : par exemple le A qui est le 65e caractère de la table ASCII  
-s'écrit 0100 0001 en notation binaire.  
-  
-  
-Pour les caractères situés hors de la norme ASCII, différentes « normes  
-» ou « standards » incompatibles, comme l'Unicode, l'iso-8859, le latin,  
-le cp (...) fixent ces correspondances.  
-  
-  
-Par exemple, dans le standard ASCII étendu par l'iso-8859-1, le 224ème  
-caractère équivalent noté « eb » en hexadécimal correspond à « ë ».  
-  
-  
-  
-  
-!!3.2 La police de caractères  
-  
-  
-  
-  
-  
-  
-Une police de caractères est une correspondance entre des codes  
-informatiques et des caractères (alphanumériques...) affichables par  
-l'ordinateur.  
-  
-  
-La police de caractères est l'ensemble des représentations graphiques des  
-caractères d'un standard.  
-  
-  
-  
-  
-!!3.3 Les polices de caractères  
-  
-  
-  
-  
-  
-  
-Il existe plusieurs polices de caractères 8 bits pouvant répondre au  
-besoins des francophones.  
-  
-  
-Je vous recommande de lire à ce sujet l'excellent site de Roman Czyborra  
-qui a fait une thèse sur ce sujet et qui vous donnera une  
-explication fort détaillée  
-  
-Pour résumer, il est nécessaire de choisir une police de caractères pour  
-que tous les caractères français soient disponibles.  
-  
-  
-Voici la liste des polices dites « ISO 8859 », mais attention, il existe  
-leurs équivalents en « code page » pour windows (comme cp1252).  
-  
-  
-  
-  
-  
-* ISO 8859-1 : latin 1 : langues d'Europe de l'ouest, Afrikaans,  
-Swahili.  
-Le Swahili, n'utilise aucun caractère accentué (comme l'Anglais, le  
-Malais et l'Indonésien), donc n'importe quel version fait l'affaire.  
-Pour l'Afrikaans, je ne sais plus exactement quel était le choix initial  
-(c'est-à-dire où avait été rangé le 'n au départ), mais il ne me semble  
-pas que ce soit dans Latin 1.  
-Dans la pratique, bien sûr, les Afrikaaner utilisent Latin 1 ; la même  
-chose se passe pour un certain nombre des cas qui suivent.  
-  
-*  
-  
-* ISO 8859-2 : latin 2 : langues d'Europe centrale et orientale.  
-Dans les faits : Polonais, Tchèque, Slovaque, Slovène, Croate, Hongrois,  
-Roumain, probablement aussi le Sorbe ou Sorabe (Wende en allemand).  
-Officiellement, je crois que l'Albanais s'écrit aussi en Latin-2, mais  
-comme dans les faits c'est identique au Latin 1...  
-Il y a un problème pour le Roumain, car le Latin 2 contient formellement  
-les caractères avec une cédille, quand en roumain on utilise une virgule  
-souscrite.  
-  
-*  
-  
-* ISO 8859-3 : latin 3 : Espéranto et Maltais.  
-Initialement, c'était prévu pour les langues d'Europe du Sud, y compris  
-le Turc, les langues d'Espagne (donc Catalan, Basque), le Français.  
-Mais dans la pratique, c'est limité à ces deux langues.  
-  
-*  
-  
-* ISO 8859-4 : latin 4 : langues baltes (incomplet).  
-Pas utilisé dans la pratique, remplacé par Latin 7 (iso-8859-13), ou  
-plutôt en pratique la codepage 1257 Windows.  
-Pour l'Este ou Estonien, on peut aussi utiliser Latin 9.  
-  
-*  
-  
-* ISO 8859-9 : latin 5 (comme latin 1, moins l'Islandais, plus le  
-Turc).  
-Usage : le Turc et peut-être l'Azéri, mais il manque le schwa, un « e »  
-renversé.  
-Codage officiel aux Pays-Bas du fait des Turcs qui y habitent.  
-  
-*  
-  
-* ISO 8859-10 : latin 6 : langues nordiques, sauf le Lapon Skolt.  
-Pas utilisé dans la pratique : ne servirait que pour les langues sames  
-(ou lapones), mais il manque des caractères, et le public concerné est  
-de toute manière assez limité.  
-  
-*  
-  
-* ISO 8859-11 : Thai.  
-Pas encore officiellement adopté.  
-  
-*  
-  
-* ISO 8859-12 : Indien (n'existe pas encore).  
-Prévu pour le devanagari, pour écrire l'Hindi, la langue principale de  
-l'Inde, et aussi un grand nombre d'autres langues indiennes, dont le  
-Sanskrit.  
-  
-*  
-  
-* ISO 8859-13 : latin 7 : langues baltes.  
-Plus exactement : couvre les langues du pourtour de la mer Baltique,  
-donc aussi le Polonais, l'Allemand et les langues de scandinavie.  
-Mais dans la pratique il est réduit en utilisation aux langues baltes  
-et à l'Este ou Estonien.  
-  
-*  
-  
-* ISO 8859-14 : latin 8 : langues celtes.  
-Pour le Breton, le Gaélique et les dialectes parlées au Pays de Galles  
-et en Irlande.  
-  
-*  
-  
-* ISO 8859-15 : latin 9 : comme latin 1, en y comblant quelques  
-manques.  
-Pour le Français, le Finnois (en concurrence avec Latin 1) et l'Este ou  
-Estonien (en concurrence avec Latin 7).  
-*  
-  
-  
-  
-De cette longue liste, il convient de ne retenir que :  
-  
-  
-  
-  
-  
-*ISO 8859-1 latin 1 : police ouest-européenne utilisée par la  
-majorité des systèmes UNIX, elle permet de disposer de tous les  
-caractères Français sauf les « o e liés », l'euro et l'y tréma majuscule  
-*  
-  
-*cp850 : équivalent sous DOS de cette police, mais incompatible :  
-il faut utiliser un outil de traduction de fichiers tel GNU recode.  
-*  
-  
-*ISO 8859-15 latin 9 : police de l'union européenne, il s'agit  
-d'une version révisée de l'ISO 8859-1 latin 1 pour inclure tous les  
-caractères des pays européens ; ainsi on y retrouve les caractères  
-Français manquant, l'euro, et des caractères finlandais manquants.  
-*  
-  
-*latin 0 : l'ISO 8859-15 latin 9 est souvent incorrectement  
-abrégée en latin0, qui correspondait au nom du projet, de par  
-son ambition à remplacer le latin 1 un jour. Je vous renvoie au  
-site de l'ISO et à la  
-documentation complète de ce standard  
-*  
-  
-*cp1252 : équivalent sous Windows de cette police, aussi  
-incompatible, qui apporte les mêmes caractères manquants, du fait d'une  
-révision récente de cette norme.  
-*  
-  
-*ISO 8859-9 latin 5 : police officielle en Turquie et en Hollande,  
-où les caractères Islandais peu utilisés ont été remplacés par les  
-caractères turcs.  
-*  
-  
-*cp1254 : équivalent sous Windows de cette police, aussi  
-incompatible, qui apporte les caractères manquant au Français  
-précédemment cités et remplace les caractères Islandais peu utilisés par  
-les caractères turcs.  
-*  
-  
-  
-  
-Les choix de polices de caractères sont souvent des questions ou la  
-raison se heurte aux habitudes.  
-  
-  
-Pour ma part, si vous hésitez, je vous recommande l'ISO 8859-15 latin 9,  
-pour diverses raisons :  
-  
-  
-  
-  
-  
-*Il supporte l'intégralité des caractères utilisés en Français de  
-manière standard sur les UNIX, pour les échanges de fichiers entre  
-Solaris et Linux par exemple  
-*  
-  
-*Il s'agit de la police 8 bits choisie par l'union européenne si  
-l'Unicode, évolution du 8 bits, n'est pas disponible  
-*  
-  
-*Il permet d'écrire des textes avec l'intégralité des  
-caractères utilisés dans l'union  
-*  
-  
-*Il est en train de devenir le nouveau standard dans la  
-messagerie électronique au sens large, supplantant progressivement l'ISO  
-8859-1 latin 1  
-*  
-  
-  
-  
-Le Francophones HOWTO utilise donc le latin 9 dans tous les exemples, car il y  
-a de grandes chances que votre système ne soit pas encore compatible  
-latin 9... autant donc vous proposer des manipulations et des travaux  
-pratiques utiles :-)  
-  
-  
-Toutefois, si vous ne pouvez utiliser l'ISO 8859-15 latin 9 et  
-décidez d'en choisir une autre, je vous recommande d'éviter les cp  
-propres au monde DOS/Windows et de vous rabattre sur l'ISO  
-8859-1 latin 1 qui est encore un standard fort répandu : dans chaque  
-exemple je vous invite alors à remplacer les « latin9 » par des « latin1 »  
-  
-  
-  
-  
-!!3.4 Table de clavier  
-  
-  
-  
-  
-  
-  
-Une table de clavier est un fichier permettant de faire correspondre  
-l'empreinte physique des cabochons, « touches » du clavier, au résultat  
-obtenu sur l'écran de l'ordinateur.  
-  
-  
-Pour linux, ces fichiers sont dans /usr/lib/kbd/keytables/ ou  
-/usr/share/kbd/keytables/  
-  
-  
-Par exemple, les claviers français AZERTY ont une table de clavier  
-différente des claviers suisse romands QWERTZ, ou des claviers du reste  
-du monde, QWERTY.  
-  
-  
-Cela ne concerne que l'apparence du clavier, l'empreinte des cabochons,  
-donc disposition relative des caractères sur le clavier, et non son  
-électronique interne ; si votre clavier ne vous convient pas, il vous  
-suffit donc d'utiliser des autocollants pour le transformer en un autre  
-clavier francophone.  
-  
-  
-  
-  
-!!3.5 « Home », « End », « Page_Up » et « Page_Down »  
-  
-  
-  
-  
-  
-  
-Les touches « Home », « End », « Page_Up » et « Page_Down » dont les noms  
-varient selon les claviers sont les touches permettant respectivement  
-d'aller en début/fin de ligne et de monter/descendre d'une page.  
-  
-  
-Les codes affectes à ces touches sont respectivement 102 et 107 pour «  
-Home » et « End » en mode terminal.  
-  
-  
-Dans les pictogrammes des claviers ISO 9995-7, ces touches sont  
-représentés par des flèches aux traits appuyés.  
-  
-  
-Lorsqu'on presse une touche, le clavier émet un code, qui est  
-intercepté par la table de clavier.  
-  
-  
-La table de clavier, si elle reconnait le code, renvoie la chaine  
-associée à la touche, en l'occurence« "\e [[4 » pour « End ».  
-  
-  
-Lorsque bash ou un autre programme reçoit cette chaine, il ne la connait  
-pas !  
-  
-  
-Donc il faut lui dire, dans le .inputrc que "\e[[4 " signifie "aller à la  
-fin de la ligne"  
-  
-  
-Donc pour que ces touches fonctionnent dans le shell bash, on ajoutera  
-donc dans le fichier .inputrc (dans votre / ou dans /etc/inputrc) les  
-lignes:  
-  
-  
-  
-  
-  
-set meta-flag on  
-set convert-meta off  
-set input-meta on  
-set output-meta on  
-set bell-style visible  
-"\e[[1~":beginning-of-line  
-"\e[[3~":delete-char  
-"\e[[4~":end-of-line  
-"\e\C-h": backward-kill-word  
-"\e\e[[3~": kill-word  
-  
-  
-  
-  
-Les premières lignes permettent d'afficher les caractères 8 bits, et de  
-remplacer le « bip » en cas d'erreur par un éclair blanc à l'écran.  
-  
-  
-  
-  
-!!3.6 Touches mortes  
-  
-  
-  
-  
-  
-  
-Les touches mortes sont des touches qui ne produisent pas de caractères  
-en elles-mêmes, mais qui modifient la façon dont la frappe suivante va  
-être interprétée, par exemple, le tréma ou l'accent circonflexe sont en  
-général des touches mortes.  
-  
-  
-Une touche morte est une touche qui doit donc être suivie d'un espace  
-pour obtenir l'accent seul, ou dans le cas où elle est suivie d'une  
-voyelle y positionne un accent, par exemple :  
-  
-  
-  
-  
-  
-« ^ » puis « e » donne « ê »  
-« ^ » puis « espace » donne « ^ »  
-  
-  
-  
-  
-Les touches mortes sont :  
-  
-  
-* be et fr: l'accent aigu en !AltGr de 1 pour les Français et en  
-!AltGr de ù pour les Belges, l'accent grave en !AltGr de 7 pour les  
-français & en !AltGr de carré/cube pour les Belges, le tréma et  
-l'accent circonflexe tous deux à côté du P  
-*  
-  
-* sf et usx: les accent aigus, graves, circonflexes, les  
-trémas et la tilde  
-*  
-  
-* qc: les accent graves, circonflexes, les trémas et la cédille  
-*  
-  
-  
-  
-  
-  
-!!3.7 « !BackSpace » et « Delete »  
-  
-  
-  
-  
-  
-  
-En raison d'une erreur volontaire et historique sous Linux, pour  
-« émuler » le fonctionnement d'un clavier de console VT, ces 2 touches  
-sont fréquemments mélangées, au mieux fonctionnant à l'identique, au  
-pire ne fonctionnant pas du tout.  
-  
-  
-Commençons donc par bien les définir :  
-  
-  
-  
-  
-  
-*!BackSpace : touche placée en haut à droite du pavé principal, au  
-dessus d' « Entrée », au cabochon marqué d'une flèche vers la gauche.  
-*  
-  
-*Delete : touche du pavé curseur au cabochon marqué « Suppr » ou  
-« Del », à gauche de « Fin » ; en ISO 9995-7 elle correspond à trois  
-barres obliques fines orientées sud-ouest/nord-est.  
-*  
-  
-  
-  
-Le pavé numérique offre une touche au marquage identique et à effet  
-identique lorsque « Verr Num » ou « Num Lock » est désactivé.  
-  
-  
-Ces deux touches correspondent chacune à un de ces codes :  
-  
-  
-  
-  
-  
-*BS : caractère ASCII 0x08, ou control-h.  
-*  
-  
-*DEL : caractère ASCII 0x7F, ou control-?  
-*  
-  
-*^D : caractère ASCII 0x04, ou control-d.  
-*  
-  
-  
-  
-Ceci dans le but d'effacer à gauche du curseur avec !BackSpace, à droite du  
-curseur avec Delete.  
-  
-  
-  
-  
-!!3.8 « UTC » et « GMT »  
-  
-  
-  
-  
-  
-  
-Chaque partie du monde a sa propre norme horaire, basée sur des  
-fuseaux.  
-  
-  
-La France se trouve en zone MET, « heure moyenne européenne » soit GMT+1 ;  
-la zone « MET DST » correspond à l'heure d'été activée soit GMT+2.  
-  
-  
-  
-  
-  
-*GMT est l'heure solaire moyenne de Greenwich. L'heure est comptée à  
-partir de midi et est donc décalée de 12 h par rapport au temps  
-universel. GMT est basée sur la rotation de la terre, ce n'est donc pas  
-un temps régulier. En effet, la vitesse de rotation de la Terre subit  
-des variations faibles mais assez chaotiques, en plus elle diminue sur  
-le long terme.  
-  
-*  
-  
-*UTC, « temps universel coordonné », est compté à partir de  
-minuit toujours par rapport au méridien zéro. Il est  
-basé sur des étalons atomiques, mais des secondes intercalaires  
-sont ajoutées occasionnellement pour faire en sorte qu'il ne  
-s'écarte jamais de plus de une seconde de l'heure solaire moyenne.  
-Le site de l'opdaf et  
-le lexique donnent plus de  
-renseignements.  
-*  
-  
-  
-  
-C'est le temps UTC, défini à Paris, qui sert de référence aux  
-différentes heures légales.  
-  
-  
-L'acronyme « GMT » est employé 99% du temps pour  
-désigner UTC, mais c'est une erreur ou un abus de langage.  
-  
-  
-Enfin, à titre purement indicatif, il existe l'heure astronomique, aussi  
-comptée sur des étalons atomiques mais décalée de 4 minutes par jour de  
-l'heure terrestre car se basant sur la position de la terre dans  
-l'espace par rapport aux étoiles.  
-  
-  
-  
-----  
-  
-!!4. Réglage du clavier sous Linux  
-  
-  
-  
-  
-  
-  
-  
-!!4.1 Introduction  
-  
-  
-  
-  
-  
-  
-Il existe deux programmes pour configurer votre clavier : un pour la console :  
-loadkeys et un pour XFree : xkbd.  
-  
-  
-Pour installer un clavier français sous Linux, tapez selon votre clavier  
-une des lignes suivantes :  
-  
-  
-  
-  
-  
-loadkeys tables-clavier/fr/fr-latin9.map  
-loadkeys tables-clavier/qc/qc-latin1.map  
-loadkeys tables-clavier/cn/cn-latin1.map  
-loadkeys tables-clavier/be/be-latin9.map  
-loadkeys tables-clavier/sf/sf-latin1.map  
-loadkeys tables-clavier/usx/usx-latin1.map  
-loadkeys tables-clavier/usx/usx-happy-hacking-latin9.map  
-  
-  
-  
-  
-  
-  
-!!4.2 Attention au stty !  
-  
-  
-  
-  
-  
-  
-Avec les tables latin 9 recommandées dans ce HOWTO, pour linux-console  
-aussi bien que pour X window, N'UTILISEZ PLUS :  
-  
-  
-  
-  
-  
-stty erase ^H  
-  
-  
-  
-  
-ou :  
-  
-  
-  
-  
-  
-stty erase ^?  
-  
-  
-  
-  
-« stty erase » ne sert en effet qu'à établir une correspondance  
-entre le code que renvoie une touche et la fonction erase pour  
-effacer le caractère.  
-  
-  
-Les tables ici fournies fonctionnent correctement et ne nécessitent donc  
-pas de stty erase qui risquerait surtout de perturber leur bon  
-fonctionnement !  
-  
-  
-Supprimez-donc ces lignes de vos fichiers d'initialisation de l'interpréteur de  
-commandes « shell », comme .bashrc, .bash_profile ou .tcshrc .  
-  
-  
-  
-  
-!!4.3 Faire de ces modifications les défauts au démarrage  
-  
-  
-  
-  
-  
-  
-D'habitude, loadkeys est exécuté par des scripts au  
-démarrage ; par exemple dans /etc/rc.d/init.d/keytable ou  
-/etc/rc.d/rc.local, init.d/keytable ou rc.keymap.  
-  
-  
-La commande :  
-  
-  
-  
-  
-  
-find /etc/rc.d -type f | xargs grep loadkeys  
-  
-  
-  
-  
-vous fournira le nom exact du fichier lançant loadkeys ; il vous  
-suffit alors de l'éditer pour que vos modifications soient  
-désormais prise en en compte à chaque démarrage.  
-  
-  
-Les distributions !RedHat et Debian constituent des exceptions : la table  
-de clavier par défaut étant définie dans  
-/etc/sysconfig/keyboard pour la !RedHat et  
-/etc/kbd/config pour les Debian.  
-  
-  
-Remplacer donc dans le fichier propre à votre distribution la table de  
-clavier en question par la bonne table comme fr-latin9.map (selon votre  
-modèle de clavier)  
-  
-  
-Vous devrez mettre une copie de la table que vous utilisez dans  
-le répertoire où votre distribution va chercher les tables de clavier ;  
-en général /usr/lib/kbd/keymaps/i386/azerty/ pour une !RedHat et  
-/usr/share/kbd/keymaps/i386/azerty/ pour une Debian.  
-  
-  
-Allez donc sur télechargez  
-l'archive,  
-enregistrez-la dans votre répertoire /, puis détarrez-la avec la  
-commande:  
-  
-  
-  
-  
-  
-tar -xzvf francophones-howto.tgz  
-  
-  
-  
-  
-Cela crée un répertoire /french : placez-vous dans ce répertoire  
-puis tapez :  
-  
-  
-  
-  
-  
-cp tables-clavier/linux-console/fr-latin9.map /usr/lib/kbd/keytables/i386/azerty/  
-  
-  
-  
-  
-Pour afficher les caractères latin9, vous devrez exécuter les  
-instructions de la section « polices de caractère ».  
-  
-  
-  
-  
-!!4.4 Polices de caractère  
-  
-  
-  
-  
-  
-  
-Si vous utilisez console-tools-1998.08.11.tar.gz, vous pourrez remplacer  
-« setfont » par « consolechars » : ces programmes servent à charger une  
-police sous linux console.  
-  
-  
-  
-  
-  
-setfont /usr/lib/kbd/consolefonts/xxxE-NN.psf.gz  
-  
-  
-  
-  
-Je vous conseille pour des raisons développées plus bas :  
-  
-  
-  
-  
-  
-setfont /usr/lib/kbd/consolefonts/lat9-16u.psf.gz  
-  
-  
-  
-  
-Je ne vous conseille pas les fichiers « lat1 », qui ne supportent pas  
-l'euro ni les autres caractères français.  
-  
-  
-Vous trouverez aussi des fichiers « .uni » qui ne sont utiles que pour  
-créer des polices ou pour ceux qui utilisent l'unicode : ils fixent des  
-correspondances entre les « dessins » des caractères dans la police et  
-les codes des dits caractères, un même dessin pouvant correspondre à  
-plusieurs codes dans l'example de d'unicode.  
-  
-  
-Pour les polices toutes faites, vous pouvez forcer cette correspondace  
-avec l'option « -u fichier.uni ».  
-  
-  
-Si vous tenez à les installer, copiez de la même manière tous les  
-fichiers commençant par « lat9 » et se terminant par « .uni » dans le  
-répertoire /usr/lib/kbd/consoletrans avec la commande:  
-  
-  
-  
-  
-  
-cp lat9*.uni /usr/lib/kbd/consoletrans  
-  
-  
-  
-  
-D'habitude, setfont est exécuté par des scripts au démarrage ; par  
-exemple dans /etc/rc.d/init.d/keytable ou  
-/etc/rc.d/rc.local, init.d/keytable ou  
-rc.keymap.  
-  
-  
-La commande :  
-  
-  
-  
-  
-  
-find /etc/rc.d -type f | xargs grep setfont  
-  
-  
-  
-  
-vous fournira sur le nom exact du fichier lançant setfont ; il vous  
-suffit alors de l'éditer pour que vos modifications soient  
-désormais prise en en compte à chaque démarrage...  
-  
-  
-Les distributions !RedHat et Debian constituent des exceptions : la  
-police par défaut étant définie dans /etc/sysconfig/i18n  
-pour la !RedHat et /etc/kbd/config pour les Debian.  
-  
-  
-Dans /etc/sysconfig/i18n rajouter une ligne de la forme :  
-  
-  
-  
-  
-  
-SYSFONT=xxxE-NN.psf  
-  
-  
-  
-  
-  
-  
-  
-* xxx représente le type de police ; il doit s'agir d'une lat  
-pour les francophones ce qui signifie ISO 8859 ou latin.  
-Sans cela il n'y a plus de caractères « étendus » comme les voyelles  
-accentués, symboles de ponctuation comme paragraphe...  
-*  
-  
-* E représente l'encodage latin, par exemple 1 pour latin1, 0 ou 9  
-pour latin9  
-*  
-  
-* NNN représente la taille individuelle de chaque caractère ; 08  
-est presque illisible mais 16 est un peu gros... À régler selon  
-les goûts de chacun.  
-*  
-  
-  
-  
-Je vous conseille la police lat9-16u.psf ou son équivalent lat0-16.psf  
-installée par défaut sur la plupart des distributions, très souvent  
-compressée donc avec le suffixe « .gz » .  
-  
-  
-[[ rajouter une explication sur comment installer la police ]  
-  
-  
-La section « une police, des polices » vous donnera plus de détails sur  
-les polices disponibles.  
-  
-  
-  
-  
-!!4.5 Vieilles versions  
-  
-  
-  
-  
-  
-  
-Si lors du chargement de la table de clavier vous rencontrez un message  
-d'erreur similaire au suivant :  
-  
-  
-  
-  
-  
-(guylhem@victis:guylhem)$ loadkeys fr-latin9.map  
-Loading /usr/lib/kbd/keytables/fr-latin9.map  
-unknown keysym 'dead_cedilla'  
-/usr/lib/kbd/keytables/fr-latin9.map:67: parse error  
-syntax error in map file  
-key bindings not changed  
-  
-  
-  
-  
-Cela signifie que votre version de kbd dont le programme loadkeys  
-dépend est trop vieille : il faut vous procurer une version plus  
-récente du programme.  
-  
-  
-Il existait et existe encore des versions des tables de clavier pour ceux ne  
-voulant ni touches mortes ni accents, mais celles-ci tombent actuellement en  
-désuétude puisque la grande majorité des programmes prennent désormais  
-en charge ces fameuses touches mortes et les caractères accentués.  
-  
-  
-De plus, les tables fournies avec ce HOWTO permettent de se servir des  
-touches mortes ou de s'en passer si un programme les refuse, les deux  
-cas ayant été prévus :  
-  
-  
-  
-  
-!!4.6 Améliorations spécifiques au clavier français latin9  
-  
-  
-  
-  
-  
-  
-Ça y est, vous pouvez taper du texte latin 9 sous Linux en mode console !  
-  
-  
-Seules 2 touches ont été modifiées :  
-  
-  
-  
-  
-!a) carré/cube  
-  
-  
-Elle sert maintenant à oe/OE liés ; en !AltGr on y trouve les guillemets  
-français.  
-  
-  
-Le carré & le cube restent respectivement accessibles en !AltGr (ù) et Alt  
-Gr(*), les guillemets étant aussi directement accessibles avec !AltGr (w)  
-et !AltGr (x), selon la norme ISO 9995 part 3 appliquée à la norme AZERTY  
-française.  
-  
-  
-En résumé :  
-  
-  
-* !AltGr (oe) : «  
-*  
-  
-* !AltGr + Shift (oe) : »  
-*  
-  
-* !AltGr (w) : «  
-*  
-  
-* !AltGr (x) : »  
-*  
-  
-* !AltGr (m) : ¹  
-*  
-  
-* !AltGr (ù) : ²  
-*  
-  
-* !AltGr (*) : ³  
-*  
-  
-  
-  
-  
-  
-!b) dollar / livre / symbole monétaire international  
-  
-  
-  
-  
-  
-Étant donné que le symbole monétaire international n'est plus disponible  
-dans la norme d'encodage ISO 8859-15, il a été remplacé par la division  
-centésimale de l'euro : le cent, disponible donc en !AltGr ($).  
-  
-  
-Dans les précédentes versions, le dollar & la livre, des monnaies  
-étrangères, avaient été déplacés pour laisser la place à l'euro et au  
-cent, notre monnaie.  
-  
-  
-De telles modifications étaient permises par les recommandations  
-officielles de l'EURO WORKSHOP mais allaient à l'encontre de la norme  
-AZERTY : si la position !AltGr (e) est déjà occupée sur un clavier, la  
-position de l'euro est laissée au libre choix des programmeurs.  
-  
-  
-!AltGr (e) sert à faire « ê » depuis 1992 sous Linux, mais devant les  
-protestations légitimes d'utilisateurs disposant d'un clavier où l'euro  
-est sérigraphié en !AltGr (e), j'ai du déplacer le ê en !AltGr + Shift  
-($).  
-  
-  
-Désolé d'avoir rompu la « tradition » linuxienne pour conserver la  
-compatibilité à la norme AZERTY & aux recommandations officielles de  
-l'EURO WORKSHOP !  
-  
-  
-En résumé :  
-  
-  
-  
-  
-  
-* !AltGr (e) : euro  
-*  
-  
-* !AltGr ($) : cent  
-*  
-  
-* !AltGr + Shift ($) : ê  
-*  
-  
-  
-  
-  
-  
-!!4.7 Pour les autres claviers latin9  
-  
-  
-  
-  
-  
-  
-L'euro & les cents ont été rajoutés respectivement en !AltGr (e) & en  
-!AltGr (c).  
-  
-  
-La touche !AltGr a donc été rajoutée ; pour utiliser ces  
-fonctions avec toute table de clavier, il suffit de charger  
-other-latin9.map après votre table nationale.  
-  
-  
-La plupart des améliorations du clavier français ont été transposées aux  
-claviers nationaux par des auteurs externes.  
-  
-  
-Toutefois, je ne possède pas chaque modèle de clavier et ne peut  
-expliquer en détail toutes ces modifications ; des sections spécifiques  
-seront donc rajoutées par la suite par d'autres auteurs.  
-  
-  
-  
-  
-!!4.8 Dans tous les cas  
-  
-  
-  
-  
-  
-  
-« Home », « End », « Delete » et « !BackSpace » ont été corrigées & les  
-touches « Windows » ont été correctement définies, pour passer d'une  
-console virtuelle à l'autre.  
-  
-  
-Des « Composes », séquences à préfixer par la touche compose ( «  
-!ImprÉcran » ou « Print Screen » par défaut) ont été rajoutées, mais cela  
-reste transparent pour l'utilisateur.  
-  
-  
-Par exemple:  
-  
-  
-* COMPOSE ^ suivi d'une des lettres (s,S,z,Z) sert à obtenir les lettres finlandaises rajoutées  
-*  
-  
-* COMPOSE " suivi d'une des lettres (y,Y) sert à obtenir les y trémas franco-néerlandais rajoutés  
-*  
-  
-* COMPOSE - suivi d'une des lettres (e,c,l,y) sert à obtenir l'euro, le cent, la livre, le yen  
-*  
-  
-  
-  
-  
-----  
-  
-!!5. XFree  
-  
-  
-  
-  
-  
-  
-  
-!!5.1 Introduction  
-  
-  
-  
-  
-  
-  
-Il y a quelques années, « xmodmap » servait à changer les tables de  
-clavier sous XFree, un fichier de configuration d'ordinaire nommé  
-/usr/X11/lib/X11/xinit/.Xmodmap étant pris en charge grâce à votre  
-.xinitrc ou /etc/X11/xinit/xinitrc  
-  
-  
-Pour convertir une table console correcte, on utilisait « mk_modmap » livré avec  
-l'archive kbd et généralement installé en /usr/lib/kbd/keytables  
-  
-  
-Les utilisateurs désirant personnaliser leur table xmodmap employaient le  
-programme « xkeycaps ».  
-  
-  
-Puis XFree 2.1 et les version ultérieures ont reconnu la disposition des  
-touches du clavier gérée par « loadkeys », rendant théoriquement  
-xmodmap inutile.  
-  
-  
-Mais la gestion de la touche « COMPOSE » assurée par XFree 3.1 laissait  
-un peu à désirer, la table héritée de « loadkeys » ne servant guère.  
-  
-  
-Il fallait donc continuer à employer xmodmap, l'utilitaire logiciel standard  
-permettant d'obliger le serveur X à associer les événements souris/clavier à  
-des caractères.  
-  
-  
-Sous XFree version 3.2 et postérieures, « xkb » rendit xmodmap définitivement  
-obsolète.  
-  
-  
-Mais ne voilà-t-il pas les rumeurs qui voulaient que les prochaines versions  
-de XFree ne supporte plus les touches mortes se sont confirmées !!!  
-  
-  
-Dans la distribution X11 du X Consortium, donc XFree86, qui en est  
-directement issu, il n'existe plus de mécanisme général de gestion des  
-touches mortes, ou des solutions approximatives obligeant à supprimer  
-aussi xkb ou modifier des bibliothèques de programmes !  
-  
-  
-  
-  
-!!5.2 Mal programmer  
-  
-  
-  
-  
-  
-  
-À chaque programme de bien gérer les touches mortes au lieu de faire  
-confiance à X pour cette tâche.  
-  
-  
-En réalité, il n'est pas compliqué de gérer des touches mortes, il suffit  
-d'utiliser la bonne fonction, !XmbLookupString() dans les programmes  
-Motif, au lieu de XLookupString().  
-  
-  
-  
-  
-!!5.3 Le clavier en pratique  
-  
-  
-  
-  
-  
-  
-Quelle histoire compliquée !  
-  
-  
-De ce fait, elles ne fonctionnent que pour les clients X  
-« internationalisés », c'est-à-dire qui gèrent eux-mêmes les problèmes  
-liés aux méthodes d'entrée de données des différentes langues  
-nationales.  
-  
-  
-Ceci est très gênant lorsqu'on veut pouvoir saisir du texte  
-comportant des lettres accentuées, alors que le client utilisé  
-n'est pas internationalisé !  
-  
-  
-  
-  
-!a) Solution utilisant xmodmap  
-  
-  
-  
-  
-  
-Taper :  
-  
-  
-  
-  
-  
-cp fr-latin9.xmod /usr/X11R6/lib/X11/xinit/Xmodmap  
-cp fr-latin9.xmod ~/.Xmodmap  
-  
-  
-  
-  
-  
-  
-!b) Solution utilisant xkb (recommandée)  
-  
-  
-  
-  
-  
-Taper :  
-  
-  
-  
-  
-  
-cp fr-latin9 /usr/X11R6/lib/X11/xkb/symbols  
-  
-  
-  
-  
-Puis éditer votre XF86Config pour y rajouter dans la section « Keyboard  
-» les lignes xkb idoines :  
-  
-  
-  
-  
-  
-Section "Keyboard"  
-Protocol "Standard"  
-!AutoRepeat 500 30  
-!LeftAlt Meta  
-!RightAlt !ModeShift # Important pour Alt-gr, mais dans les  
-# versions récentes de XFree, !AltGr et  
-# !RightAlt sont synonymes.  
-!ScrollLock Compose # Pour faire des caractères spéciaux.  
-# Utiliser sinon une des 3 touches des  
-# nouveaux claviers 105 touches...  
-!RightCtl Control # Garder la touche normale  
-!XkbKeycodes "xfree86"  
-!XkbRules "xfree86"  
-!XkbTypes "default"  
-!XkbCompat "default"  
-!XkbSymbols "fr-latin9(pc105)"  
-!XkbGeometry "pc(pc105)"  
-!XkbModel "pc105"  
-!EndSection  
-  
-  
-  
-  
-Pour cette partie Xkb, certains préfèrent :  
-  
-  
-!XkbKeymap "xfree86(fr-latin9)"  
-!XkbKeycodes "xfree86"  
-!XkbSymbols "en_US(pc101)+fr-latin9"  
-!XkbGeometry "pc(pc101)"  
-  
-  
-  
-  
-Bien sur, remplacer « fr » par « cn », « be », « ch » ou « usx » selon  
-votre clavier...  
-  
-  
-  
-  
-!c) Solution du compose  
-  
-  
-  
-  
-  
-Une autre méthode pour obtenir des caractères 8 bits :  
-  
-  
-Dans /usr/X11R6/lib/X11/locale/iso8859-1/Compose se trouve une  
-table de « correspondance » entre deux caractères et un résultat ; les  
-deux caractères sont «mélangés» lors de l'appui sur la touche Compose :  
-par exemple;  
-  
-  
-COMPOSE suivi de « e » puis « ^ »  
-  
-  
-  
-  
-a toutes les chances de vous donner ê, y compris dans l'ordre opposé («  
-^ » puis « e »)  
-  
-  
-Mais pour utiliser la touche Compose, vous devez l'affecter à une touche !  
-  
-  
-Le paramétrage préconisé, réglé dans XF86Config, la fait correspondre à  
-la touche « Arrêt Défil » inutile sous X, par la commande :  
-  
-  
-  
-  
-  
-!ScrollLock Compose  
-  
-  
-  
-  
-dans la section Keyboard.  
-  
-  
-Attention, sous Linux en mode console, cette touche est utile (pour  
-bloquer temporairement la console virtuelle) et c'est « Impr Écran » ou  
-« Print Screen » qui, ne servant à rien, est affectée à « Compose ».  
-  
-  
-  
-  
-!d) Solution modifiant la libX11  
-  
-  
-  
-  
-  
-Thomas Quinot <Thomas.Quinot(à)cuivre.fdn.fr> vous propose donc sa  
-libX11 modifiée, qui gère les touches mortes de  
-manière transparente pour tous les clients.  
-  
-  
-Elle permet également de traiter les séquences composées  
-inconnues comme des paires de caractères, par exemple :  
-  
-  
-  
-  
-  
-~ + / = ~/  
-  
-  
-  
-  
-Pour l'utiliser :  
-  
-  
-*Récupérez libX11-XF3.3.1.tar.gz ;  
-*  
-  
-*Extrayez le fichier libX11.so.6.1 ;  
-*  
-  
-*Placez-le dans /usr/X11R6/lib/ ;  
-*  
-  
-*Exécutez ldconfig ;  
-*  
-  
-*Désactivez l'extension XKB en utilisant l'option  
-!XkbDisable dans la section Keyboard de votre  
-XF86Config.  
-*  
-  
-  
-  
-  
-  
-!e) Est-ce nécessaire ?  
-  
-  
-  
-  
-  
-Personnellement, je vous recommande de ne pas toucher à la libX11,  
-d'oublier xmodmap et de l'alternative xkb + fichiers latin9 en  
-attendant un autre changement de la politique du X Consortium envers  
-les touches mortes (ou en rajoutant les options d'internationalisation  
-au code source de vos programmes.)  
-  
-  
-Actuellement, si vous n'avez pas de répertoire  
-/usr/X11R6/lib/X11/xkb/symbols/ cela signifie que vous  
-n'utilisez pas xkb : procurez-vous donc une version plus récente de X  
-window !  
-  
-  
-Sans xkb, XFree se rabattra par défaut sur votre configuration de  
-clavier pour Linux avec loadkeys.  
-  
-  
-Toutefois, la translation n'est pas parfaite et je vous recommanderais  
-plutôt d'éviter cette option, aussi bien que l'ancien gestionnaire de  
-clavier Xmodmap.  
-  
-  
-Il se peut aussi que sans aucune commande pour xkb, XFree vous considère  
-comme utilisateur d'un clavier 7 bits !  
-  
-  
-Il convient donc d'utiliser une table adaptée avec xkb.  
-  
-  
-  
-  
-!!5.4 « latin9 » ou « latin1 » ?  
-  
-  
-  
-  
-  
-  
-Je vous conseille de choisir les tables latin9 que je maintiens à  
-jour, plus récentes que les versions latin1, permettant d'utiliser  
-de multiples améliorations, détaillées dans la section clavier sous  
-linux-console, pour disposer du plus de confort possible  
-et plus adaptées car maintenu par des francophones.  
-  
-  
-Les nombreuses améliorations dont elles bénéficient permettent de  
-pallier au déficiences de nombreux programmes.  
-  
-  
-Par exemple, certains programmes en Motif comme Netscape (tm) ne savent  
-pas encore gérer les touches mortes ... donc impossible de taper par  
-exemple des ê ou des î sur les claviers des Belges et Français, puisque  
-la touche morte « accent circonflexe » est le seul moyen d'obtenir ces  
-caractères !  
-  
-  
-« fr-latin9 » répond à ce problème en proposant une solution de  
-remplacement : !AltGr (voyelle) permet d'obtenir la voyelle avec un  
-accent grave, !AltGr+Shift (voyelle) permet d'obtenir la voyelle avec un  
-tréma !  
-  
-  
-  
-  
-!!5.5 Table de correspondances  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-* !AltGr (voyelle) : voyelle accent grave  
-*  
-  
-* !AltGr + Shift (voyelle) : voyelle tréma  
-*  
-  
-* !AltGr (touche au dessous de la voyelle) : voyelle majuscule accent grave  
-*  
-  
-* !AltGr + Shift (touche au dessous de la voyelle) : voyelle majuscule  
-tréma  
-*  
-  
-* !AltGr + Shift (minuscule accentuée) : majuscule accentuée  
-*  
-  
-  
-  
-Par exemple :  
-  
-  
-  
-  
-  
-* !AltGr (a) : â  
-*  
-  
-* !AltGr (q) : Â  
-*  
-  
-* !AltGr + Shift (ù) : Ù  
-*  
-  
-  
-  
-L'astuce marche aussi pour le c cédille :  
-  
-  
-  
-  
-  
-* !AltGr + Shift (ç) : Ç  
-*  
-  
-  
-  
-Donc même dans les pires conditions, si aucune touche morte ne  
-fonctionne, on peut quand même accéder à toutes les  
-voyelles accentuées, majuscules et minuscules !  
-  
-  
-Vous y trouverez en plus les guillemets français (« »), les symboles  
-employés en physique (szlig, å, delta, phi ...), des signes  
-de monnaies (yen, cent) ou de copyright (tm, (c)) ainsi que des  
-lettres d'autres langues (Ø, Æ ...).  
-  
-  
-Tous ces signes s'obtiennent grâce à !AltGr (lettre), par exemple  
-!AltGr (b) donne szlig, !AltGr (r) donne tm, !AltGr (y) donne yen...  
-  
-  
-Pour vous rapeller simplement de tout celà, tapez par exemple :  
-  
-  
-  
-  
-  
-more /usr/lib/kbd/keytables/i386/azerty/fr-latin9.map  
-  
-  
-  
-  
-Pour ce qui est du choix entre latin1 et latin9... à vous de voir !  
-  
-  
-Un conseil : essayez l'un puis l'autre si vous avez le temps.  
-  
-  
-  
-  
-!!5.6 Les polices ISO 8859-15 latin 9 sous X  
-  
-  
-  
-  
-  
-  
-Il est bien d'avoir une table de clavier compatible latin 9, mais sans  
-police adaptée jamais vous ne verrez les caractères rajoutés dans cette  
-norme.  
-  
-  
-Il faut donc utiliser l'utilitaire de conversion « bdftopcf » qui en  
-quelque sorte permet de compiler les polices de caractères fournies.  
-  
-  
-Placez-vous dans le répertoire de l'archive que vous avez récupéré puis  
-sous root, taper par exemple pour Xlat9-10x20.bdf ou un autre bdf :  
-  
-  
-  
-  
-  
-bdftopcf Xlat9-10x20.bdf > Xlat9-10x20-lat9.pcf  
-gzip Xlat9-10x20-lat9.pcf  
-mv Xlat9-10x20-lat9.pcf.gz /usr/X11R6/lib/X11/fonts/misc  
-mkfontdir /usr/X11R6/lib/X11/fonts/misc  
-  
-  
-  
-  
-Celà crée un fichier « Xlat9-10x20-lat9.pcf » qu'il faut compresser avec  
-gzip, on obtient alors le fichier « Xlat9-10x20-lat9.pcf.gz » qui doit  
-être mis dans le répertoire adéquat, pour lequel l'index des polices de  
-caractères sera mis à jour.  
-  
-  
-Alors, ajoutez la table de composition latin9 aux compositions par  
-défaut de X, spécifiques à l'iso 8859-1 :  
-  
-  
-  
-  
-  
-cat XCompose-lat9 >> /usr/X11R6/lib/X11/locale/iso8859-1/Compose  
-  
-  
-  
-  
-Nous faisons un cat vers l'ISO 8859-1, car X ne reconnaît pas l'ISO  
-8859-15 latin9.  
-  
-  
-De là, redémarrer X ou taper sous son compte d'utilisateur normal :  
-  
-  
-  
-  
-  
-xset +fp /usr/X11R6/lib/X11/fonts/misc  
-  
-  
-  
-  
-Si vous utilisez xmodmap, lancez :  
-  
-  
-  
-  
-  
-xmodmap ~/.Xmodmap  
-  
-  
-  
-  
-Pour choisir les polices latin9, lancer xfontsel et chercher les  
-encodages iso8859-15.  
-  
-  
-Ou plus simplement, taper :  
-  
-  
-  
-  
-  
-grep Xlat9-10x20.pcf /usr/X11R6/lib/X11/fonts/misc/*  
-  
-  
-  
-  
-Puis utiliser le second paramètre comme nom de police, par exemple avec  
-rxvt, xiterm, aterm ou wterm:  
-  
-  
-  
-  
-  
-aterm -fn -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-15  
-  
-  
-  
-  
-Cela lance un terminal X utilisant une des polices latin9.  
-  
-  
-  
-----  
-  
-!!6. Réglage du clavier pour les applications en mode texte  
-  
-  
-  
-  
-  
-  
-  
-!!6.1 Tout d'abord  
-  
-  
-  
-  
-  
-  
-Le huitième bit doit survivre à l'entrée du noyau,  
-assurez-vous-en donc avec :  
-  
-  
-  
-  
-  
-stty cs8 -istrip -parenb  
-  
-  
-  
-  
-Ensuite, il convient de s'assurer que l'application est apte à supporter  
-les caractères 8 bits : par exemple, ispell n'est pas compilé  
-pour des caractères 8 bits par défaut : il faut le recompiler  
-sans l'option :  
-  
-  
-  
-  
-  
--NO8BIT  
-  
-  
-  
-  
-  
-  
-!!6.2 Une police, des polices...  
-  
-  
-  
-  
-  
-  
-Avant d'aborder cette section, je vous conseille de lire l'introduction  
-sur les polices pour appréhender un peu mieux le vocabulaire de base et  
-les différentes normes de polices.  
-  
-  
-  
-  
-!a) Historique des polices  
-  
-  
-  
-  
-  
-De l'ASCII à l'Unicode, en passant par l'ISO 8859, le latin et le cp, on  
-peut résumer l'histoire des polices en grandes étapes :  
-  
-  
-Au début était l'ASCII, qui codait ses caractères sur 7 bits.  
-  
-  
-Prévu pour des états-uniens, il était impossible d'incorporer des  
-caractères accentués à la norme déjà présente de 127 caractères.  
-  
-  
-Ainsi vint le 8 bits qui étendit le nombre de caractères à 255 et les  
-normes ISO 8859, latin et cp, pour les plus connues, qui vinrent pallier  
-à cette déficience du fait des 128 positions supplémentaires disponibles  
-en encodant les caractères sur 8 bits.  
-  
-  
-Mais plusieurs de ces normes étaient nécessaire du fait de  
-l'impossibilité de faire tenir les caractères de toutes les langues du  
-monde sur 8 bits.  
-  
-  
-La norme ISO 8859-1 latin 1, la plus utilisée, se destine par exemple au  
-langues d'Europe de l'ouest, du nord, d'Amérique, la norme ISO 8859-2  
-latin 2 est prévue pour l'Europe de l'est...  
-  
-  
-L'Unicode est l'un de ces standard, destiné à terme à remplacer les  
-différentes évolutions de l'ASCII ; comme le passage du 7 bits au 8 bits  
-il correspond à une extension de la place disponible, tout en reprenant  
-l'ancienne partie comme ASCII et ISO 8859-1 latin 1 pour rester  
-compatible avec la majorité du parc installé.  
-  
-  
-L'Unicode offre l'avantage de proposer les caractères nécessaires à  
-toutes les langues du monde, mais reste encore peu utilisé ou  
-implémenté.  
-  
-  
-En effet, il est impossible de l'utiliser en pratique sous  
-linux-console, la mémoire exigüe de la carte vidéo ne permettant pas de  
-stocker tous les caractères de l'Unicode, et sous X la gestion actuelle  
-des polices rendrait son utilisation trop inconfortable.  
-  
-  
-Attendons un peu que les polices « True Type » se répandent sous X, grâce  
-à des outils comme freetype, xfstt (...) et le très attendu XFree 4 qui  
-devrait les supporter en natif.  
-  
-  
-Actuellement, la nouvelle norme européenne ISO 8859-15 latin 9 est  
-censée permettre la transition vers l'Unicode en apportant à l'ancien  
-ISO 8859-1 latin 1 les caractères qu'il manquait actuellement.  
-  
-  
-Toutefois elle est partiellement incompatible avec l'Unicode puisque  
-l'ISO 8859-1 latin 1 avait été choisi comme base pour l'Unicode, mais  
-que cette police veut compléter les failles de l'ISO 8859-1 latin 1 en y  
-rajoutant des caractères déjà présents dans l'Unicode...  
-  
-  
-Quelle complexité pour de simple lettres !  
-  
-  
-  
-  
-!b) ISO 8859-15 latin 9  
-  
-  
-  
-  
-  
-De nous jours, il vaut mieux installer par défaut la nouvelle norme ISO  
-8859-15 latin 9, destinée à remplacer l'ensemble des polices européennes  
-par une seule.  
-  
-  
-Son but est voisin de l'Unicode, mais elle a l'avantage d'être plus légère que  
-celui-ci et d'être applicable tout de suite.  
-  
-  
-Elle apporte notamment des caractères qui manquaient beaucoup pour les  
-Français et les Finlandais :  
-  
-  
-  
-  
-  
-* « e dans l'o » en majuscule et minuscule pour les Français, par  
-exemple pour les mots oeuf, coeur, boeuf, oeil ...  
-*  
-  
-* « s chapeau inversé » en majuscule et minuscule pour les Finlandais  
-*  
-  
-* « z chapeau inversé » en majuscule et minuscule pour les Finlandais  
-*  
-  
-* « l'EURO » pour tous les pays européens  
-*  
-  
-  
-  
-Cette nouvelle norme, ISO 8859-15 latin 9 aussi connue sous le nom générique  
-latin0, reste cependant encore très peu répandue par rapport à la norme  
-actuelle ISO 8859-1 latin 1.  
-  
-  
-  
-  
-!c) Utiliser les polices ISO 8859-15 latin 9  
-  
-  
-  
-  
-  
-Vous n'avez besoin que d'une seule police !  
-  
-  
-Or il en existe plusieurs types répondant différemment à la même norme  
-iso-8859-15 latin9 « latin0 » sous linux :  
-  
-  
-* par tradition l'opposition latN/latNu selon l'inclusion ou non d'une  
-table de correspondance Unicode.  
-*  
-  
-* en réalité les différences vont bien plus loin, de l'ordre dans  
-lequel sont les caractères de la police, ce qui joue sur l'aspect des  
-applications semi graphique, les correspondances avec des caractères  
-latin1 ± latin9 ± Unicode ce qui a un rôle dans la compatibilité croisée  
-ou exclusive, par exemple purement Unicode...  
-*  
-  
-  
-  
-J'ai donc complété par 2 types de ma création pour répondre au mieux aux  
-différents besoins.  
-  
-  
-  
-  
-  
-| Encodage dans | Inclusion d'une | Compatibilité | Compatibilité  
-| l'ordre iso | table Unicode | exclusive | croisée  
---------------------------------------------------------------------------  
-lat9 | oui | non | non | lat1 + lat9  
---------------------------------------------------------------------------  
-lat9u | non | oui | non | lat1 + lat9  
---------------------------------------------------------------------------  
-lat9v | oui | oui | Unicode | non  
---------------------------------------------------------------------------  
-lat9w | oui | oui | non |lat1+lat9+Unicode  
---------------------------------------------------------------------------  
-  
-  
-  
-  
-Voici plus d'explications :  
-  
-  
-  
-  
-  
-* les lat9 tout court ne contiennent pas de table de correspondance  
-Unicode, ce qui fait que tous les symboles monétaires internationaux  
-apparaîtront comme des euro, ce qui peut poser des problèmes pour les  
-fichiers issus d'un ordinateur sous windows ; le cp1252 ou le latin1 sont  
-« incompatibles » avec le latin9, mais ce dernier a l'avantage de fonctionner  
-tout de suite sous linux.  
-Dans les versions récentes du noyau, selon le  
-site de Yann Dirson, il  
-semble donc que toutes les polices devraient contenir une table de  
-correspondance Unicode...  
-  
-*  
-  
-* des lat9u encodées dans un ordre non standard, mais identique à  
-celui des polices latXu de kbd, par rapport aux polices précédentes, en  
-amenant les mêmes problèmes avec le cp1252 et le latin1 mais en incluant  
-une table de correspondance Unicode, ce qui permet d'avoir de jolis  
-caractères semi graphiques sous Yast, mc, ou d'autres programmes basés  
-sur ncurses ou dialog.  
-  
-*  
-  
-* des lat9v encodées dans l'ordre officiel iso comme les  
-lat9 mais avec une table Unicode complète : là aucun symbole monétaire  
-international ne sera remplacé par l'euro !  
-Ces polices sont utiles pour éviter les problèmes d'export, grâce à  
-l'Unicode *pur*, avec une table de clavier Unicode adaptée : tous les  
-caractères latin9 sont remplacés par des caractères Unicodes et affichés  
-ainsi, ce qui a le mérite d'être compatible avec le latin9, l'Unicode,  
-d'être élégant techniquement mais inutilisable « normalement » sous  
-linux-console. Presque aucun système n'est entièrement prêt pour  
-l'Unicode !  
-*  
-  
-  
-  
-Donc n'utilisez les polices lat9, lat9u ou lat9v que si vous savez ce  
-que vous faites, je vous recommande pour ma part le meilleur compromis :  
-les polices lat9w qui permettent de passer au latin9 immédiatement, en  
-posant quelques problèmes pour les caractères latin1 qui seront  
-remplacés par leurs équivalents latin9, mais sans rendre l'Unicode  
-obligatoire comme les lat9U, sans emmêler les caractères graphiques  
-comme les lat9, et en permettant aussi d'afficher les caractères  
-spécifiques au latin9 en Unicode *pur*, à l'exception des caractères  
-spécifiques au latin1 donc...  
-  
-  
-Je vous rassure, vous n'êtes pas obligés de comprendre tout ce qui suit  
-pour « passer à l'euro », si effectivement vous ne savez toujours pas de  
-quelle police vous avez besoin, un conseil : utiliser les lat9w.  
-  
-  
-Pour utiliser la police lat9-16.psf ou un autre lat9 .psf, vous devez  
-pallier l'absence d'une table Unicode en en chargeant une.  
-  
-  
-  
-  
-  
-loadunimap fonts/linux-console/lat9.uni  
-setfont fonts/linux-console/lat9-16.psf  
-  
-  
-  
-  
-Pour utiliser la police lat9w-16.psf ou une autre lat9u, lat9v ou  
-lat9w :  
-  
-  
-  
-  
-  
-setfont /fonts/linux-console/lat9w-16.psf  
-  
-  
-  
-  
-  
-  
-!d) Unicode  
-  
-  
-  
-  
-  
-Une alternative est l'Unicode, mais les programmes l'utilisant sont encore trop  
-peu nombreux pour qu'elle soit valable.  
-  
-  
-Citons quand même yuedit et le projet « 9 » (9term, 9wm... rien à voir  
-avec l'opérateur télécom français du même nom) qui utilisent l'Unicode  
-sous X, avec plus ou moins de succès.  
-  
-  
-En revanche, sous linux-console, tout programme peut utiliser l'Unicode.  
-  
-  
-Mais, hélas!, aussi grande que soit la mémoire des cartes vidéos actuelles,  
-elle ne peut charger l'intégralité des caractères d'une police Unicode.  
-  
-  
-Il existe donc des « jeux de caractères » limités mais bien utiles pour les  
-langues baltiques, asiatiques, est-africaines...  
-  
-  
-  
-  
-!e) Utiliser les possibilités Unicode  
-  
-  
-  
-  
-  
-Essayez par exemple ce fichier unicode-lance pour passer en mode Unicode:  
-  
-  
-  
-  
-  
-#!/bin/sh  
-echo -e '\033%8'  
-kbd_mode -u  
-loadkeys fr-unicode.map  
-setfont lat9u-16.psf  
-  
-  
-  
-  
-et ce fichier latin-retourne pour revenir en mode latin normal:  
-  
-  
-  
-  
-  
-#!/bin/sh  
-echo -e '\033%@'  
-kbd_mode -a  
-loadkeys fr-latin9.map  
-setfont lat9w-16.psf  
-  
-  
-  
-  
-Essayez par exemple de lire le fichier unicode.txt, encodé en  
-Unicode, une fois unicode-lance activé.  
-  
-  
-Vous ne verrez sinon qu'un texte mal encodé, sans caractères 8 bits,  
-comme cet exemple :  
-  
-  
-  
-  
-  
-Ceci est un essai de texte en UNICODE !  
-On constate que les bAtilde©tas (Atilde~_) et autres lettres 8 bits ne sortent pas bien  
-si l'on regarde ce fichier en mode latin !  
-Les accents Atilde©Atilde¨Atilde| Atilde¹ non plus d'ailleurs...  
-Enfin, heureusement que l'on ne marche pas sur des Å~RUFS, enfin, Å~Sufs !  
-Atilde~Ga marche moyennement disons !  
-  
-  
-  
-  
-  
-  
-!!6.3 Les locales, messages en Français  
-  
-  
-  
-  
-  
-  
-Linux en 'version française' existe... mais ne semble pas facile  
-à obtenir.  
-  
-  
-La librairie locale(7) [[cf aussi perllocale, setlocale, getlocale]  
-utilisée par la librairie C se sert de variables d'environnement pour  
-définir les préférences linguistiques et nationales.  
-  
-  
-Pablo Saratxaga répondait ainsi à Pascal Rigaux en prenant l'exemple de sort :  
-  
-  
-  
-  
-  
-PR> J'ai découvert aujourd'hui la variable d'environnement LANG. C'est assez  
-PR> surprenant de se retrouver avec de l'aide en français (même si elle n'est pas  
-PR> toujours aussi précise que la version anglaise) quand on fait ls --help.  
-C'est agréable n'est-ce pas ?  
-PR> Par contre je ne comprend pas pourquoi un programme comme sort(1) n'utilise pas  
-PR> cette information pour obtenir un tri acceptable pour les accents (du genre ne  
-PR> pas mettre « être » après « zen »). Il devrait au moins proposer une option de  
-PR> ce genre.  
-Il faudrait regarder les sources de sort...  
-La fonction à utiliser est strcoll() :  
-****  
-STRCOLL(3) Manuel du programmeur Linux STRCOLL(3)  
-NOM  
-strcoll - Comparaison de deux chaînes suivant la localisa-  
-tion en cours.  
-SYNOPSIS  
-#include <string.h>  
-int strcoll (const char *s1, const char *s2);  
-DESCRIPTION  
-La fonction strcoll() compare les deux chaînes s1 et s2.  
-Elle renvoie un entier inférieur, égal ou supérieur a zéro  
-si s1 est respectivement inférieure, égale, ou supérieure  
-a s2. La comparaison est effectuée en se basant sur la  
-localisation en cours pour la catégorie LC_COLLATE. (Voir  
-setlocale(3)).  
-****  
-qui est donc l'équivalent de strcmp() mais qui tiens compte des locales.  
-Il faudra s'écrire un strcasecoll() aussi pour bien faire, en utilisant  
-toupper()/tolower() qui d'après la page de manuel supporte les locales.  
-Qui s'y colle ? Ça devrait être assez simple à réaliser sur un système GNU  
-en tout cas.  
-  
-  
-  
-  
-Il existe différente variables à exporter, avec chacune une fonction  
-spécifique ; le format standardisé est:  
-  
-  
-  
-  
-  
-langue[[_PAYS[[.CHARSET]][[@variante]  
-  
-  
-  
-  
-Les crochets dénotent l'optionalité, par exemple: 'fr', 'fr_BE',  
-'fr_CH.ISO-8859-15', no@bokmaal, no@nynorsk,...  
-  
-  
-Les fonctions de la libc, celle de GNU en tout cas, iront chercher dans  
-« l'ordre décroissant » si on peut dire; par exemple si on spécifie  
-'fr_CH.ISO-8859-15' elles chercheront d'abord avec cette valeur, puis  
-avec 'fr_CH' puis avec 'fr'.  
-  
-  
-  
-  
-  
-* LC_COLLATE définit les équivalences de caractères pour les comparaisons  
-(æ peut être équivalent à ae), pour les ligatures et pour les césures.  
-*  
-  
-* LC_CTYPE définit les caractères affichables  
-*  
-  
-* LC_MONETARY définit le format et le symbole de la monnaie utilisée  
-*  
-  
-* LC_NUMERIC définit le format numérique : regroupement, marqueur  
-décimal...  
-*  
-  
-* LC_MESSAGES définit la langue des messages  
-*  
-  
-* LC_TIME définit le format de la date, les noms des jours et  
-des mois  
-*  
-  
-* LC_ALL valeur par défaut des variables précédentes : si une  
-LC_ n'est pas définie, LC_ALL est prise en compte, sinon la libc se  
-rabat sur LANG.  
-*  
-  
-* LANG différent des variables précédentes, contient  
-le code langue au format iso : fr,en,de...  
-*  
-  
-* LANGUAGE liste des locales par ordre de préférence séparées  
-par deux points (fr:es:dk:en), c'est une particularité GNU, fort  
-utile si un document n'existe que dans une langue comme certaines pages  
-de manuel  
-*  
-  
-  
-  
-Les valeurs utilisables pour les francophones sont:  
-  
-  
-  
-  
-  
-* fr français générique  
-*  
-  
-* fr_FR français de France  
-*  
-  
-* fr_BE français de Belgique  
-*  
-  
-* fr_CH français de Suisse  
-*  
-  
-* fr_LU français du Luxembourg  
-*  
-  
-* fr_CA français du Canada  
-*  
-  
-  
-  
-Par exemple, si vous être un Français de France, il suffit d'indiquer  
-sous bash :  
-  
-  
-  
-  
-  
-export LANGUAGE=fr_FR  
-  
-  
-  
-  
-Exemple :  
-  
-  
-  
-  
-  
-bash# export LANGUAGE=es_ES  
-bash# ls fichier_n_existant_pas  
-ls: fichier_n_existant_pas: No existe el fichero o el directorio  
-bash# export LANGUAGE=de_DE  
-bash# ls fichier_n_existant_pas  
-ls: fichier_n_existant_pas: Datei oder Verzeichnis nicht gefunden  
-bash# export LANGUAGE=en_US  
-bash# ls fichier_n_existant_pas  
-ls: fichier_n_existant_pas: No such file or directory  
-bash# export LANGUAGE=fr_FR  
-bash# ls fichier_n_existant_pas  
-ls: fichier_n_existant_pas: Aucun fichier ou répertoire de ce type  
-  
-  
-  
-  
-Toutefois, avec le passage à l'euro, ces locales ne sont plus adaptées.  
-  
-  
-Je vous conseille donc d'utiliser dans les pays de l'union passant à  
-l'euro le suffixe « @euro » :  
-  
-  
-  
-  
-  
-export LC_ALL="fr_FR@euro"  
-  
-  
-  
-  
-Pour cela, installer les nouveaux fichiers sources de locales dans  
-/usr/share/i18n/ en lançant :  
-  
-  
-  
-  
-  
-cp charmaps/ISO-8859-15 /usr/share/i18n/charmaps/ISO-8859-15  
-cp locales/* /usr/share/i18n/locales/  
-  
-  
-  
-  
-Alors, régénérer les locales « binaires » de /usr/share/locales, par exemple :  
-  
-  
-  
-  
-  
-localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro  
-  
-  
-  
-  
-fr_FR@euro inclus les caractères latin 9, c'est utile pour l'utilisation  
-de LC_COLLATE et LC_CTYPE en fait, et la nouvelle monnaie unique.  
-  
-  
-Pour le moment, le Franc Français (FRF) est toujours la monnaie  
-officielle en France par exemple, mais lorsque ce sera l'euro, il  
-suffira de remplacer la locale fr_FR par fr_FR@euro.  
-  
-  
-  
-  
-  
-cd /usr/lib/locales  
-rm -fr fr_FR  
-mv fr_FR@euro fr_FR  
-  
-  
-  
-  
-La solution « @euro » est supportée par les autres UNIX comme Solaris.  
-  
-  
-Pour les shell scripts, il peut être utile de rajouter « LC_TIME=C » pour  
-empêcher la date d'être localisé, embêtant pour les grep et autres qui  
-cherchent « Mon » « Tue »... et non « Lun », « Mar »...  
-  
-  
-Les données correspondantes aux préférences se trouvent généralement  
-dans /usr/share/locale. S'ils manquent, vous pouvez récupérer  
-leur  
-source  
-  
-Concernant les autres fichiers abordés dans cet article, vous les  
-trouverez avec les autres fichiers de cet HOWTO sur  
-ma page.  
-  
-  
-  
-  
-!!6.4 Son linux en français  
-  
-  
-  
-  
-  
-  
-Pour se faire SON linux en français il faut en pratique disposer des  
-sources de la libc et d'un minimum de compétences en langage C ; ces  
-manipulations sont inutiles pour l'utilisateur standard de Linux qui  
-se contentera d'utiliser les locales de la section précédente.  
-  
-  
-Mais voici donc, pour la bonne bouche, quelques renseignements collectés...  
-  
-  
-Laurent Chemla nous pilote :  
-  
-  
-  
-  
-  
-Si j'ai suivi, il y a deux trucs qui font la même chose, d'où embrouille, les  
-locales et un truc appelé nls.  
-Les locales, sous Linux, ça va par défaut dans /usr/lib/locale,  
-et ça contient de quoi préciser entre autres le format des  
-nombres (LC_NUMERIC), les retours des fonctions ctype (isalpha etc) (LC_CTYPE),  
-le format des sommes d'argent (LC_MONETARY), le format des dates (LC_TIME) et  
-encore d'autres détails. Sur certains Unix, il y a aussi LC_MESSAGES,  
-qui contient les messages de l'OS dans la langue choisie par la variable  
-d'environnement LC_MESSAGES. Pas sous Linux. Sous Linux, c'est nls qui fait  
-ça, et de fait, nls gère un fichier qui est dans /etc/locale/.  
-(NDG : De nos jours, ils se trouvent plutôt dans /usr/lib/locale)  
-D'où l'embrouille. Ils auraient mis ça dans /usr/lib/nls, comme  
-tout le monde, ça aurait évite la confusion. Mais bon.  
-Donc, si l'on veut se tenir à jour d'nls, il suffit d'aller dans les  
-sources de libc/nls, faire « make french » et copier libc.dat dans  
-/etc/locale/C/libc.dat et toc, tous les messages sont en français. Y compris  
-ceux des programmes qui n'utilisent pas setlocale(): c'est perror() qui fait le  
-boulot (du moins je suppose).  
-Si l'on veut en plus que les programmes qui utilisent setlocale() utilisent nos  
-règles françaises, là il faut aller dans les sources de  
-libc/locale et dans chacun des sous-répertoires jeter un oeil sur le  
-fichier exemple, le modifier pour le français (c'est des tout petits  
-fichiers), et faire « make », avant de copier le résultat dans  
-/usr/lib/local/fr/ et de faire un « export LC_ALL=fr ».  
-  
-  
-  
-  
-Autre astuce pour ménager les vieux logiciels :  
-  
-  
-  
-  
-  
-cd /usr/lib  
-ln -sf /usr/share/locale .  
-  
-  
-  
-  
-Ne pas oublier de télécharger sur le  
-site du lip6 :  
-  
-  
-  
-  
-  
-* Les pages de manuel en français, archive man-fr-*, adaptées par C.  
-Blaess. Il suffit d'extraire le contenu de l'archive dans le répertoire  
-/usr/man/fr.  
-  
-*  
-  
-* Une intéressante documentation technique : locale.fr, par P. D'Cruze,  
-adaptée par É. Dumas  
-*  
-  
-  
-  
-Pour en apprendre davantage lire la page de manuel de « locale » : bibliothèque  
-de pages de manuel 5 ou 7 :  
-  
-  
-  
-  
-  
-bash# man 5 locale  
-bash# man 7 locale  
-  
-  
-  
-  
-  
-  
-!!6.5 Les variables  
-  
-  
-  
-  
-  
-  
-Ces variables doivent être exportées à chaque login :  
-mettez les donc dans .bashrc et .bash_login, .tcshrc ou  
-/etc/profile :  
-  
-  
-  
-  
-  
-# pour tcsh, utiliser setenv au lieu de export, par exemple «setenv LANG fr»  
-# Les locales  
-LC_CTYPE=ISO-8859-1  
-LANGUAGE=fr  
-LC_MESSAGES=fr  
-LC_ALL=fr  
-LANG=fr  
-LESSCHARSET=latin1  
-export LC_CTYPE LANGUAGE LC_MESSAGES LC_ALL LANG LESSCHARSET  
-# Les raccourcis : sans ll ou d, impossible de voir les fichiers comprenant des  
-# caractères 8 bits ...  
-alias q="cd .."  
-alias ll="ls --color=auto -a -N -l"  
-alias d="ls --color=auto -a -N"  
-alias indent="indent -kr"  
-alias netscape="export LC_ALL=en_EN ; netscape $* ; LC_ALL=fr_FR"  
-# Au cas où Del/!BackSpace ne fonctionne pas, essayez l'un des deux :  
-#stty erase ^?  
-#stty erase ^H  
-  
-  
-  
-  
-N'oubliez pas : tous les fichiers ici cités dont le nom commence par  
-« . » doivent se trouver dans votre répertoire maison /  
-  
-  
-  
-  
-!!6.6 Les caractères 8 bits dans les programmes utilisant readline tels bash ou ncftp...  
-  
-  
-  
-  
-  
-  
-Readline est une librairie de saisie de caractères avec historique et  
-complétion ; elle est utilisée par de nombreux programmes comme bash, ncftp,  
-gnuplot...  
-  
-  
-Par défaut, le 8e bit sert à coder la touche Meta.  
-  
-  
-Elle est utilisée pour coder certaines commandes mais la touche « Escape »  
-ou « Échap » peut la remplacer.  
-  
-  
-Si vous souhaitez voir et saisir des accents avec les applications  
-compilées avec readline, comme bash pour les versions supérieures à  
-1.13, ajoutez ceci dans votre fichier $INPUTRC, par défaut  
-~/.inputrc) :  
-  
-  
-  
-  
-  
-# Permettre de rentrer & recevoir des caractères accentués  
-set meta-flag on  
-set convert-meta off  
-set input-meta on  
-set output-meta on  
-# Pas de bip audible mais visible  
-# set bell-style visible  
-# Pour faire marcher Home, End, Delete, Esc + Delete & Esc + !BackSpace  
-"\e[[1~":beginning-of-line  
-"\e[[3~":delete-char  
-"\e[[4~":end-of-line  
-"\e\C-h": backward-kill-word  
-"\e\e[[3~": kill-word  
-  
-  
-  
-  
-Cela vous permettra d'effacer des caractères vers l'avant avec  
-« Delete » et vers l'arrière avec « !BackSpace », ceci n'étant pas  
-prévu sur les tables de clavier par défaut « mimant » le  
-comportement d'un clavier de console VT100 .  
-  
-  
-Les deux dernières options vous permettront d'utiliser « Home » et « End »  
-pour aller au début et à la fin de la ligne en cours  
-d'édition.  
-  
-  
-Pour pouvoir employer une touche il suffit d'obtenir son code et  
-l'associer à une fonction grâce à ce fichier ; pour obtenir le code  
-d'une touche invoquer cat puis appuyer sur la touche : son code  
-apparaît.  
-  
-  
-Le code physique :  
-  
-  
-  
-  
-  
-^[[  
-  
-  
-  
-  
-correspond à la séquence d'échappement.  
-  
-  
-Par exemple, si le code de « Home » est « ^[[[[7 » il suffit d'ajouter  
-une ligne :  
-  
-  
-  
-  
-  
-"\e[[7~": beginning-of-line  
-  
-  
-  
-  
-au .inputrc.  
-  
-  
-Plus de documentation est disponible sur la page de manuel de bash, section  
-READLINE.  
-  
-  
-On peut aussi, grâce à la variable d'environnement INPUTRC, utiliser un  
-fichier commun à tous les utilisateurs.  
-  
-  
-Enfin, je vous recommande d'utiliser ce fichier .bashrc à placer  
-dans votre répertoire maison :  
-  
-  
-  
-  
-  
-# ~/.bashrc : exécuté par bash(1) pour les shells lancés après le login.  
-# Le path  
-PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/usr/local/bin"  
-# Le prompt  
-PS1="(\u@\h:\W)$ "  
-# L'utilisateur  
-ENV=$HOME/.bashrc  
-USERNAME="votre nom"  
-# Les locales  
-_CTYPE=ISO-8859-1  
-LANGUAGE=fr  
-LC_MESSAGES=fr  
-LC_ALL=fr  
-LANG=fr  
-LESSCHARSET=latin1  
-export LC_CTYPE LANGUAGE LC_MESSAGES LC_ALL LANG LESSCHARSET  
-# Les raccourcis  
-alias q="cd .."  
-alias ll="ls --color=auto -a -N -l"  
-alias d="ls --color=auto -a -N"  
-alias indent="indent -kr"  
-alias elm-box="elm -f ~/Mail/Inbox"  
-alias netscape="export LC_ALL=en_EN ; netscape $* ; LC_ALL=fr_FR"  
-# Au cas où Del/!BackSpace ne fonctionne pas, essayez l'un des deux :  
-#stty erase  
-#stty erase ^H  
-# Refuser le talk & le write  
-#mesg n  
-# Permettre les coredumps  
-#ulimit -c nombre_max_de_Ko  
-#Fixer le masque de création de fichiers  
-#umask 022  
-  
-  
-  
-  
-Le fichier .bash_profile ou .bash_login, exécuté par bash(1) lors des  
-logins, y est strictement identique mais peut, si vous le voulez,  
-présenter des différences pour afficher par exemple une citation en  
-laçant le programme « fortune ».  
-  
-  
-  
-  
-!!6.7 zsh  
-  
-  
-  
-Celui-ci devrait se contenter d'un stty pass8.  
-  
-  
-Si cela ne suffisait pas, rajouter dans le .zshrc ou dans  
-/etc/zshrc:  
-  
-  
-  
-  
-  
-bindkey "\e[[2~" yank  
-bindkey "\e[[3~" delete-char  
-bindkey "\e[[1~" beginning-of-line  
-bindkey "\e[[4~" end-of-line  
-bindkey "\e[[5~" up-line-or-history  
-bindkey "\e[[6~" down-line-or-history  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-!!6.8 tcsh  
-  
-  
-  
-  
-  
-  
-Pour tcsh, placer, dans le fichier /etc/csh.login ou dans les  
-fichiers .tcshrc des utilisateurs concernés, les variables  
-indiquées plus haut en remplaçant export par setenv:  
-  
-  
-  
-  
-  
-setenv LC_CTYPE=ISO-8859-1  
-setenv LANGUAGE=fr  
-setenv LC_MESSAGES=fr  
-setenv LC_ALL=fr  
-setenv LANG=fr  
-setenv LESSCHARSET=latin1  
-  
-  
-  
-  
-  
-  
-!!6.9 Pour tous les shells  
-  
-  
-  
-  
-  
-  
-Remplacer 'iso_8859_1' par 'iso-8859-1' si cela ne fonctionne pas, voire  
-french.iso88591.fr_FR ou fr_BR, fr_CA, fr_CH, fr_LU...  
-  
-  
-À propos de LANG, il vaut mieux éviter fr_FR et lui préférer fr  
-car certains programmes ne passent pas vraiment par la resolution de  
-locales mais lisent LANG directement...  
-  
-  
-Si nls est installé, les routines correspondantes sont utilisées, sinon  
-tcsh agit en iso_8859_1, quelle que soit les valeurs données à LANG et  
-LC_CTYPE : cf. la section NATIVE LANGUAGE SYSTEM de tcsh(1).  
-  
-  
-Selon le Danish-HOWTO, utiliser :  
-  
-  
-  
-  
-  
-(guylhem@victis:tcsh)# setenv LC_CTYPE ISO-8859-1  
-(guylhem@victis:tcsh)# stty pass8  
-  
-  
-  
-  
-  
-  
-!!6.10 L'heure  
-  
-  
-  
-  
-  
-  
-Rien n'est plus facile que de laisser à Linux le soin de passer de  
-l'heure d'été à l'heure d'hiver et  
-réciproquement...  
-  
-  
-a) D'abord, quelle heure est-il :-) ?  
-  
-  
-Après avoir regardé sur la pendule la plus proche de vous, tapez :  
-  
-  
-clock  
-  
-  
-puis  
-  
-  
-date  
-  
-  
-La première heure est celle du bios, la seconde celle calculée  
-par Linux à partir de /etc/zoneconfig.  
-  
-  
-Pour peu que vous ayez installé timezone, votre machine peut jongler  
-aisément entre les différents fuseaux horaires... ce que les DOS  
-ou Windows ne permettent pas !  
-  
-  
-b) L'heure du choix !  
-  
-  
-De là, deux possibilitées : soit vous décidez de laisser  
-l'heure système à l'heure locale, peu pratique, excepté si  
-vous hébergez aussi sur votre disque dur ces systèmes  
-d'exploitation peu évolué, ne sachant même pas exploiter  
-les fuseaux horaires, soit vous passez à l'heure de Greenwich, Linux se  
-chargeant de l'adapter à votre fuseau horaire.  
-  
-  
-Dans ce cas, les grands voyages à l'étranger avec un portable  
-tout neuf équipé de Linux se feront en toute simplicité :  
-le dernier paragraphe vous expliquera comment changer de fuseau horaire  
-facilement...  
-  
-  
-c) Le réglage  
-  
-  
-Pour procéder, regardez d'abord si l'heure système  
-retournée par clock est l'heure locale ou l'heure de Greenwich.  
-  
-  
-Vous avez bien regardé une pendule comme je vous le conseille plus haut,  
-n'est-ce pas ?  
-  
-  
-Si clock vous retourne l'heure locale, il va falloir jongler un peu avec les  
-fuseaux horaires, sinon passez directement à l'étape  
-« réglage du fuseau ».  
-  
-  
-  
-  
-  
-* Pour les français, belges wallons et suisses romands :  
-*  
-  
-  
-  
-Vous êtes normalement dans une zone horaire MET (Medium European Time,  
-soit GMT+1).  
-  
-  
-La zone « MET DST » correspond elle à l'heure d'été active  
-(GMT + 2).  
-  
-  
-Selon les décisions futures de la cour européenne, l'heure  
-d'été « daylight savings » risque d'être abandonné...  
-ce qui compliquera cette explication !  
-  
-  
-  
-  
-  
-* Pour les canadiens français :  
-*  
-  
-  
-  
-Vous êtes dans une zone horaire GMT-4 si vous habitez autour de  
-Montréal .  
-  
-  
-Pour les autres provinces, consulter un dictionnaire !  
-  
-  
-Premièrement, effacez le fichier /etc/localtime ou  
-/usr/lib/zoneinfo/localtime (l'emplacement varie selon les distributions ; si  
-vous avez les deux fichiers, effacez /etc/localtime : l'autre fichier doit  
-certainement être un lien vers /etc/localtime).  
-  
-  
-Dès lors, clock et date doivent vous retourner la même heure...  
-  
-  
-  
-  
-  
-* Pour les canadiens français : utilisez GMT+4  
-*  
-  
-  
-  
-  
-  
-  
-* Pour les français, belges wallons et suisses romands :  
-*  
-  
-  
-  
-Si vous lisez ce document en été, le décalage de l'heure  
-locale par rapport à l'heure de Greenwich est de deux heures, on va donc  
-mettre temporairement le fuseau en GMT-2, soit vous lisez ce document en hiver  
-et il convient de remplacer tous les « 2 » par des « 1 » dans les exemples  
-suivants...  
-  
-  
-GMT-2 ?!!? Alors que le fuseau est GMT+2 ?  
-  
-  
-Ceci va vous retourner l'heure de Greenwich dont on a besoin pour régler  
-le système : tapez :  
-  
-  
-ln -sf /usr/lib/zoneinfo/Etc/GMT-2 /etc/zoneconfig  
-  
-  
-clock  
-  
-  
-date  
-  
-  
-L'heure calculée correspond donc à l'heure de Greenwich, l'heure  
-système à l'heure locale... soit l'inverse de ce que l'on veut.  
-  
-  
-Un simple :  
-clock -w  
-  
-  
-Va alors mettre l'heure du système en heure de Greenwich, utilisant pour  
-cela l'heure locale inversée volontairement avec l'heure  
-système.  
-  
-  
-d) Régler le fuseau horaire :  
-  
-  
-Tapez alors :  
-ln -sf /usr/lib/zoneinfo/Europe/Votre-ville /etc/zoneconfig  
-  
-  
-Et voilà ! Le système est à l'heure de Greenwich, la  
-conversion vers le fuseau horaire local et l'heure d'été se  
-faisant automatiquement.  
-  
-  
-Si vous habitez hors Europe, procédez de même en remplaçant  
-les « -2 » par « X », X représentant l'opposé de votre  
-décalage horaire (par exemple -4 au Québec, donc X=+4...)  
-  
-  
-e) Modifier le fuseau horaire :  
-  
-  
-Si vous partez à l'étranger, il est alors simple de modifier  
-l'heure locale de votre portable : par exemple si vous partez pour Moscou :  
-  
-  
-ln -sf /usr/lib/zoneinfo/Europe/Moscow /etc/zoneconfig  
-  
-  
-Très simple et très utile : plus besoin de se souvenir du  
-décalage horaire (plus ou moins X heures) puisque Linux se charge  
-désormais de tout !  
-  
-  
-  
-  
-!!6.11 vi  
-  
-  
-  
-  
-  
-  
-Normalement, aucune modification n'est nécessaire à part l'utilisation de  
-loadkeys (détaillée plus haut).  
-  
-  
-Ce fichier .vimrc pourrait toutefois vous être utile si vous utilisez  
-vim au lieu d'elvis :  
-  
-  
-  
-  
-  
-" Les guillemets anglais « " » signifient « mis en commentaire »  
-" Éviter un avertissement « version incorrecte » :  
-version 4.  
-" Utiliser les défauts de vim, bien mieux  
-set nocompatible  
-" Autoriser le « !BackSpace » sur tout :  
-set bs=2  
-" Police à utiliser sous X11 :  
-"set guifont=-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1  
-" Fixer la césure automatique de la ligne à N caractères :  
-set tw=72  
-" Faire apparaître les tabulations et les espaces  
-set list  
-" Changer les défauts pour voir les espaces inutiles et les tabulations  
-set listchars=tab:»·,trail:·  
-hi nontext ctermfg=red  
-hi nontext ctermbg=blue  
-" Indentation (pour les programmeurs) :  
-" set cindent  
-" Réglages souris :  
-"set mouse=a  
-" Ligne  
-set nowrapscan  
-" Montrer les correspondances :  
-set showmatch  
-" Montrer le mode  
-set showmode  
-" Indentation intelligente (pour les programmeurs) :  
-" set uc=  
-" Faire fonctionner !BackSpace :  
-set t_kD=^?  
-" Doit se trouver après  
-map ^H X  
-" Faire fonctionner Delete :  
-map \e[[3~ x  
-" Cacher la souris lorsqu'on tape :  
-set mousehide  
-" Faire voir les correspondances lors de recherches :  
-" set hlsearch  
-" Colorer à l'intérieur des commentaires en C :  
-let c_comment_strings=1  
-" Couleur pour xiterm, rxvt, nxterm, color-xterm :  
-if has("terminfo")  
-set t_Co=8  
-set t_Sf=\e[[3%p1%dm  
-set t_Sb=\e[[4%p1%dm  
-else  
-set t_Co=8  
-set t_Sf=\e[[3%dm  
-set t_Sb=\e[[4%dm  
-endif  
-" Coloration syntaxique :  
-if ett_Co > 1  
-syntax on  
-endif  
-" Autoriser l'édition de fichiers gzippés  
-augroup gzip  
-" Supprimer toutes les autocommandes  
-au!  
-autocmd !BufReadPre,!FileReadPre *.gz set bin  
-autocmd !BufReadPost,!FileReadPost *.gz '[[,']!gunzip  
-autocmd !BufReadPost,!FileReadPost *.gz set nobin  
-autocmd !BufReadPost,!FileReadPost *.gz execute ":doautocmd !BufReadPost " . expand("%:r")  
-autocmd !BufWritePost,!FileWritePost *.gz !mv <afile> <afile>:r  
-autocmd !BufWritePost,!FileWritePost *.gz !gzip <afile>:r  
-autocmd !FileAppendPre *.gz !gunzip <afile>  
-autocmd !FileAppendPre *.gz !mv <afile>:r <afile>  
-autocmd !FileAppendPost *.gz !mv <afile> <afile>:r  
-autocmd !FileAppendPost *.gz !gzip <afile>:r  
-augroup END  
-augroup bzip  
-au!  
-autocmd !BufReadPre,!FileReadPre *.bz2 set bin  
-autocmd !BufReadPost,!FileReadPost *.bz2 '[[,']!bunzip2  
-autocmd !BufReadPost,!FileReadPost *.bz2 set nobin  
-autocmd !BufReadPost,!FileReadPost *.bz2 execute ":doautocmd !BufReadPost " . expand("%:r")  
-autocmd !BufWritePost,!FileWritePost *.bz2 !mv <afile> <afile>:r  
-autocmd !BufWritePost,!FileWritePost *.bz2 !bzip2 <afile>:r  
-autocmd !FileAppendPre *.bz2 !bunzip2 <afile>  
-autocmd !FileAppendPre *.bz2 !mv <afile>:r <afile>  
-autocmd !FileAppendPost *.bz2 !mv <afile> <afile>:r  
-autocmd !FileAppendPost *.bz2 !bzip2 <afile>:r  
-augroup END  
-augroup cprog  
-au!  
-autocmd !BufRead * set formatoptions=tcql nocindent comments&  
-autocmd !BufRead *.c,*.h set formatoptions=croql cindent comments=sr:/*,mb:*,el:*/,://  
-augroup END  
-  
-  
-  
-  
-  
-  
-!!6.12 Emacs  
-  
-  
-  
-  
-  
-  
-Voici un fichier de configuration de base pour employer les accents.  
-  
-  
-  
-  
-  
-;;  
-;; Fichier .emacs: initialisation d'emacs  
-;; Tiré du Guide du Rootard  
-;;  
-(display-time) ;; Pour avoir l'heure dans la barre d'état  
-(setq display-time-24hr-format t) ;; Format 24 heures  
-;; Nouveaux modes  
-(autoload 'c++-mode "cplus-md" "C++ Editing Mode" t)  
-(autoload 'perl-mode "perl-mode" "Perl Editing Mode" t)  
-(autoload 'c-mode "c-mode" "C Editing Mode" t)  
-; mieux vaudrait utiliser le "cc-mode"  
-(autoload 'jargon-mode "jargon" "Jargon Mode" t)  
-;; Auto-Mode Settings : positionne le mode selon l'extension  
-(setq auto-mode-alist  
-(append '(("\.c$" . c-mode) ;; utilise le mode C++ même pour C  
-("\.h$" . c-mode)  
-("\.C$" . c++-mode)  
-("\.H$" . c++-mode)  
-("\.cc$" . c++-mode)  
-("\.C$" . c++-mode)  
-("\.pl$" . perl-mode) ;; Perl  
-("/tmp/snd\.[[-9]*" . text-mode);; Text (pour le courriel)  
-("[[Rr][[Ee][[-9]*" . text-mode)  
-("\.ada$" . ada-mode) ;; Ada  
-("\.spec$" . ada-mode)  
-("\.body$" . ada-mode)  
-("makefile$" . makefile-mode) ;; Makefile  
-("Makefile$" . makefile-mode)  
-("Imakefile$" . makefile-mode))  
-auto-mode-alist))  
-; Remappages variés à mettre ici  
-(global-set-key "\eg" 'goto-line) ;; ESC G = Aller à une ligne  
-(put 'eval-expression 'disabled nil)  
-;; Accents...  
-(standard-display-european 1)  
-(load-library "iso-syntax")  
-(set-input-mode (car (current-input-mode))  
-(nth 1 (current-input-mode))  
-)  
-;; Sous X-Window, texte en couleurs (C/C++/Shell/Makefile,etc)  
-(cond (window-system  
-(setq hilit-mode-enable-list '(not text-mode)  
-hilit-background-mode 'light  
-hilit-inhibit-hooks nil  
-hilit-inhibit-rebinding nil)  
-(require 'hilit19)  
-))  
-(if (not (equal window-system ""))  
-(global-set-key "\C-?" 'delete-char))  
-))  
-  
-  
-  
-  
-Le Keyboard-HOWTO conseille quand à lui :  
-  
-  
-  
-  
-  
-(standard-display-european t)  
-(set-input-mode nil nil 1)  
-(require 'iso-syntax)  
-(load-library "iso-insert.el")  
-(define-key global-map [[?\C-.] 8859-1-map)  
-  
-  
-  
-  
-Utilisez une version au moins égale à 19.27, modifiez le fichier global  
-(commun à tous les utilisateurs)  
-/usr/lib/emacs/site-lisp/site-start.el ou le ./emacs  
-de chaque utilisateur concerné pour y ajouter :  
-  
-  
-  
-  
-  
-(standard-display-european t)  
-(set-input-mode (car (current-input-mode))  
-(nth 1 (current-input-mode))  
-)  
-(global-set-key [[delete] 'delete-char)  
-(global-set-key [[home] 'beginning-of-line)  
-(global-set-key [[end] 'end-of-line)  
-(global-set-key [[prior] 'scroll-down)  
-(global-set-key [[next] 'scroll-up)  
-(global-set-key [[C-right] 'forward-word)  
-(global-set-key [[C-left] 'backward-word)  
-(global-set-key [[C-prior] 'beginning-of-buffer)  
-(global-set-key [[C-next] 'end-of-buffer)  
-(global-set-key "\033[[A" 'previous-line)  
-(global-set-key "\033[[B" 'next-line)  
-(global-set-key "\033[[C" 'forward-char)  
-(global-set-key "\033[[D" 'backward-char)  
-(global-set-key "\033[[H" 'beginning-of-line)  
-(global-set-key "\033[[Y" 'end-of-line)  
-(global-set-key "\033[[1~" 'beginning-of-line)  
-(global-set-key "\033[[2~" 'overwrite-mode)  
-;; le delete-char peut correspondre à \004 ou à \033[[3~  
-(global-set-key "\033[[3~" 'delete-char)  
-(global-set-key "\033[[4~" 'end-of-line)  
-(global-set-key "\033[[5~" 'scroll-down)  
-(global-set-key "\033[[6~" 'scroll-up)  
-  
-  
-  
-  
-Pour les autres versions :  
-  
-  
-  
-  
-  
-* 19.19 :  
-  
-  
-(standard-display-european 1)  
-(set-input-mode (car (current-input-mode))  
-(nth 1 (current-input-mode))  
-)  
-  
-  
-Lire à ce propos le fichier emacs.info.  
-  
-*  
-  
-* 19.22 :  
-  
-  
-(load-library "iso-transl")  
-(standard-display-european t)  
-  
-  
-  
-*  
-  
-* Autres :  
-  
-  
-(standard-display-european 1)  
-(load-library "iso-transl")  
-  
-  
-  
-*  
-  
-  
-  
-XEmacs les accepte lui par défaut sans broncher mais peut des fois  
-rencontrer des problèmes avec les !BackSpaces dans le mini-buffer en  
-console.  
-  
-  
-Ajouter dans le .emacs :  
-  
-  
-(if (eq window-system 'x)  
-(global-set-key (read-kbd-macro "DEL") 'delete-char)  
-(or (global-set-key "^[[[[3~" 'delete-char))  
-)  
-  
-  
-  
-  
-Le mode ispell d'emacs a un certain nombre de dictionnaires prédéfinis  
-qui ne sont pas forcement ceux qui sont en place sur le système.  
-  
-  
-Si vous constatez des problèmes, vous devez redéfinir la liste  
-ispell-dictionary-alist des dictionnaires.  
-  
-  
-Cette liste contient :  
-  
-  
-* le nom du dictionnaire  
-*  
-  
-* la liste des caractères composant un mot  
-*  
-  
-* la lise opposée des caractères ne composant pas un mot  
-*  
-  
-* les caractères de liaison à l'intérieur des mots ("-", "'"...)  
-*  
-  
-* vrai ou faux si ces caractères peuvent être présents en plusieurs  
-exemplaire dans le mot  
-*  
-  
-* une liste d'arguments pour ispell  
-*  
-  
-* le mode d'ispell (tex, nroff..)  
-*  
-  
-  
-  
-Par exemple, dans le fichier .emacs :  
-  
-  
-  
-  
-  
-(setq ispell-dictionary-alist  
-'((nil ; francais.aff  
-"[[A-Za-zÀÂÇ-!ËÎÏÔÙÛÜàâç-ëîïôùûü]" "[[^A-Za-zÀÂÇ-!ËÎÏÔÙÛÜàâç-ëîïôùûü]"  
-"[[---']" nil ("-n") "~nroff")  
-("english" ; rosbif  
-"[[A-Za-z]" "[[^A-Za-z]" "[[---']" nil ("-B") nil)  
-("american" ; yankee  
-"[[A-Za-z]" "[[^A-Za-z]" "[[---']" nil nil nil)  
-("francais" ; français  
-"[[A-Za-zÀÂÇ-!ËÎÏÔÙÛÜàâç-ëîïôùûü]" "[[^A-Za-zÀÂÇ-!ËÎÏÔÙÛÜàâç-ëîïôùûü]"  
-"[[---']" nil ("-n") "~nroff")  
-("francais-TeX" ; français  
-"[[A-Za-zÀÂÇ-!ËÎÏÔÙÛÜàâç-ëîïôùûü\\]" "[[^A-Za-zÀÂÇ-!ËÎÏÔÙÛÜàâç-ëîïôùûü\\]"  
-"[[---'^`\"]" t nil "~tex")  
-("espanol" ; espa~nol.aff  
-"[[A-Za-záéíóúüñÁÉÍÓÚÜÑ]" "[[^A-Za-záéíóúüñÁÉÍÓÚÜÑ]"  
-"[[---'^`\"]" t nil "~nroff")  
-("dansk" ; danois et norvégien  
-"[[A-Za-zåÅøØæÆéÉèÈ]" "[[^A-Za-zåÅøØæÆéÉèÈ]"  
-"[[---'^`\"]" t nil "~nroff")  
-))  
-  
-  
-  
-  
-Le dictionnaire "francais-TeX" est un lien symbolique sur "francais"  
-qui permet d'ajouter une entrée pour les accents à la TeX (ex: \'e).  
-  
-  
-Si vous utilisez X11, vous voudrez peut-être reconstruire les menus et  
-il vous faudra recharger une partie de lisp/loaddefs.el dans votre  
-.emacs :  
-  
-  
-  
-  
-  
-(setq ispell-menu-map nil)  
-(if ispell-menu-map-needed  
-(let ((dicts (reverse (cons (cons "default" nil) ispell-dictionary-alist)))  
-name)  
-;; Can put in defvar when external defines are removed.  
-(setq ispell-menu-map (make-sparse-keymap "Spell"))  
-(while dicts  
-(setq name (car (car dicts))  
-dicts (cdr dicts))  
-(if (stringp name)  
-(define-key ispell-menu-map (vector (intern name))  
-(cons (concat "Select " (capitalize name))  
-(list 'lambda () '(interactive)  
-(list 'ispell-change-dictionary name))))))))  
-(if ispell-menu-map-needed  
-(progn  
-;; Define commands in opposite order you want them to appear in menu.  
-(define-key ispell-menu-map [[ispell-change-dictionary]  
-'("Change Dictionary" . ispell-change-dictionary))  
-(define-key ispell-menu-map [[ispell-kill-ispell]  
-'("Kill Process" . ispell-kill-ispell))  
-(define-key ispell-menu-map [[ispell-pdict-save]  
-'("Save Dictionary" . (lambda () (interactive) (ispell-pdict-save t))))  
-(define-key ispell-menu-map [[ispell-complete-word]  
-'("Complete Word" . ispell-complete-word))  
-(define-key ispell-menu-map [[ispell-complete-word-interior-frag]  
-'("Complete Word Frag" . ispell-complete-word-interior-frag))  
-(define-key ispell-menu-map [[ispell-continue]  
-'("Continue Check" . ispell-continue))  
-(define-key ispell-menu-map [[ispell-region]  
-'("Check Region" . ispell-region))  
-(define-key ispell-menu-map [[ispell-word]  
-'("Check Word" . ispell-word))  
-(define-key ispell-menu-map [[ispell-buffer]  
-'("Check Buffer" . ispell-buffer))  
-(define-key ispell-menu-map [[ispell-message]  
-'("Check Message" . ispell-message))  
-(define-key ispell-menu-map [[ispell-help]  
-'("Help" . (lambda () (interactive) (describe-function 'ispell-help))))  
-(put 'ispell-region 'menu-enable 'mark-active)))  
-(fset 'ispell-menu-map (symbol-value 'ispell-menu-map))  
-  
-  
-  
-  
-  
-  
-!!6.13 less  
-  
-  
-  
-  
-  
-  
-/etc/profile ou les fichiers de démarrage du shell (comme  
-.bashrc et .bash_profile dans votre répertoire maison)  
-doivent contenir :  
-  
-  
-  
-  
-  
-export LESSCHARSET=latin1  
-  
-  
-  
-  
-Comme fichier .lessrc je vous recommande :  
-  
-  
-  
-  
-  
-\e[[B forw-line  
-\e[[A back-line  
-\e[[6~ forw-scroll  
-\e[[5~ back-scroll  
-\e[[1~ goto-line  
-\e[[4~ goto-end  
-\e[[C next-file  
-\e[[D prev-file  
-\eOA back-line  
-\eOB forw-line  
-  
-  
-  
-  
-Pour rentrer un Esc (parfois nommé Échap) taper « \e » ou, sous  
-vi, mettez vous en mode insertion avec i puis tapez « ctrl+v » et enfin « Esc ».  
-  
-  
-Ce fichier permet d'utiliser les touches « Home », « End », « Page_Up » & « Page_Down ».  
-  
-  
-Pour s'en servir, taper :  
-  
-  
-  
-  
-  
-lesskey -o .less .lessrc  
-  
-  
-  
-  
-N'oubliez pas de mettre le fichier .less dans votre répertoire maison :  
-il permet d'employer les touches fléchées, « Page_Up », « Page_Down »,  
-« Home » et « End ».  
-  
-  
-Ne pas négliger la page de manuel de less car il peut être intéressant de  
-changer la valeur de sa variable d'environnement de configuration ("LESS").  
-  
-  
-J'utilise : '-C -M -i -x2'  
-  
-  
-  
-  
-!!6.14 ls  
-  
-  
-  
-  
-  
-  
-Utilisez les options :  
-  
-  
-  
-  
-  
--N --color=auto  
-  
-  
-  
-  
-ou, plus simplement, définissez dans les fichiers de démarrage de  
-votre shell les alias suivants permettant de voir les fichiers dont le nom  
-comprend des caractères 8 bits :  
-  
-  
-  
-  
-  
-alias ll="ls --color=auto -N -l -a"  
-alias d="ls --color=auto -N"  
-  
-  
-  
-  
-Un simple d remplacera le classique ls, en y ajoutant la  
-couleur, alors que ll vous offrira une liste complète de tous  
-les fichiers présents dans le répertoire, avec leurs attributs,  
-leurs tailles...  
-  
-  
---color=auto est préférable car --color=yes fera avoir des codes escape  
-lorsqu'on redirige vers un fichier ou un programme où si le terminal ne  
-supporte pas la couleur.  
-  
-  
-  
-  
-!!6.15 flex  
-  
-  
-  
-  
-  
-  
-Donnez l'option :  
-  
-  
-  
-  
-  
--8  
-  
-  
-  
-  
-si l'analyseur généré doit accepter les entrées 8-bits  
-(bien sûr qu'il doit le faire !).  
-  
-  
-  
-  
-!!6.16 elm  
-  
-  
-  
-  
-  
-  
-Rajoutez ces trois lignes dans votre .elm/elmrc :  
-  
-  
-  
-  
-  
-charset = iso-8859-1  
-displaycharset = iso-8859-1  
-textencoding = 8bit  
-  
-  
-  
-  
-  
-  
-!!6.17 col  
-  
-  
-  
-  
-  
-  
-Assurez-vous :  
-  
-  
-1) qu'il a été corrigé et fasse un  
-  
-  
-  
-  
-  
-setlocale(LC_CTYPE,"");  
-  
-  
-  
-  
-2) de définir  
-  
-  
-  
-  
-  
-LC_CTYPE=ISO-8859-1  
-  
-  
-  
-  
-dans l'environment.  
-  
-  
-  
-  
-!!6.18 rlogin  
-  
-  
-  
-  
-  
-  
-Utilisez l'option :  
-  
-  
-  
-  
-  
--8  
-  
-  
-  
-  
-  
-  
-!!6.19 joe  
-  
-  
-  
-  
-  
-  
-Utiliser  
-joe 2.8 ou  
-plus récent qui devraient fonctionner après édition du fichier de  
-configuration : placer l'option -asis dans /usr/lib/joerc en  
-première colonne.  
-  
-  
-  
-  
-!!6.20 TeX et LaTeX  
-  
-  
-  
-  
-  
-  
-Le plus simple consiste à employer !GuTemberg, une distribution de LaTeX  
-avec tous les défauts réglés pour des francophones par des  
-francophones !  
-  
-  
-Mais si vous préférez une version standard non modifiée, il suffit  
-d'ajouter au début de chaque fichier :  
-  
-  
-  
-  
-  
-*Pour LaTeX:  
-  
-  
-\documentstyle[[isolatin]{article}  
-  
-  
-  
-*  
-  
-*Pour LaTeX2e:  
-  
-  
-\documentclass[[12pt,a4paper]{letter}  
-\usepackage{isolatin1}  
-\usepackage[[french]{babel}  
-\usepackage{t1enc}  
-  
-  
-ou alors :  
-  
-  
-\usepackage[[latin1]{inputenc}  
-\usepackage[[T1]{fontenc}  
-  
-  
-  
-*  
-  
-  
-  
-Au cas où votre distribution soit trop vieille pour l'inclure,  
-isolatin.sty est disponible  
-séparément  
-  
-Pour gs et xdvi, il faut utiliser des options spéciales (sur ma machine,  
-ce sont des alias). En effet, ils sont souvent configurés pour un papier  
-états-unien dit « légal », de taille proche, mais non exactement égale,  
-à celle du standard « A4 ».  
-  
-  
-Ces options sont les suivantes :  
-  
-  
-gs -sPAPERSIZE=a4  
-xdvi -paper a4  
-ghostview -a4  
-  
-  
-Pour que dvips convertisse les documents dans un format papier a4, il faut  
-spécifier dans le fichier config.ps (le chemin varie en fonction des versions  
-de LaTeX) : /usr/lib/texmf/dvips/config.ps ou .dvipsrc  
-  
-  
-@ a4 210mm 297mm  
-@+ ! %%!DocumentPaperSizes: a4  
-@+ %%!PaperSize: a4  
-@+ %%!BeginPaperSize: a4  
-@+ a4  
-  
-  
-Sinon ajoutez à votre .Xresources :  
-  
-  
-  
-  
-  
-XDvi.paper: a4  
-Ghostview.pageMedia: A4  
-  
-  
-  
-  
-  
-  
-!!6.21 Manuel  
-  
-  
-  
-  
-  
-  
-Tout d'abord, il faut vous procurer les pages de manuel Linux traduites en  
-français  
-  
-Si vous utilisez une distribution !RedHat ou Debian, celles-ci sont  
-présentes sur le cédérom : il suffit de les  
-sélectionner lors de l'installation.  
-  
-  
-De là, deux possibilités :  
-  
-  
-  
-  
-  
-* soit vous ne voulez que des manuels en Français, auquel cas il  
-faut faire un :  
-  
-  
-export MANPATH=/usr/man/fr_FR  
-  
-  
-NB: fr_FR se remplace par fr_BE, fr_CA, fr_CH ou fr_LU selon le pays concerné.  
-  
-*  
-  
-* soit vous préférez par défaut des manuels en  
-Français et si la page n'existe pas, vous vous rabattez vers l'Anglais,  
-il suffira alors de taper :  
-  
-  
-export LANG=fr  
-  
-  
-  
-*  
-  
-  
-  
-man ira chercher dans le « MANPATH » des pages en « LANG » par  
-défaut et se rabattra sinon sur des pages en anglais.  
-  
-  
-Si vous désirez installer la page de manuel expliquant la norme ISO  
-8859-15 latin 9, il faut installer le fichier iso_8859_15.7.gz :  
-  
-  
-  
-  
-  
-cp standard/iso_8859_15.7.gz /usr/local/man/man7/  
-  
-  
-  
-  
-  
-  
-!!6.22 Correcteur orthographique ispell  
-  
-  
-  
-  
-  
-  
-Vous pouvez vous le procurer sur le  
-site original d'Hydro Québec  
-ou sur le  
-mirroir du lip6  
-  
-Un fichier LISEZMOI explique pas à pas et en Français  
-l'installation.  
-  
-  
-  
-  
-!!6.23 Les claviers 105 touches  
-  
-  
-  
-  
-  
-  
-Aussi appelés « claviers Microsoft (tm) », ils ont trois touches de plus  
-que les claviers normaux.  
-  
-  
-Comment s'en servir ?  
-  
-  
-En mode console, éditer french.map et décommenter les lignes  
-en parlant !  
-  
-  
-De même pour french (pour Xwindow).  
-  
-  
-  
-  
-!!6.24 PGP  
-  
-  
-  
-  
-  
-  
-Attention, dans certains pays totalitaires, l'utilisation de logiciels  
-de cryptographie est considérée comme usage d'armes de guerre, ce qui  
-est punissable par la loi !  
-  
-  
-Sautez donc ce paragraphe si votre législation locale ne permet pas  
-d'utiliser des logiciels de cryptographie.  
-  
-  
-Premièrement, il faut se procurer pgp-international (à cause de  
-problèmes de patentes et de législation sur l'export d'armes de  
-guerre, il existe pgp-us et pgp-international, ce dernire étant  
-doté d'un algorithme encore plus puissant) sur le  
-site norvégien de PGP  
-  
-Ensuite, mettre dans votre répertoire maison, dans un sous  
-répertoire .pgp les fichiers :  
-  
-  
-  
-  
-  
-config.txt  
-language.idx  
-pgpdoc1.txt  
-pgpdoc2.txt  
-language.txt  
-fr.hlp  
-en.hlp  
-pgp.hlp  
-  
-  
-  
-  
-Enfin, éditer le fichier .pgp/config.txt pour y rajouter :  
-  
-  
-  
-  
-  
-Language = fr  
-!CharSet = latin1  
-  
-  
-  
-  
-Lisez ensuite .pgp/fr.hlp pour apprendre à vous servir de pgp !  
-  
-  
-  
-  
-!!6.25 Impression en mode ascii  
-  
-  
-  
-  
-  
-  
-Pour l'impression de texte simple, beaucoup d'imprimantes attendent des lettres  
-en codage IBM (cp850) comme sous MS DOS.  
-  
-  
-Si le fichier est codé en latin1, on doit utiliser « recode latin1:ibmpc »  
-(à placer dans les filtres lpr de /etc/ par exemple), sous peine de voir  
-imprimer des « alpha » à la place de « à », et autres choses du même genre.  
-  
-  
-Il existe d'autres utilisation au programme recode : « ibmpc:lat1 » ou  
-« lat1:ibmpc » (de ou vers MS-DOS) ou « applemac » pour Macintosh (tm).  
-  
-  
-  
-  
-!!6.26 Unicode/latin/cp... je n'ai pas compris ce dernier paragraphe !  
-  
-  
-  
-  
-  
-  
-Voici donc plus d'explications grâce à Pablo Sartxaga (srtxg à  
-chanae.alphanet.ch) dans un message explicant la différence Unicode/latin/cp :  
-  
-  
-  
-  
-  
-DB> quand on lance « setfont » sans argument  
-DB> il semble qu'on obtienne le même effet que setfont -u none  
-Normal et logique.  
-DB> --> en un mot la table de conversion « Unicode » est désactivée  
-DB> ce qui transforme le « e accent aigü (dec 130) » en « théta (dec 233) »  
-Non. Il ne transforme rien du tout, il affiche tout simplement sans  
-*aucune* transformation au contraire, à toi de t'assurer que la police  
-que tu charges possèdes les glyphes à la bonne place par rapport au codage  
-de caractères que tu utilises (iso-8859-1).  
-Autrement dit si ta police n'est pas iso-8859-1 tu dois dire à setfont de  
-faire des mappings; en particulier s ic'est une police qui utilise l'encodage  
-DOS cp437 tu fais « setfont -u cp437 nomdelapolice ». Moi par exemple j'aime  
-beaucoup la police « t.fnt » de la Slackware, et j'ai donc quelque part  
-dans /etc/rc.d/* une ligne « setfont -u cp437 t.fnt »  
-Ou alors tu modifies la police (il y a un logiciel qui fait cela avec  
-interface svgalib, et un autre nommé « chedit » qui permet de créer des  
-images an ascii-art, un fichier par caractère (256 fichiers donc), il te  
-suffit alors de jongler avec les fichiers pour les changer de place et  
-régénerer la police). Note cependant que le codage cp437 n'inclut pas  
-tous les caractères de iso-8859-1, notamment manquent quasi toutes les  
-majuscules accentuées, et les lettres atildeotilde nécessaires en portugais. Tu  
-peux toujours modifier la police pour créer ces caractères manquants.  
-DB> sur ma Slackware 3.2, à aucun moment setfont n'apparaît dans les scripts  
-DB> de démarrage ni dans les ~/profiles et autres ~/.bashrc  
-Donc c'est la police dans la ROM de la carte video qui est utilisée.  
-DB> et pourtant cette  
-DB> conversion est effectuée correctement puisque j'ai les accents à l'écran.  
-Je suppose que le kernel présuppose (à juste titre) que la police en ROM vidéo  
-est au codage cp437.  
-DB> une fois que je lance « setfont -u none » je perds donc les accents.  
-Normal, car dès lors que tu charges une police tu est supposé savoir ce que  
-tu veux (au contraire de la police en ROM où tu n'as pas le choix).  
-Autrefois (du temps des 1.2.* et avant) le défaut de setfont était cp437  
-(et il n'utilisait pas encore des tables Unicode, mais on pouvait  
-changer par \e(B et \e(K entre codage cp437 et iso (on peut toujours  
-d'ailleurs)), mais maintenant le défaut est « straight to font », pas de  
-conversion.  
-DB> j'en conclue que Linux utilise la police résidente par défaut de  
-DB> la carte EGA/VGA  
-DB> [[Q] --> comment retrouver cette police ?  
-Il y a un programme nommé « restoretextmode » qui est assez populaire  
-auprès des possesseurs de certaines cartes graphiques chez qui le  
-passage X11 -> console bousille les polices; il permet de faire un dump  
-sur un fichier; il faudrait donc que tu le lances avant de modifier la  
-police avec setfont. Le paquetage s'appelle quelque chose comme  
-SVGATextMode ou quelque chose d'approchant.  
-DB> [[Q] --> quelle table appeler pour la remapper et ravoir les accents ?  
-setfont -u cp437 policedos  
-Ou sinon, si tu ne veux pas lancer setfont et tu veux donc garder la  
-police de la carte graphique; essaye un « echo -e \033(B » (l'ennuyant  
-c'est que tu dois le faire dans chaque console)  
-DB> (en général setfont -u def.uni (par exemple) renvoie une  
-DB> erreur : PIO_UNIMAPCLR: Invalid argument et je reste  
-DB> en caracteres « graphiques »)  
-Ah ? Chez moi ça marche; quels kernel et kbd as-tu ?  
-Sinon je te conseille « cp437 » plutôt que « def », ils font _presque_ la même  
-chose, mais « cp437 » est visuellement plus agréable car il remplace les  
-caractères non présents dans la police par les lettres non accentuées si c'est  
-des lettres, C pour © et R pour ® et par un carré blanc pour le reste, ce qui  
-permet de garder le formatage et la lecture agréables; « def » lui ne mets  
-totu simplement rien pour les caractères manquants, si bien que tu te  
-trouves avec des trous, ce qui est l'horreur si tu édites un texte par  
-exemple avec vi, puisque le curseur est affiché plusieurs caractères  
-à gauche à cause des caractères de largeur nulle :)  
-Essaye aussi la police « t.fnt », elle est assez jolie, toute en rondeurs, je la  
-trouve réposante, et quand je dois utiliser un PC avec les polices style  
-courier par défaut je trouve ça très agressif je me demande comment ils  
-peuvent travailler avec :)  
-  
-  
-  
-  
-Lire aussi les articles de news : « FAQ - les accents français et Usenet» de F.  
-Yergeau dans les groupes fr.usenet.reponses et fr.usenet.8bits » ISO  
-8859-1 National Character Set FAQ» de mike (à) vlsivie.tuwien.ac.at dans  
-comp.answers .  
-  
-  
-  
-  
-!!6.27 ncurses  
-  
-  
-  
-  
-  
-  
-Rappelons que ncurses est un librairie C qui permet de manipuler facilement  
-l'affichage en mode console texte : fenêtrage, lignes de saisie, édition de  
-formulaires, couleurs, caractères « ALT » ascii semi-graphique ibm, comme sous  
-dos...  
-  
-  
-  
-  
-!Introduction  
-  
-  
-  
-  
-  
-La version standard de curses utilise le huitième bit pour la vidéo  
-inversée (voir le flag _STANDOUT défini dans /usr/include/curses.h).  
-Cependant, ncurses semble fonctionner en 8-bits et affiche le  
-iso-latin-8859-1 correctement.  
-  
-  
-  
-  
-!Les accents  
-  
-  
-  
-  
-  
-Remarque: les distributions de Linux sont livrées en général avec la  
-version 1.9.9e de ncurses, or il se trouve que la librairie form de  
-cette version est BUGGÉE (problèmes de rafraîchissement des fenêtres).  
-  
-  
-Ne pas utiliser la 1.9.9e donc si on veut travailler avec « form » : ce bug est  
-d'ailleurs clairement énoncé sur le site de ncurses, et je m'étonne que  
-ce soit justement cette version qui soit encore livrée sur la plupart  
-des distributions (!RedHat 4.2, 5., 5.1, Slackware 3.2, Debian 1.9) en  
-tout cas.  
-  
-  
-Symptôme : la fonction wgetch() de ncurses renvoie les codes suivants :  
-  
-  
-  
-  
-  
-* je tape 'é' et wgetch retourne « meta-i » code 233 (decimal)  
-*  
-  
-* " " 'è' " " " « meta-h » code 234 (decimal)  
-*  
-  
-* etc  
-*  
-  
-  
-  
-C'est normal avec les polices iso-8859-1 !  
-  
-  
-Il faut installer les « locales » ou mettre à jour sa version de  
-ncurses.  
-  
-  
-  
-  
-!!6.28 Perl  
-  
-  
-  
-  
-  
-  
-Si tout d'un coup après une mise à jour il raconte :  
-  
-  
-  
-  
-  
-(guylhem@victis:guylhem)$ perl  
-perl: warning: Setting locale failed for the categories:  
-LC_CTYPE LC_COLLATE  
-perl: warning: Please check that your locale settings:  
-LC_ALL = "fr_FR",  
-LC_CTYPE = "ISO-8859-1",  
-LC_COLLATE = (unset),  
-LANG = "fr"  
-are supported and installed on your system.  
-perl: warning: Falling back to the "C" locale.  
-(guylhem@victis:guylhem)$  
-  
-  
-  
-  
-En libc6 le format des fichiers binaires de définition des locales a  
-(encore) changé : il faut les régénérer à partir des sources  
-sources WG15collection.tar.gz par exemple et des programmes «  
-locale » et « localedef » qui sont fournis dans les sources de la libc.  
-  
-  
-Sinon on peut également se passer des locales :  
-  
-  
-  
-  
-  
-unset LANG  
-unset LC_CTYPE  
-unset LC_COLLATE  
-export LC_ALL=fr_FR.ISO-8859-1  
-  
-  
-  
-  
-  
-  
-!!6.29 Installer les locales  
-  
-  
-  
-  
-  
-  
-Les « locales » sont des fichiers qui vont modifier le comportement de  
-certains programmes pour qu'ils s'adaptent aux « spécificités culturelles du  
-pays ».  
-  
-  
-Cela sert à résoudre les erreurs rapportées par perl ou une mauvaise  
-gestion des accents par ncurses.  
-  
-  
-  
-  
-  
-* récupérer pour la libc5 la collection de  
-locales POSIX  
-*  
-  
-* ou pour la libc6, elle est dans l'ajout  
-« glibc-localedata »  
-*  
-  
-* copier dans le répertoire /usr/share/locale les fichiers fr_FR et en_DK  
-(qui est inclus dans fr_FR)  
-*  
-  
-* créer le répertoire /usr/share/i18n/charmap et copier le fichier  
-ISO_8859-1:1987  
-*  
-  
-* faire man localedef et lancer la commande :  
-  
-  
-localedef -f ISO_8859-1:1987 -i fr_FR fr  
-  
-  
-Ceci créera l'entrée fr dans /usr/share/locale soit :  
-  
-  
-/usr/share/locale/fr  
-  
-  
-Ce répertoire devrait maintenant contenir les fichiers :  
-  
-  
-LC_COLLATE  
-LC_CTYPE  
-LC_MESSAGES  
-LC_MONETARY  
-LC_NUMERIC  
-LC_TIME  
-  
-  
-  
-*  
-  
-* lire le fichier « locale.fr » que l'on peut trouver sur le serveur  
-ftp.lip6.fr (chercher sous doc, linux...) et dont la traduction française a été  
-faite par Éric DUMAS (hélas ce doc ne traite principalement que de  
-LC_MESSAGES. À quand la suite Éric ? ;-) )  
-  
-*  
-  
-* compléter éventuellement l'initialisation des variables du shell comme  
-décrit dans la section sur bash ou tcsh  
-*  
-  
-* dans un programme, utilisez la fonction setlocale() (man setlocale.3)  
-pour fixer les paramètres locaux CAR le noyau linux initialise toujours cette  
-fonction avec l'argument une locale « C » (POSIX) donc sans accents !  
-  
-  
-setlocale(LC_CTYPE,"fr_FR");  
-  
-  
-  
-*  
-  
-* Ça y est ! Les accents sont disponibles dans ncurses.  
-*  
-  
-  
-  
-  
-  
-!Midnight Commander (mc)  
-  
-  
-  
-  
-  
-En changeant de police, il peut arriver que les lignes de cadre soient  
-remplacées par divers caractères.  
-  
-  
-2 possibilitées :  
-  
-  
-* La police chargée ne dispose pas de caractères dits « semi  
-graphiques », qui permettent de dessiner des cadres  
-*  
-  
-* Il y a discordance entre la police et sa table de mappage  
-*  
-  
-  
-  
-Pour le premier cas, la seule solution est de changer de police, mais  
-dans le second cas, il suffit en général de charger la table avec  
-loadunimap par exemple :  
-  
-  
-  
-  
-  
-loadunimap lat1u.uni  
-loadunimap lat5u.uni  
-loadunimap lat9u.uni  
-  
-  
-  
-  
-  
-  
-!!6.30 Kernel  
-  
-  
-  
-  
-  
-  
-Pour mettre un support pour le clavier français directement dans le  
-kernel, ce qui est pratique pour les systèmes embarqués ou ne démarrant que sur  
-disquettes, afin de gagner le maximum de place :  
-  
-  
-  
-  
-  
-/usr/bin/loadkeys loadkeys --mktable votre-table-de-clavier.map > /usr/src/linux/drivers/char/defkeymap.c  
-  
-  
-  
-  
-  
-  
-!!6.31 Lilo  
-  
-  
-  
-  
-  
-  
-Depuis la version 20, on peut spécifier un clavier (français, par  
-exemple) au démarrage de LILO.  
-  
-  
-Bien sur, cela ne fait qu'échanger quelques touches (a/q,m/:,... pour un  
-clavier fr) mais cela est assez utile lorsque l'on veut taper « win ».  
-  
-  
-Je vous conseille toutefois de ne pas faire de label utilisant des  
-touches qui diffèrent entre l'AZERTY et le QWERTY, ne serait-ce que si  
-vous devez avoir un jour un autre utilisateur sur votre ordinateur...  
-  
-  
-Il est plus simple de faire des labels courts et d'utiliser des  
-programmes comme GAG ou GRUB, remplaçant fort avantageusement les lignes  
-de lilo par un magnifique menu graphique dans le cas de GAG.  
-  
-  
-  
-  
-!!6.32 Groff (man)  
-  
-  
-  
-  
-  
-  
-Sur certaines distributions, le programme man n'est pas configuré pour  
-afficher les accents.  
-  
-  
-Si vous rencontrez ce problème, éditez son fichier de configuration  
-(/etc/man.config sur les distributions actuelles) et localisez une ligne  
-ressemblant à cela :  
-  
-  
-  
-  
-  
-NROFF /usr/bin/groff -Tascii -mandoc  
-  
-  
-  
-  
-Remplacez-là par :  
-  
-  
-  
-  
-  
-NROFF /usr/bin/groff -Tlatin1 -mandoc  
-  
-  
-  
-  
-Les vieilles versions de man utilisent aussi col, et le point suivant  
-s'applique aussi.  
-  
-  
-  
-  
-!!6.33 Divers  
-  
-  
-  
-  
-  
-  
-Une belle discussion sur le thème de l'ISO-8859-1 et sur « comment  
-manipuler les caractères 8-bits » est  
-disponible  
-  
-  
-----  
-  
-!!7. Réglage du clavier pour les applications X  
-  
-!!7.1 Les xterminaux (xterm, nxterm, rxvt...)  
-  
-  
-  
-  
-  
-  
-Les faire fonctionner avec toutes les touches standard du clavier 102 touches  
-relève du miracle, quant aux accents, seule une recompilation vous  
-permettra de les utiliser !  
-  
-  
-Pour xterm, essayez de mettre dans votre .Xdefaults :  
-  
-  
-  
-  
-  
-XTerm*eightBitInput: true  
-XTerm*eightBitOutput: true  
-*customization: -color  
-XTerm*VT100*Translations: #override\n\  
-XTerm*pointerColor: red  
-None<Key>Begin: string(0x1b) string("[[1~")\n\  
-None<Key>End: string(0x1b) string("[[4~")\n\  
-None<Key>Prior: scroll-back(1,halfpage)\n\  
-None<Key>Next: scroll-forw(1,halfpage)\n\  
-Shift<Key>Prior: scroll-back(1,page)\n\  
-Shift<Key>Next: scroll-forw(1,page)  
-XTerm*fontMenu*fontdefault*Label: Default  
-XTerm*VT100*font: 9x15  
-XTerm*fontMenu*font1*Label: Illisible  
-XTerm*VT100*font1: nil2  
-XTerm*fontMenu*font2*Label: Minuscule  
-XTerm*VT100*font2: 5x7  
-XTerm*fontMenu*font3*Label: Petit  
-XTerm*VT100*font3: 6x10  
-XTerm*fontMenu*font4*Label: Normal  
-XTerm*VT100*font4: fixed  
-XTerm*fontMenu*font5*Label: Moyen  
-XTerm*VT100*font5: 7x13  
-XTerm*fontMenu*font6*Label: Tres grand  
-XTerm*VT100*font6: 10x20  
-  
-  
-  
-  
-Dans .inputrc :  
-  
-  
-  
-  
-  
-# pour rxvt  
-"\e[[7~":beginning-of-line  
-"\e[[8~":end-of-line  
-# pour xterm  
-"\e[[H": beginning-of-line  
-"\e[[F": end-of-line  
-  
-  
-  
-  
-Mais ces deux solutions ne vous garantissent pas de résoudre tous les  
-problèmes de rxvt et de xterm ...  
-  
-  
-Pour les résoudre sans créer de fichiers dans  
-/usr/X11R6/lib/X11/app-defaults, je tiens sinon à votre  
-disposition un xiterm, un terminal X supportant *TOUTES* les touches des  
-claviers standard, avec Home, End, Page_Up (...) et même le  
-pavé numérique, fonctionnant comme en mode console, i.e.  
-Shift-Page_Up permettant de faire défiler une page, voire mieux : le  
-pavé numérique reconnaissant enfin la différence entre  
-Verr. Num allumé et Verr. Num éteint.  
-  
-  
-X international terminal (xiterm pour les intimes) est bien sûr sous GPL et  
-mis à jour pour suivre parallèlement l'évolution de rxvt.  
-  
-  
-Sur par exemple  
-mon site vous trouverez donc xiterm,  
-qui remplace votre xterm classique en y apportant la couleurs, les  
-accents et les touches étendues.  
-  
-  
-Pour l'installer, compilez-le, devenez root et tapez :  
-  
-  
-  
-  
-  
-rm /usr/X11R6/bin/xterm  
-rm /usr/X11R6/lib/X11/app-defaults/xterm  
-rm /usr/X11R6/lib/X11/app-defaults/rxvt  
-rm /usr/X11R6/lib/X11/app-defaults/Xterm  
-rm /usr/X11R6/lib/X11/app-defaults/XTerm  
-rm /usr/X11R6/lib/X11/app-defaults/Rxvt  
-rm /usr/X11R6/lib/X11/app-defaults/RXvt  
-cp xiterm /usr/local/bin  
-ln -sf /usr/local/bin/xiterm /usr/X11R6/bin/xterm  
-ln -sf /usr/local/bin/xiterm /usr/X11R6/bin/rxvt  
-  
-  
-  
-  
-  
-  
-!!7.2 Les applications Motif  
-  
-  
-  
-  
-  
-  
-Là, je n'ai malheureusement aucun remède miracle !  
-  
-  
-Il faudrait modifier le code source, code indiqué plus haut, pour  
-remplacer XLookupString par !XmLookupString.  
-  
-  
-Utilisez les possibilités du fichier french au lieu des touches mortes  
-(!AltGr (voyelle) : voyelle accent circonflexe... ) !  
-  
-  
-  
-  
-!!7.3 Le manuel  
-  
-  
-  
-  
-  
-  
-Pablo Saratxaga tient à votre disposition un xman modifié  
-pour qu'il supporte la variable « LANG » et puisse afficher les pages en  
-d'autres langues qu'anglais.  
-  
-  
-Il est disponible sur le lip6 en  
-sources  
-ou en  
-binaires  
-  
-  
-  
-!!7.4 !NumLock  
-  
-  
-  
-  
-  
-  
-Pour l'activer sous X, mettre en commentaire !ServerNumLock dans la  
-section keyboard de XF86Config, puis rajouter au dessous Xleds 2, ce qui  
-allumera la led.  
-  
-  
-Attention, ce conseil ne s'applique que lorsque l'on n'utilise pas xkb,  
-i.e. qu'on met !XkbDisable dans XF86Config...  
-  
-  
-  
-  
-!!7.5 XDM  
-  
-  
-  
-  
-  
-  
-/etc/X11/xdm/Xresources sert à ne rencontrer aucun problème avec les  
-touches « spéciales » (Home, End ...) sous X.  
-  
-  
-  
-  
-  
-xlogin*login.translations: #override\  
-Ctrl<Key>R: abort-display() \n\  
-<Key>!BackSpace: delete-previous-character() \n\  
-<Key>Home: move-to-begining() \n\  
-<Key>Delete: delete-character() \n\  
-<Key>End: move-to-end() \n\  
-<Key>Left: move-backward-character() \n\  
-<Key>Return: set-session-argument() finish-field() \n\  
-<Key>Right: move-forward-character()  
-  
-  
-  
-  
-  
-----  
-  
-!!8. Remerciements  
-  
-  
-  
-  
-  
-Ce document ne serait pas ce qu'il est sans l'aide de Nat Makarévitch  
-(nat à nataa.fr.eu.org) qui l'a relu et m'a aidé à le modifier de nombreuses  
-fois.  
-  
-  
-Un excellent document plus générique, traitant de l'installation par ex,  
-est le Guide du Rootard, disponible sur  
-freenix ou  
-le lip6  
-  
-Remercions enfin par ordre alphabétique ces contributeurs :  
-  
-Jean-Michel Antoine  
-Michel Billaud  
-Chmouel Boudjnah  
-Stephane Bortzmeyer  
-Denis Braussen  
-Rémy Card  
-Julien Cassaigne  
-Xavier Cazin  
-Laurent Chemla  
-René Cougnenc  
-Bruno Cornec  
-Yann Dirson  
-Éric Dubreuil  
-Éric Dumas  
-Arnaud Gomes-do-Vale  
-Pierre Ficheux  
-Laurent Frigault  
-Hugolino  
-Antoine Leca  
-Frederic Lepied  
-Jeannot Langlois  
-Stephane Marzloff  
-Marc Merlin  
-Thomas Parmelan  
-Frédéric Petit  
-Thomas Quinot  
-David Robert  
-Olivier Robert  
-Benjamin Ryzman  
-Pablo Saratxaga  
-Julien Simon  
-Loïc Tortay  
-J.M. Vansteene  
-  
-  
-  
-Surtout, si je vous oublie, signalez-le moi !  
-De même si vous ne voulez plus figurer dans cette liste...  
-  
-  
-Envoyez moi vos suggestions et modifications (guylhem à metalab.unc .edu), je me  
-ferai un plaisir de les intégrer dans les prochaines versions !  
-  
-  
-Signalez-moi aussi les erreurs : cet HOWTO est en perpétuel changement, avec  
-des nouveautés incluses à chaque version ; des erreurs peuvent facilement s'y  
-glisser !  
-  
-  
-  
----  
+Describe [HowToFrancophonesHOWTO ] here