Résoudre ton pb de locales, car apparemment ça te constipe tout le système
Carrément !
Alors voilà mes sorties aujourd’hui, je les copie à la main, pas le choix :
locale
root@eos:~# locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
locale -a
root@eos:~# locale -a
C
C.UTF-8
en_AG
en_AG.utf8
...
en_US.utf8
...
fr_LU.utf8
POSIX
locale-gen
root@eos:~# locale-gen
Generating locales...
en_AG.UTF-8... up-to-date
...
en_US.UTF-8... up-to-date
...
fr_LU.UTF-8... up-to-date
Generation complete.
cat/etc/default/locale
[code]root@eos:~# cat/etc/default/locale
LANG=en_US.UTF-8
LC_MESSAGES=POSIX
=
=
[/code]
cat /etc/environment
root@eos:~# cat/etc/environment
PATH="/usr/local/sbin:usr/local/bin/:usr/sbin:usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
Tu as/vous avez une idée ?
Tout me paraît en ordre à ce niveau, par contre, ton message d’erreur lors de manipulations avec aptitude indique:
LANGUAGE = "en_US:en",
LC_ALL = (unset),
LC_MESSAGES = "POSIX",
LANG = "en_US.ISO-8859-1"
D’où sort-il les en_US:en et POXSIX et en_US.ISO … ?
Est-ce à dire que ces locales sont réajustées à un autre endroit ?
As-tu modifié des fichiers “profile” ? Pour root également ? Des choses dans /etc/profile, /etc/profile.d ?
Tu lances aptitude avec sudo, est-ce que ça revient au même si tu le lances sans sudo, c’est à dire en faisant un [mono]su[/mono] ?
Pourquoi évoques-tu le programme aptitude ? Je ne m’en suis pas servi ici, et je viens de me rendre compte qu’il n’est pas installé.
J’avais défini l’anglais comme langue lors de l’installation, par contre je n’ai pas le souvenir d’avoir choisi UTF-8, et encore moins ISO-8859. Je ne sais pas du tout d’où ces valeurs viennent, mais il semble bien que les locales soient réajustées à un autre endroit, oui ! Par contre rien dans /etc/profile, /etc/profile.d !
Par ailleurs j’ai essayé de faire le chemin inverse pour repasser en ISO-8859-1, avec la “console de secours”, j’ai donc tenté
export LANGUAGE=en_US.ISO-8859-1
export LANG=en_US.ISO-8859-1
export LC_ALL=en_US.ISO-8859-1
locale-gen en_US.ISO-8859-1
dpkg-reconfigure locales
LC_ALL n’accepte pas de valeur, et par ailleurs, j’ai l’impression que je suis dans une sorte de mode “read only”, ces modifications ne sont pas prises en compte quand je redémarre.
Sans même rebooter, si je sors de la console que je rentre à nouveau, les locales reviennent à UTF-8.
c’est normal, les “export” sont temporaires, ils servent à conserver la valeur de la variable dans le shell courant ainsi que dans les shells fils.
apt-get ou aptitude c’est kiff-kiff, ce dernier est juste un peu plus pratique.
D’ac, du coup que me conseilles-tu ? Ça serait une bonne idée de revenir à LANG=en_US.ISO-8859-1, la situation de départ, pour récupérer le GUI, non ? Comment je pourrais faire ça ?
As-tu encore des messages d’erreur avec apt-get ou aptitude ? T’as mis à jour tout ton système ?
Je ne comprends pas, je n’ai jamais eu de message d’erreur avec apt-get. À quoi fais-tu référence ?
Je me suis mélangé les pinceaux, et heureusement…
J’ai confondu avec les dpkg-reconfigure et autres, donc je pensais que tes messages d’erreur [mono]Perl: etc…[/mono] apparaissaient à chaque opération d’aptitude.
Si le résultat de [mono]locale[/mono] et ceux détectés par Perl, ne correspondent pas, je ne sais toujours pas pourquoi… Du moins, si:
En étant simple utilisateur, tes locales sont:
LANG=en_US.ISO-8859-1
LANGUAGE=en_US:en
En étant root, elles sont:
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
Donc tes locales en tant que simple utilisateur, c’est pas terrible. D’où ma requête, lancer dkpg-reconfigure (et non aptitude, là mon gourage) avec [mono]su[/mono] plutôt qu’avec [mono]sudo[/mono], histoire de voir si ça change qqch.
Reste à voir si tes locales en tant que simple utilisateur sont encore ajustées comme tu l’as indiqué. Elles sont effectivement modifiables par un “export blablabla”, qui est peut-être présent dans ton profil utilisateur.
Non non, ça n’est pas ça. Mes locales étaient celle-là :
darko@eos:~$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.ISO-8859-1
LANGUAGE=en_US:en
LC_CTYPE="en_US.ISO-8859-1"
LC_NUMERIC="en_US.ISO-8859-1"
LC_TIME="en_US.ISO-8859-1"
LC_COLLATE="en_US.ISO-8859-1"
LC_MONETARY="en_US.ISO-8859-1"
LC_MESSAGES="en_US.ISO-8859-1"
LC_PAPER="en_US.ISO-8859-1"
LC_NAME="en_US.ISO-8859-1"
LC_ADDRESS="en_US.ISO-8859-1"
LC_TELEPHONE="en_US.ISO-8859-1"
LC_MEASUREMENT="en_US.ISO-8859-1"
LC_IDENTIFICATION="en_US.ISO-8859-1"
LC_ALL=
J’ai voulu les changer parce que j’avais un problème d’accent circonflexe et de tréma dans libreoffice… J’ai donc tapé, en sudo :
export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
locale-gen en_US.UTF-8
dpkg-reconfigure locales
Problème, mon système se bloque désormais pendant le boot. Je n’ai plus accès qu’au compte root “de maintenance”. Je ne peux donc pas répondre à ta question, mais je pense que le langage sélectionné est bien UTF-8 maintenant, et que ça cause ce problème.
J’ai essayé de revenir à la situation de départ en tapant :
export LANGUAGE=en_US.ISO-8859-1
export LANG=en_US.ISO-8859-1
locale-gen en_US.ISO-8859-1
dpkg-reconfigure locales
Malheureusement, le changement ne semble pas pris en compte quand je reboot. À ton avis, puis-je faire quelque chose, à part réinstaller, ce qui serait quand même idiot ?
Si ça a une chance de résoudre une question de locales manquantes, tu peux les installer toutes avec le paquet locales-all, mais bon c’est au petit bonheur la chance car je ne sais pas quel problème tu as.
Si tu as un plantage de Xorg, il faut vérifier ses logs (/var/log/Xorg.0.log). Je suis peut-être allé trop vite en disant que son refus de démarrage venait des locales.
Changer de /home m’a permis de récupérer des locales normales.