Quand je cours perl
, je reçois l'avertissement:
perl: avertissement: échec de la définition des paramètres régionaux. perl: avertissement: veuillez vérifier que vos paramètres régionaux: LANGUAGE = (non défini), LC_ALL = (non défini), LANG = "en_US.UTF-8" sont pris en charge et installés sur votre système. perl: avertissement: retour aux paramètres régionaux standard ("C").
Comment je le répare?
~/.pam_environment
Réponses:
Votre système d'exploitation n'est pas au courant
en_US.UTF-8
.Vous n'avez pas mentionné de plateforme spécifique, mais je peux reproduire votre problème:
Je suppose que vous avez utilisé ssh pour vous connecter à cet ancien hôte à partir d'une machine de bureau plus récente. Il est courant
/etc/ssh/sshd_config
de contenirqui permet aux clients de propager les valeurs de ces variables d'environnement dans de nouvelles sessions.
L'avertissement vous donne un indice sur la façon de le supprimer si vous n'avez pas besoin des paramètres régionaux complets:
ou avec bash:
Pour une correction permanente, choisissez l'un des
LANG
variable d'environnement dans le fichier d'initialisation de votre shell.ssh hunter2
utiliser la commandeLANG=C ssh hunter2
.SendEnv LANG LC_*
ligne dans le local/etc/ssh/ssh_config
fichier . (Merci à cette réponse . Voir le bogue 1285 pour OpenSSH pour en savoir plus.)la source
dpkg-reconfigure locales
le message a disparu.service ssh reload
ce qui prend une fraction de seconde et ne provoque même pas la fin de la session ssh en cours.Voici comment le résoudre sur Mac OS Lion (10.7) ou Cygwin (Windows 10):
Ajoutez les lignes suivantes à votre bashrc ou bash_profile sur la machine hôte:
Si vous utilisez zsh, modifiez zshrc:
la source
LC_ALL
remplace toutes les autres variables, je préfère définirLANG=de_AT.UTF-8
et les variables individuelles commeLC_MESSAGES=en_US.UTF-8
. Si une variable n'est pas définie, elle revient àLANG
. Vous pouvez également par exemple.unset LC_CTYPE
pour le forcer à retomberLANG
.~/.bashrc
résolu pour moi ... puis doit recharger en utilisantsource ~/.bashrc
... Thnks <3Si vous créez un rootfs à l'aide de debootstrap, vous devrez générer les paramètres régionaux. Vous pouvez le faire en exécutant:
Cette astuce provient de https://help.ubuntu.com/community/Xen
la source
Ubuntu Server
$ echo en_US UTF-8 >> /etc/locale.gen
premier.locale-gen
ne prend pas d'arguments. Il lit à partir de/etc/locale.gen
.Utilisation:
Cela fonctionne pour Debian . Je ne sais pas pourquoi - mais locale-gen n'a eu aucun résultat.
Important! C'est une solution temporaire. Il doit être exécuté pour chaque session.
la source
.bashrc
dossier.local-gen
ne traite que les locales qui ne sont pas commentées/etc/local.gen
. Vous devrez peut-être le faire enecho en_US UTF-8 >> /etc/locale.gen
premier.Cela signifie généralement que vous n'avez pas correctement configuré les paramètres régionaux sur votre machine Linux.
Sur Debian ou Ubuntu, cela signifie que vous devez faire
Voir aussi man locale-gen .
la source
sudo locale-gen es_UY.UTF-8
Pour les utilisateurs de macOS et Mac OS X uniquement
J'obtenais le même avertissement lors de l'utilisation de Git
Pour résoudre cet avertissement Décochez l'
Set locale environment variable on startup
option et redémarrez votre terminal. La capture d'écran ci-dessous représente mes paramètres de terminal.la source
C'est une solution simple dans Ubuntu. Vous devez générer les paramètres régionaux à partir de zéro, en exécutant les commandes suivantes à partir de la ligne de commande:
Cela devrait créer les paramètres régionaux, puis les reconfigurer.
la source
pt_BR pt_BR.UTF-8
- Merci.L'ajout de ce qui suit pour
/etc/environment
résoudre le problème pour moi sur Debian et Ubuntu (bien sûr, modifiez pour correspondre aux paramètres régionaux que vous souhaitez utiliser):la source
/etc/environment
est obsolète et devrait plutôt être définie dans/etc/default/locale
. Les deux semblent fonctionner pour l'instant.LC_CTYPE
J'utilise maintenant ceci:
Déconnectez-vous ensuite de la session SSH et reconnectez-vous.
Ancienne réponse:
Seulement cela m'a aidé:
la source
sur Debian après de nombreuses recherches, cela a fait l'affaire.
première:
puis:
et le fameux:
Cela débarrasse le système des paramètres régionaux, puis réinstalle les paramètres régionaux et rétrograde libc6 de 2.19 à 2.13, ce qui est le problème. Configure ensuite à nouveau les paramètres régionaux.
la source
dpkg-reconfigure locales
c'est tout ce qu'il faut.sudo
si vous êtes un type sudo, ou faites-le en tant que root. Sélectionnez ensuite vos paramètres régionaux en fonction de ce que vous avez dans votre environnement shell.Ceci est une réponse rapide. Nous définirons des paramètres régionaux qui ne seront pas effacés après le redémarrage. Ouvrez d'abord le fichier bash et modifiez-le:
ajoutez ces lignes au fichier:
activer le changement en rechargeant bash:
résultats de test :
la source
Pour Ubuntu, utilisez ceci,
A travaillé pour moi.
la source
/etc/default/locale
et en ne mettant que la définition des vars (en supprimant l'exportation de mots) et en redémarrant le serveurSi vous utilisez Mac OS X v10.10 (Yosemite) ou supérieur pour vous connecter à votre serveur Linux, vous pouvez essayer ces étapes.
Gardez votre fichier / etc / ssh / sshd-config original
Mettez votre ~ / .bash_profile
Courir
Et sélectionnez "en_US.UTF-8"
la source
Décommentez les paramètres régionaux que vous souhaitez utiliser (par exemple
en_US.UTF-8 UTF-8
):Exécutez ensuite:
Source: http://people.debian.org/~schultmc/locales.html
la source
Vous devez configurer les paramètres régionaux de manière appropriée
/etc/default/locale
, vous déconnecter, vous connecter , puis exécuter les commandes normalesla source
Solution:
Essayez ceci ( uk_UA.UTF-8 est ma locale actuelle. Écrivez votre locale, par exemple en_US.UTF-8 !)
et ça.
la source
pour moi, je corrige cette erreur en modifiant le fichier .bashrc ajouter une exportation. Ajouter après les premiers commentaires.
Ajoutez un support de langue.
Kind Regads,
la source
Ajout des paramètres régionaux correct
~/.bashrc
,~/.bash_profile
,/etc/environment
etc. résoudra le problème, mais il n'est pas recommandé, car il remplace les paramètres de/etc/default/locale
, qui est source de confusion , au mieux , et peut conduire à des endroits ne sont pas appliquées de manière cohérente au pire.Au lieu de cela, on devrait éditer
/etc/default/locale
directement, ce qui peut ressembler à ceci:La modification prendra effet la prochaine fois que vous vous connecterez. Vous pouvez obtenir les nouveaux paramètres régionaux dans un shell existant en procédant
/etc/default/locale
comme suit :la source
locale-gen
Pour toute personne se connectant à DigitalOcean ou à un autre fournisseur d'hébergement cloud depuis iTerm2.app sur MacOS High Sierra et obtenant cette erreur sur certaines commandes:
Cela a résolu le problème pour moi:
Je sais que ce fil est ancien mais peut-être que quelqu'un le trouvera utile. Je sais à quel point cela peut être ennuyeux.
la source
Suite à la réponse acceptée:
LC_ALL = C ssh hunter2
côté client a fait l'affaire pour moi.
la source
Avec zsh ohmyzsh, j'ai ajouté ceci à
.zshrc
:En supprimant la ligne
export LANG=en_US.UTF-8
Rouvert un nouvel onglet et SSHed, travaillé pour moi :)
la source
Ajouter
LC_ALL="en_GB.utf8"
à/etc/environment
et redémarrer. C'est tout.la source
Comme toujours, le diable est dans le détail ...
Sur Mac OS X v10.7.5 (Lion), pour corriger une erreur Django , dans mon
~/.bash_profile
j'ai défini:Et à mon tour pendant longtemps, j'ai reçu cet avertissement lors de l'utilisation de Perl.
Ma faute! Comme je l'ai réalisé bien plus tard, mon système l'est
en_US.UTF-8
! Je l'ai corrigé simplement en passant deà
la source
Si vous ne vous souciez pas du problème des paramètres régionaux, vous pouvez définir
PERL_BADLANG=0
. Bien sûr, cela pourrait entraîner une localisation incorrecte.la source
Toutes les réponses précédentes sont fausses. Le message est clair - paramètres régionaux manquants. La solution consiste à ajouter les paramètres régionaux appropriés. Pour ce faire, modifiez le fichier /etc/locale.gen, supprimez le signe # devant les paramètres régionaux signalés comme manquants, puis lancez la commande:
Cela générera en fait les paramètres régionaux spécifiés dans /etc/locale.gen et donc le message ne sera pas affiché.
la source
dans mon cas, avec debian8.6, j'ai dû changer les paramètres dans:
/etc/ssh/ssh_config
pour#AcceptEnv LANG LC_*
et
sshd_config
pour#SendEnv LANG LC_*
puis redémarrez le service ssh.
enfin
locale-gen en_US.UTF-8
etdpkg-reconfigure locales
la source
Ajouter des paramètres régionaux manquants à .bash_profile
Puis sourcez votre .bash_profile
la source
Dans mon cas, c'était la sortie:
La solution était:
la source
ssh
écrase les variables de paramètres régionaux LC par défaut. Voir/etc/ssh/sshd_config
:Alors peut-être que vous devez définir ces variables dans votre shell local.
la source
Pour moi, sur Ubuntu 16.04 (Xenial Xerus), ce qui suit a fonctionné:
Redémarrez ensuite ...
la source