566 votes

Comment puis-je résoudre mon problème de localisation ?

Je reçois ce message chaque fois que je fais quelque chose comme démarrer ou arrêter un service.

perl: avertissement: échec du réglage de la locale.
perl: avertissement: Merci de vérifier que vos paramètres de locale :
        LANGUAGE = "en_US:en",
        LC_ALL = (unset),
        LC_MESSAGES = "en_US.UTF-8",
        LANG = "en_US.UTF-8"
    sont pris en charge et installés sur votre système.
perl: avertissement: Retour au réglage de locale standard ("C").
locale: Impossible de définir LC_CTYPE sur la locale par défaut : Aucun fichier ou dossier de ce type
locale: Impossible de définir LC_MESSAGES sur la locale par défaut : Aucun fichier ou dossier de ce type
locale: Impossible de définir LC_ALL sur la locale par défaut : Aucun fichier ou dossier de ce type
(Lecture de la base de données ... 21173 fichiers et répertoires déjà installés.)
Suppression de bind9 ...
 * Arrêt du service de nom de domaine... bind9                                        [ OK ]
Traitement des déclencheurs pour man-db ...
locale: Impossible de définir LC_CTYPE sur la locale par défaut : Aucun fichier ou dossier de ce type
locale: Impossible de définir LC_MESSAGES sur la locale par défaut : Aucun fichier ou dossier de ce type
locale: Impossible de définir LC_ALL sur la locale par défaut : Aucun fichier ou dossier de ce type

Comment puis-je résoudre cette erreur ?

0 votes

0 votes

Solution facile et permanente pour tous les utilisateurs : askubuntu.com/questions/881742/…

10voto

Ajeet Khan Points 493

J'ai écrit un script bash pour corriger le problème ci-dessus. Les réponses ci-dessus sont utiles mais définir les variables de locale en exportant simplement les valeurs dans une variable shell ne fonctionnera que pour une session. J'ai résolu ce problème de manière permanente en exportant les variables de locale dans le fichier .bash_profile. Vous pouvez également utiliser le fichier /etc/profile au lieu de .bash_profile.

echo "export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8">>~/.bash_profile

N'oubliez pas de source le .bash_profile et suivez le script pour une configuration facile.

8voto

Koss Points 189

Vous pouvez essayer :

export LANGUAGE=ru_RU.UTF-8
export LC_CTYPE=ru_RU.UTF-8
export LC_NUMERIC=ru_RU.UTF-8
export LC_TIME=ru_RU.UTF-8
export LC_COLLATE=ru_RU.UTF-8
export LC_MONETARY=ru_RU.UTF-8
export LC_MESSAGES=ru_RU.UTF-8
export LC_PAPER=ru_RU.UTF-8
export LC_NAME=ru_RU.UTF-8
export LC_ADDRESS=ru_RU.UTF-8
export LC_TELEPHONE=ru_RU.UTF-8
export LC_MEASUREMENT=ru_RU.UTF-8
export LC_IDENTIFICATION=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8

ru_RU est le code de votre pays.

7voto

La réponse actuelle acceptée n'est pas suffisante dans la stratégie de dépannage car vous pouvez avoir une erreur humaine. Vous avez configuré votre système en en_US mais vous avez activé en_GB dans /etc/locale.gen comme je l'avais dans le fil de discussion ici pour Raspberry Pi 3b. Vous devriez avoir toutes vos locales utilisées activées dans /etc/locale.gen.

J'avais seulement activé en_GB.UTF-8 UTF-8 dans /etc/locale.gen. Je aurais dû avoir seulement activé en_US.UTF-8 UTF-8 là-bas en raison d'autres commandes exécutées pour cela. Donc j’ai commenté GB et décommenté US, et maintenant tout fonctionne

masi@raspberrypi:~ $ sudo vim /etc/locale.gen

masi@raspberrypi:~ $ sudo locale-gen 
Génération des locales (cela pourrait prendre un certain temps)...
  en_US.UTF-8... fait
Génération terminée.

masi@raspberrypi:~ $ sudo a2enmod rewrite && a2enmod headers && a2enmod ssl
Le module rewrite est déjà activé
Le module headers est déjà activé
Envisager la dépendance setenvif pour ssl:
Le module setenvif est déjà activé
Envisager la dépendance mime pour ssl:
Le module mime est déjà activé
Envisager la dépendance socache_shmcb pour ssl:
Le module socache_shmcb est déjà activé
Le module ssl est déjà activé

Maintenant, je n'obtiens plus ces erreurs de locale avec aucune commande.

Système : Raspbian Jessie
Matériel : Raspberry Pi 3b

6voto

msrd0 Points 237

Comme dit ici dans le Wiki Debian, vous pouvez modifier /etc/locale.gen et ajouter toutes les locales (ou les décommenter, j'avais une liste de toutes les locales sauf celle que j'utilisais en commentaires) que vous souhaitez prendre en charge sur votre système. Ensuite, exécutez

sudo dpkg-reconfigure locales

pour mettre à jour les locales sur votre système. Désormais, toutes les locales que vous avez ajoutées/décommentées dans /etc/locale.gen sont disponibles sur votre système sans aucun avertissement.

4voto

MaximKostrikin Points 174

Si vous utilisez l'environnement KDE, vérifiez le fichier setlocale.sh dans ~/.kde/env/:

$ cat ~/.kde/env/setlocale.sh 
export LANG=en_US.UTF-8
export LANGUAGE=en_US:ru:en

1 votes

Cela a sauvé mon cul.... merci! Incroyable combien d'endroits cette merde de locale est définie... et comment diable KDE parvient-il à tout mélanger en fusionnant mes deux locales différentes (is_IS pour l'emplacement, l'argent, etc. et en_EN pour la langue) en une localité is_EN inexistante)! Grmpfh.

0 votes

J'ai lutté avec ça pendant des semaines! Aucune autre réponse ne m'a aidé. Je n'aurais même pas imaginé que KDE interfère avec la localisation à sa manière. Je ne connaissais pas le fichier setlocale.sh et aucun tutoriel n'en parle.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X