View previous topic :: View next topic |
Author |
Message |
razaina n00b
Joined: 17 Jul 2012 Posts: 17
|
Posted: Tue Jul 17, 2012 7:01 pm Post subject: [RESOLU][locale] Problèmes de locale après mise-à-jour |
|
|
Bonjour,
étant newbie sur gentoo je me tourne vers vous après avoir tenté de régler tout seul ce problème de locale et n'ayant pas réussis après avoir essayé de resuivre le manuel sur la configuration UTF-8 et les locales.
j'ai fais une mise à jour de mon système :
Code: | > emerge --sync
> emerge -av --update --deep system world -e |
dans cette mise à jour il y avait la mise à jour du kernel (3.2.21 --> 3.3.8 )
Donc après l'emerge je met à jour le noyau manuellement en n'oubliant pas de reprendre mon ancien .config. Je modifie le lien symbolique du répertoire "linux" vers celui du nouveau kernel.
Je fais un make menuconfig pour vérifier que tout est à sa place. Je compile le kernel et je met à jour le /boot/ et mon grub.
Je boot tous marche bien sauf que quand je passe en root avec su j'ai ce message :
Code: | > bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) |
En tant que simple utilisateur tout est passé en anglais alors que j'étais en français (fr_FR.UTF-8 ) :
Code: |
razaina ~ % 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.UTF-8
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=en_US.UTF-8
|
En root pareil, tous est en anglais :
Code: |
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.UTF-8
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=en_US.UTF-8
|
Voici le contenu de mon /etc/env.d/02locale :
Code: |
> cat /etc/env.d/02locale
LANG="fr_FR.UTF-8"
|
Voici mon locale.gen :
Code: |
> cat /etc/locale.gen
fr_FR.UTF-8 UTF-8
fr_FR ISO-8859-1
fr_FR@euro ISO-8859-15
|
Quand je lance la commande locale-gen :
Code: |
> locale-gen
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
* Generating 3 locales (this might take a while) with 1 jobs
* (1/3) Generating fr_FR.UTF-8 ... [ ok ]
* (2/3) Generating fr_FR.ISO-8859-1 ... [ ok ]
* (3/3) Generating fr_FR.ISO-8859-15@euro ... [ ok ]
* Generation complete
|
env-update && source /etc/profile
Code: |
> env-update && source /etc/profile
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
>>> Regenerating /etc/ld.so.cache...
sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
|
Quand on fait locale c'est toujours en anglais.
Une autre remarque, j'avais le flag "-vanilla" que j'avais mis dans le USE global (je ne savais pas encore utilisé le fichier package.use) du coup je crois que cela a eu un impact sur glibc non ?
Depuis je l'ai viré et j'ai recompilé glibc en n'oubliant pas d'utilisé l'option --newuse.
Néanmoins le problème persiste toujours. Est-ce que bash est a recompilé aussi ? En simple utilisateur la touche supprimé ne marche plus ça imprime juste le caractère "~" au lieu de supprimer.
J'ai vérifié et revérifié le kernel 3.3.8, il y a bien le support de l'utf8 dans "Native Language Support" et "nls" est bien dans mon USE global.
D'ailleurs voici mon USE :
Code: |
USE="optimization zsh-completion \
vim-completion dbus exceptions dri nls zlib gdbm \
ipv6 ncurses readline ssl crypt X bzip2 udev \
xorg acl gpm unicode truetype xft nforce2 pmu \
apache2 vim-syntax gtk lcms icu pam sasl gpg"
|
Merci d'avance pour vos suggestions, votre aide.
Last edited by razaina on Thu Jul 19, 2012 10:02 am; edited 2 times in total |
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8710 Location: ~Brussels - Belgique
|
Posted: Tue Jul 17, 2012 7:26 pm Post subject: |
|
|
Bonjour,
Je te conseille de mettre des locale EN dans /etc/locale.gen. _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
nox23 n00b
Joined: 15 Jul 2012 Posts: 36
|
Posted: Tue Jul 17, 2012 11:18 pm Post subject: |
|
|
Bonjour,
suis bien ce guide : http://www.gentoo.org/doc/fr/guide-localization.xml
évite de lancer ce genre de commande pour update : emerge -av --update --deep system world -e
juste un emerge -au world suffit, ca t'évitera pas mal de soucis et assure la consistance de ton linux.
comme le collègue regen les locales :
cat /etc/locale.gen
en_US ISO-8859-1
en_US.UTF-8 UTF-8
fr_FR ISO-8859-1
fr_FR@euro ISO-8859-15
fr_FR.UTF-8 UTF-8
et emerge --oneshot glibc |
|
Back to top |
|
|
razaina n00b
Joined: 17 Jul 2012 Posts: 17
|
Posted: Wed Jul 18, 2012 5:30 pm Post subject: |
|
|
Bonjour,
j'ai suivi vos conseils, je n'ai plus de soucis de locale par rapport à l'environnement globale.
C'est à dire, je n'ai plus d'erreurs liées aux locales quand je lance "su", ou quand j'utilise python ou perl, etc.
mais je n'arrive toujours pas à retourner en full français :
En root :
Code: |
> locale
LANG=en_US.UTF-8
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=en_US.UTF-8
|
En simple user:
Code: |
> locale
LANG=en_US.UTF-8
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=en_US.UTF-8
|
J'ai bien recompilé avec emerge --oneshot glibc après modifications de locale.gen.
Voici l'état actuel de mes locales :
cat /etc/locale.gen
Code: |
en_US ISO-8859-1
en_US.UTF-8 UTF-8
fr_FR.UTF-8 UTF-8
fr_FR ISO-8859-1
fr_FR@euro ISO-8859-15
|
cat /etc/env.d/02locale
Code: |
LANG="fr_FR.UTF-8"
LC_COLLATE="C"
|
Pour la keymap :
cat /etc/conf.d/keymaps :
Dans le .bashrc :
cat ~/.bashrc
Code: |
export LANG="fr_FR.UTF-8"
export LC_COLLATE="C"
|
Dans le terminal la touche "Del" "PgUp" et "PgDown" me sort toujours des "~" quand je suis en utilisateur normal. Ca ne le fait pas quand je suis en root. La seule différence c'est que en simple utilisateur j'utilise zsh, et j'ai laissé bash en root. J'utilise urxvt comme terminal.
Est-ce lié au shell + locale le problème des touches ? ou shell + locale + terminal ? |
|
Back to top |
|
|
boozo Advocate
Joined: 01 Jul 2004 Posts: 3193
|
|
Back to top |
|
|
razaina n00b
Joined: 17 Jul 2012 Posts: 17
|
Posted: Wed Jul 18, 2012 6:41 pm Post subject: |
|
|
Titre modifié.
J'ai viré les export qui étaient dans le bashrc, j'ai quitté X et je me suis reloggué. Ca n'a rien changé.
Y a-t'il un paquet en particulier que je dois recompiler ? j'ai déjà recompilé bash, zsh, urxvt dans le doute. A moins que tous le système doit être recompilé ? Y a-t'il quelque chose d'anormal dans mon USE globale dans le /etc/make.conf (voir un peu plus haut). |
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8710 Location: ~Brussels - Belgique
|
Posted: Wed Jul 18, 2012 7:06 pm Post subject: |
|
|
as-tu lancé env-update après avoir changé LC* ? _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
razaina n00b
Joined: 17 Jul 2012 Posts: 17
|
Posted: Wed Jul 18, 2012 7:14 pm Post subject: |
|
|
oui. A chaque fois que j'utilise locale-gen je n'oublie jamais de faire env-update && source /etc/profile.
Je suppose qu'il n'y a pas besoin de rebooter. Quitter X suffit non? |
|
Back to top |
|
|
razaina n00b
Joined: 17 Jul 2012 Posts: 17
|
Posted: Wed Jul 18, 2012 8:26 pm Post subject: |
|
|
Bon mon soucis des touches qui se transformaient en "~" est résolu et n'avait strictement rien avoir avec les locales. La solution était ici https://forums.gentoo.org/viewtopic.php?p=1570687.
Sinon, malgré toutes les modifs que j'ai faite, le problème des locales qui persistent à rester en en_US au lieu de fr_FR est bizarre. Le seul endroit ou je précise en_US c'est dans locale.gen comme vous m'aviez conseillé un peu plus haut. Ce qui a résolu d'ailleurs le problème du "Cannot change locale" à chaque fois que j'exécutais quelque chose. |
|
Back to top |
|
|
razaina n00b
Joined: 17 Jul 2012 Posts: 17
|
Posted: Thu Jul 19, 2012 7:11 am Post subject: |
|
|
Bonjour,
étant donné que mon soucis est quasi résolu (plus de messages d'erreurs concernant les locales) je peux clore ce topic non ? A moins que pour vous, le fait de ne pas réussir à passer full fr_FR reste un problème à résoudre par rapport au topic ? je me souviens qu'avant l'update tous mes LC_* étaient en fr_FR.*
Pour l'instant, mon système à l'air stable, je n'ai pas de bug d'accents etc., pas de bug de caractères dans le shell ni vim. Donc au pire, si pour vous tout semble normal, par rapport au prints que j'ai fait avant, je peux clore ce topic. |
|
Back to top |
|
|
boozo Advocate
Joined: 01 Jul 2004 Posts: 3193
|
|
Back to top |
|
|
razaina n00b
Joined: 17 Jul 2012 Posts: 17
|
Posted: Thu Jul 19, 2012 7:52 am Post subject: |
|
|
J'ai refais/rechecké toutes les modifs que vous m'aviez conseillé tout au long de ce topic.
Après reboot, toujours rien.
Que ce soit en root ou en simple user, j'ai toujours tout en en_*, sauf LANG qui est resté en fr_FR.
Qu'est-ce que je peux fournir de plus ici, pour y voir plus clair ? (des fichiers de conf, ou de log en particulier etc.)
Quel programme s'occupe de "setter" les locales ? à quel moment particulier ? Un programme peux modifier ces locales à n'importe quel moment ? |
|
Back to top |
|
|
boozo Advocate
Joined: 01 Jul 2004 Posts: 3193
|
|
Back to top |
|
|
nox23 n00b
Joined: 15 Jul 2012 Posts: 36
|
Posted: Thu Jul 19, 2012 8:16 am Post subject: |
|
|
si dans un terminal tu fais :
export LANG="fr_FR.UTF-8"
puis
locale
que te donne la commande ? |
|
Back to top |
|
|
razaina n00b
Joined: 17 Jul 2012 Posts: 17
|
Posted: Thu Jul 19, 2012 8:25 am Post subject: |
|
|
Voici les résultats du eselect locale :
eselect locale list :
Code: |
Available targets for the LANG variable:
[1] C
[2] en_US
[3] en_US.iso88591
[4] en_US.utf8
[5] français
[6] french
[7] fr_FR
[8] fr_FR@euro
[9] fr_FR.iso88591
[10] fr_FR.iso885915@euro
[11] fr_FR.utf8
[12] POSIX
[13] fr_FR.UTF-8 *
[ ] (free form)
|
Et quand je fais export LANG="fr_FR.UTF-8", en tant que simple user j'ai ceci quand je tape locale:
Code: |
LANG=fr_FR.UTF-8
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=en_US.UTF-8
|
|
|
Back to top |
|
|
boozo Advocate
Joined: 01 Jul 2004 Posts: 3193
|
|
Back to top |
|
|
razaina n00b
Joined: 17 Jul 2012 Posts: 17
|
Posted: Thu Jul 19, 2012 8:38 am Post subject: |
|
|
Je n'ai rien dans mon bashrc . Avant j'avais juste les export LANG et LC_*.
mais, comme dit plus haut,:
boozo wrote: |
Donc dans un premier temps, commente tes 2 lignes dans ton bashrc et ne conserve que LANG dans le fichier de conf des locales.
|
je les ai retiré, et du coup je n'ai plus rien dans mon bashrc. |
|
Back to top |
|
|
boozo Advocate
Joined: 01 Jul 2004 Posts: 3193
|
|
Back to top |
|
|
razaina n00b
Joined: 17 Jul 2012 Posts: 17
|
Posted: Thu Jul 19, 2012 10:01 am Post subject: |
|
|
boozo wrote: |
Au fait, tu en as parlé mais tu utilises zsh ?
|
Tu as mis le doigt pile sur le problème . Je n'y avais pas du tout pensé, mais du tout... sorry.
En effet zsh exportait en anglais les locales... du coup tout s'explique... J'ai commenté les bonnes lignes dans mon fichier de configuration. J'avais repris la config zsh de mon ordi au taf qui était full anglais utf8, j'y avais pas du tout pensé.
Merci à tous en tout cas. Je peux clore le topic. |
|
Back to top |
|
|
boozo Advocate
Joined: 01 Jul 2004 Posts: 3193
|
|
Back to top |
|
|
|