[RESOLU] Pb de locales et slim

Bonjour à tous.

Voici que j’ai depuis un jour un problème de locales.

Pour mon utilisateur :

hades@verveine:~%locale LANG= LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL=
Pour mon root :

verveine:/home/hades# 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=

J’aimerai que mon utilisateur utilise de-nouveau la même locale que root.

Comment faire ?

En root :

Tu y mets ceci :

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=

Rebootes. L’environnement sera le même pour tous les utilisateurs de ton système.

Si ca ne fonctionne toujours pas, verifie ~/.profile et à la limite ~/.bashrc de ton user (mais pour ce dernier il ne devrait rien avoir concernant la locale dedans !).

Je viens de faire mon /etc/environment :

hades@verveine:~%cat /etc/environment 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=

Un reboot, et ma locale est toujours POSIX.

Pour le shell, j’utilise zsh et mon fichier ~/.zshrc ne contient aucune référence aux locales.
Pour le ~/.profile je n’en ai pas.

:033

Biensur que j’ai essayé le dpkg-reconfigure locales en sélectionnant “en_US.UTF-8” en locale par défaut mais celà n’a rien changé.

Il me semble que le fichier /etc/environment n’est plus utilisé (mais je me trompe peut-être).

Tu as le même problème en tty ?
Sinon il faudrait regarder dans ton ~/.Xsession ou dans le fichier de conf de ton émulateur de terminal, voir s’il n’y a rien concernant les locales.

kna tu as raison, je n’ai pas le problème en tty.

Je suis un vrai boulet, j’aurai pu y penser. J’investigue les autres fichiers.

Bon alors, quand je lance mon système avec startx je n’ai pas ce problème. Je vais donc regarder ma conf de slim (mon login manager). Sinon je n’ai pas de .xsession

:114

[quote=“Anthropo”]
Knucky=> le reboot d’un systeme linux est necéssaire seulement pour changer le kernel. pour le reste en général il suffit juste de renouveller la session de l’utilisateur.[/quote]

Oui et non :stuck_out_tongue: Et dans ce cas c’est non, car c’est un passage de posix en utf8.

Imagines un démon de backup qui utilise pas iconv, ce démon est en locale C car lancé avant la modif d’environment, toi tu viens de changer en utf8, il va donc vérifier tes fichiers, va forcément faire un backup de tous les fichiers :smt006

Il va ensuite faire un checksum, mais vu qu’il est toujours en locale C le démon, c’est foutu… le démon boucle.

En théorie c’est fixé, donc tu as raison. Mais vaut mieux être prudent, parce que on peut toujours se retrouver avec l’inverse de ceci : bugs.debian.org/cgi-bin/bugreport.cgi?bug=497835 :smiling_imp:

:075

Nikel c’est bien un bug de slim. Je vais corriger tout ça.

Merci à tous.

Voici la solution que j’ai retenu :

créer un fichier /etc/pamd.d/slim :

[code]#

/etc/pam.d/slim - based on /etc/pam.d/other

This module parses environment configuration file(s)

and also allows you to use an extended config

file /etc/security/pam_env.conf.

parsing /etc/environment needs “readenv=1”

session required pam_env.so readenv=1

locale variables are also kept into /etc/default/locale in etch

reading this file in addition to /etc/environment does not hurt

session required pam_env.so readenv=1 envfile=/etc/default/locale

@include common-auth
@include common-account
@include common-password
@include common-session
[/code]

Maintenant la session est bien avec la bonne locale.

Merci encore pour le coup de main.