Journal Booter Linux en francais ?

Posté par  .
Étiquettes : aucune
0
19
avr.
2004
J'ai pas mal questionné Google, mais j'ai dû mal m'y prendre...
Comment donc faut-il faire pour que Linux boote en français, sachant que je suis en Debian/sarge avec Lilo ?
Merci d'avance.
  • # Re: Booter Linux en francais ?

    Posté par  . Évalué à 1.

    Qu'est ce que tu entends par booter ?
    Les messages du noyau au démarrage ?
    Les messages des différents services lancés au démarrage ?
    Ou l'interface graphique finale (KDE, Gnome, etc...) ?
    • [^] # Re: Booter Linux en francais ?

      Posté par  . Évalué à 1.

      Tout ça à la fois !
      En fait, c'est partit de la configuration de Gdm : la mire de login est en Anglais. J'ai cherché pour y mettre en français, et le seul truc que j'ai trouvé, c'est d'ajouter une ligne "LC_ALL=fr_FR@euro" (par exemple) dans /etc/init.d/gdm. Cette solution ne me semble pas très propre.
      Il doit tout de même bien y avoir un moyen propre, type "The Right Way (tm)", pour que l'ensemble de la séquence de boot se déroule en français, et par conséquent que Gdm se lance également en français.
      • [^] # Re: Booter Linux en francais ?

        Posté par  . Évalué à 1.

        Les messages du boot du noyau en Français, c'est simple : il faut le traduire. Si tu finis, ca serait sympa que tu fournisses le patch...
        Sinon, la solution en dessous est la bonne, en choisissant le francais comme locale par défaut (deuxième question). Reste les messages des services, et là, c'est pas gagné non plus, il faut faire au cas par cas.
        • [^] # Re: Booter Linux en francais ?

          Posté par  (site web personnel) . Évalué à 1.

          Les messages du boot du noyau en Français, c'est simple : il faut le traduire. Si tu finis, ca serait sympa que tu fournisses le patch...

          M'étonnerait qu'ils en veuillent. déjà ça ferait un mega-patch, ensuite les libs comme gettext ne sont pas dispos dans le noyau (forcément), et surtout, ça compliquerait terriblement le travail de debug des développeurs à qui on envoie des dmesg et des stacktraces...

          Maintenant, pour que tout [ce qui est traduit] s'affiche dans la bonne langue dès après le lancement d'init, ce serait dans /etc/default/i18n (où il faut définir LC_ALL) ou équivalent...
          • [^] # Re: Booter Linux en francais ?

            Posté par  . Évalué à 1.

            Entièrement d'accord avec toi. Il n'empêche que pour un public averti, ca peut être sympa. Ex : tu mets le noyau par défaut de la Sarge lors de sa sortie, tu te fais un noyau correspondant en francais, et tu gardes le noyau (en faisant quand même les mises à jour de sécu) jusqu'à la prochaine stable !
        • [^] # Re: Booter Linux en francais ?

          Posté par  . Évalué à 1.

          OK, les msg de boot ne sont pas traduit.
          Indépendamment de ça, il doit bien y avoir un moyen de spécifier quelque part LC_ALL=fr_FR@euro de sorte que cela soit pris en compte le plus tôt possible dans la séquence de boot ? La question c'est où...
          • [^] # Re: Booter Linux en francais ?

            Posté par  . Évalué à 1.

            Par exemple, j'ai trouvé ça sur le net dans un man init, mais ça n'a l'air de marcher que sous Solaris. Dommage...

            init and System Booting
            When the system is booted, init is invoked and the following
            occurs. First, it reads /etc/default/init to set environment
            variables. This is typically where TZ (time zone) and
            locale-related environments such as LANG or LC_CTYPE get
            set.
      • [^] # Re: Booter Linux en francais ?

        Posté par  . Évalué à 1.

        La version dispo dans debian de GDM est bugguée depuis des lustres et ne gère pas les locales (enfin si mais très mal) et je ne suis toujours pas arrivé à le mettre en français... Visiblement la 2.0.17 (ou un truc comme ça) corrige le problème mais aucun paquet debian ne propose de gdm supérieur à 2.0.7...
        • [^] # Re: Booter Linux en francais ?

          Posté par  . Évalué à 3.

          Il faut utiliser un petit truc pour démarrer GDM dans la locale désirée. Le plus efficace étant celui-ci :
          $ mv /usr/bin/gdm /usr/bin/gdm-binary

          ensuite se créer un petit script shell qui va wrapper tout ça : /usr/bin/gdm

          -- couper là--
          #! /bin/sh

          if [ -f /etc/environment ]; then
          source /etc/environment
          fi
          export LANG LANGUAGE LC_ALL

          exec /usr/bin/gdm-binary
          -- couper là--

          ensuite, il suffit de faire un ` kill -TERM gdm && gdm-binary ` ou pour vraiment vérifier que ça marche bien : reboot et cette fois GDM devrait être en français.

          Voilà, c'est tout. C'est simple et bidon, mais le mainteneur officiel du paquet GDM (Debian) ne veut pas utiliser ce genre de truc, pour certaines raisons obscures [et en plus il toujours très en retard sur les versions de GDM].

          Nota: un script plus propre ne ferait que parcourir le fichier /etc/environment pour y extraire seulement les variables nécessaires ( LANG, LANGUAGE et LC_ALL )
      • [^] # Re: Booter Linux en francais ?

        Posté par  . Évalué à 1.

        # dpkg-reconfigure locales

        choisir les locales à compiler, choisir la locale par défaut du système, et ça roule...
  • # Re: Booter Linux en francais ?

    Posté par  (site web personnel) . Évalué à 2.

    lilo n'a rien à voir la dedans,

    dpkg-reconfigure locales :

    sélectionner les iso8859-1 ou/et utf-8 français puis fr_FR

    et roulez
    • [^] # Re: Booter Linux en francais ?

      Posté par  . Évalué à 1.

      J'ai déjà ça dans /etc/locale.gen :

      en_US ISO-8859-1
      fr_FR ISO-8859-1
      fr_FR@euro ISO-8859-15

      En gros, je ne veux pas me priver définitivement des locales en_US. Je vais essayer de changer l'ordre mais je suis sceptique quant au résultat.
      • [^] # Re: Booter Linux en francais ?

        Posté par  . Évalué à 2.

        en mettant dans /etc/environment
        LANG=fr_FR@euro (ou fr_FR)

        tu dois pouvoir franciser tout ce qui est localisable (si les utilisateurs n'ont pas leurs propres réglages LC_*). mais je ne pense pas que lilo puisse être francisé, et encore moins les messages du noyau...
        • [^] # Re: Booter Linux en francais ?

          Posté par  . Évalué à 1.

          Déjà essayé... Sans succès :o/
          • [^] # Re: Booter Linux en francais ?

            Posté par  (site web personnel) . Évalué à 1.

            Tu n'aurais pas utilisé l'utilitaire localepurge par hasard ?

            Qu'est-ce qui n'est pas en Français ? les pages de mans ? les menus ?
            tu as les caractères accentués ? dans les consoles ça marche ? par exemple est-ce que dselect est en Français ? Le display manager est comment ?
            • [^] # Re: Booter Linux en francais ?

              Posté par  . Évalué à 1.

              Oui j'ai localepurge. Mais il garde le français, bien sûr !

              Les process lancés par init ne sont pas en français.
              Tout simplement parce que je ne sais pas positionner la variable d'environnement LC_ALL (ni n'importe quelle autre) pour init.
              C'est ça la question en fait.
              • [^] # Re: Booter Linux en francais ?

                Posté par  (site web personnel) . Évalué à 1.

                tu crées un fichier 'meslocales' dans /etc/init.d avec cette stucture :


                  #! /bin/sh
                  case "$1" in
                  start)
                  # tu définis tes variables d'environnement
                  ;;
                  esac


                puis tu linkes depuis /etc/rc2.d

                si 2 est bien ton runlevel par défaut.

                genre :
                $ ln -s /etc/init.d/meslocales /etc/rc2.d/S10meslocales
                • [^] # Re: Booter Linux en francais ?

                  Posté par  . Évalué à 0.

                  Euh... Je ne vois pas comment ça pourrait marcher.
                  Il me semble que ces scripts (init.d) sont exécutés et non sourcés.
  • # Re: Booter Linux en francais ?

    Posté par  . Évalué à 1.

    Bien, je résume ici le résultat des courses :
  • L'idéal serait de pouvoir passer la variable d'environnement LC_ALL à init, père de tous les process.
    Cela ne semble pas possible sous Linux.
    Sous Solaris, cela peut se faire via le fichier /etc/default/init.
  • La meilleure solution ensuite semble être "dpkg-reconfigure locales" : le deuxième écran permet de choisir la locale par défaut du système.
    Son action se limite cependant à ajouter la ligne "LANG=fr_FR@euro" dans /etc/environment.
  • Ce que j'ai fait :
    Modifié /etc/environment avec "export LC_ALL=fr_FR@euro". Cela ne suffit pas.
    Pour Gdm, j'ajoute une ligne ". /etc/environment" au début de /etc/init.d/gdm.

  • Voilà. Je ne suis pas entièrement satisfait, mais ça devrait pouvoir tourner comme ça.
    Merci à tous.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.