web-dev-qa-db-fra.com

`Gtk-WARNING **: Les paramètres régionaux ne sont pas pris en charge par la bibliothèque C. `lors du démarrage d'applications à partir de la ligne de commande

Je n'ai pas eu de réponse mais je ne faisais rien et c'est un sujet intéressant. Dans Ubuntu 12.04, lors de l’ouverture d’un fichier dans gedit ou si je travaille sur la ligne de commande dans dpkg, l’erreur "paramètres régionaux non pris en charge" est renvoyée, ainsi que celle ci-dessous,

Gtk-WARNING **: Locale not supported by C library.
    Using the fallback 'C' locale.
28
Diogenes Lantern

Assurez-vous d'abord que votre langue de bibliothèque est installée

Sudo apt-get install language-pack-en-base,

par exemple.

Ensuite, en tant que superutilisateur, raccourcissez le travail en permettant à Ubuntu de les configurer automatiquement:

Sudo dpkg-reconfigure locales

Vérifiez votre configuration, si elle est correcte, alors bonne. Mais si vous avez vide les paramètres LANG= ou LANGUAGE=, exécutez ceci en ligne de commande:

locale -a

Qui génère les paramètres régionaux installés et disponibles pour vous.

Choisissez les paramètres régionaux dans la sortie générée qui convient à votre situation et exportez ce paramètre pour remplacer vos paramètres régionaux, par exemple:

export LC_ALL="en.utf-8"

Pour une installation manuelle, utilisez export pour définir manuellement les paramètres régionaux qui installeront manuellement les paramètres régionaux personnalisés. Commencez par configurer le système comme indiqué ci-dessus.

Ensuite, supposons que vous souhaitiez installer "en_us-8" pour la langue, mais que vous ayez besoin d’un autre paramètre régional pour NUMERIC et TIME, vous pouvez utiliser le "en_NZ.utf-8" (rappelez-vous qu’ils sont sensibles à la casse) ou LANGUAGE="en_GB.utf-8" et NUMERIC="en.dk.ISO-8859-15". En voyageant en Nouvelle-Zélande, je pourrais changer les paramètres régionaux LANGUAGE="en.NZ". Pour l'Allemagne, il me suffirait d'installer les paramètres régionaux pkg pour cela et de les saisir, en terminal, comme dans les exemples ci-dessous:

export LC_ALL="en_US"
export LANG="en_US"
export LANGUAGE="en_NZ"
export C_CTYPE="en_US"
export LC_NUMERIC=
export LC_TIME=en"en_US"

LC_ALL= peut rester vide.

27
Diogenes Lantern

Cela m'est arrivé plus d'une fois, à la menthe 18, basée sur Ubuntu 16.04, donc j'aimerais partager la solution que j'ai trouvée, au cas où quelqu'un en aurait besoin.

Étapes:

(Ces étapes fonctionnent pour mint mate, mais Ubuntu pourrait avoir des configurations similaires, pas sûr)

  • Ouvrez "paramètres de langue".
  • Installez les langues, s'il manque. (Pour moi, j'installerais le chinois et le japonais en plus de l'anglais)
  • Pour les options Language et Region, assurez-vous que leur langue par défaut est correcte, par exemple définie sur "Anglais, États-Unis UTF-8",
  • Redémarrez, si des modifications sont apportées.
  • Vérifiez si ça va.
3
Eric Wang

premier:

Sudo apt-get purge locales

puis:

Sudo aptitude install locales

et le célèbre:

Sudo dpkg-reconfigure locales

Cela vide le système de locales, puis réinstalle les locales et rétrograde libc6 de 2.19 à 2.13, ce qui est le problème. Puis configure à nouveau les paramètres régionaux.

3
tkjef

Avec les paramètres régionaux, vous devez supprimer les langues en conflit avec votre système. Cela a fonctionné pour moi.

0
Bart

cela a fonctionné correctement pour moi en allant sur gnome-terminal et en tapant la commande apt --fix locales, puis redémarrez votre Linux et votre attente de l'erreur de terminal est terminée. Elle serait sur votre moniteur cette fois à coup sûr.

0
Shashank
$ mkdir -p $HOME/.locale
$ I18NPATH=./wrk/ localedef -f UTF-8 -i fi_SE $HOME/.locale/fi_SE.UTF-8
$ LOCPATH=$HOME/.locale LC_ALL=fi_SE.UTF-8 date
$ echo "export LOCPATH=\$HOME/.locale" >> $HOME/.bashrc
$ echo "export LANG=fi_SE.UTF-8" >> $HOME/.bashrc

fi_SE à votre LOCALE, et voir UTF-8 ou utf8

0
Dzmitry

J'ai réussi à le provoquer moi-même lors de la migration des fichiers de points du répertoire de départ vers un nouvel ordinateur et je n'ai pas réussi à en déterminer la cause pendant un certain temps en recherchant des fichiers pour LC_ mais pas LOC.

Le fichier ~/.bashrc que j'ai copié était le suivant:

export LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale

(La valeur particulière ici était due à des expériences antérieures avec GNU Guix sur l'ancienne machine; mais le fait important est simplement que la variable d'environnement a été définie sur un chemin maintenant non valide.)

Cela a entraîné l'erreur suivante lors de l'exécution de divers programmes:

Warning: locale not supported by C library, locale unchanged

Et ces erreurs lors de l'exécution de 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

Le fait de supprimer (ou de commenter) la ligne LOCPATH a résolu mes problèmes.

0
phils