Remarque : Cet article a été publié à l’origine en 2018. Certaines étapes, commandes ou versions de logiciels peuvent avoir changé. Consultez la documentation actuelle pour les informations les plus récentes.
Lorsque vous travaillez avec Ubuntu, il arrive parfois qu’en vous connectant en SSH à un serveur, vous obteniez une série d’erreurs de locale assez agaçantes. Heureusement, avec Ubuntu 18, vous obtenez un message à la connexion qui est plutôt utile :
_____________________________________________________________________
WARNING! Your environment specifies an invalid locale.
The unknown environment variables are:
LC_CTYPE=UTF-8 LC_ALL=
This can affect your user experience significantly, including the
ability to manage packages. You may install the locales by running:
sudo apt-get install language-pack-UTF-8
or
sudo locale-gen UTF-8
To see all available language packs, run:
apt-cache search "^language-pack-$"
To disable this message for all users, run:
sudo touch /var/lib/cloud/instance/locale-check.skip
_____________________________________________________________________
L’essentiel ici est que votre machine cliente a une locale que votre serveur Ubuntu a du mal à interpréter. Malheureusement, vous suivez les instructions pour tomber sur ceci :
$ sudo apt-get install language-pack-UTF-8
password for :
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package language-pack-UTF-8
ou ceci
$ sudo locale-gen UTF-8
Error: 'UTF-8' is not a supported language or locale
ou ceci
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = "en_US.UTF-8",
LC_CTYPE = "en_US.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
ce qui vous fait vous demander… si les instructions ne fonctionnent pas, pourquoi ai-je dit que le message était plutôt utile ? Eh bien, parce qu’il nous oriente dans la bonne direction : nous devons installer le pack de langue d’une manière ou d’une autre. Il s’avère que j’utilise un Mac configuré en espagnol, et Ubuntu est incapable de traduire cela en l’une de ses locales. Prenez donc l’exemple ci-dessous :
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
sudo dpkg-reconfigure locales
Cela indiquera au système d’utiliser en_us par défaut et c’est tout. Dans mon cas, j’ai cherché le code de langue pour Espagnol/Mexique qui est : **es_MX.UTF-8**. Assurez-vous d’installer la langue pendant que vous y êtes sur l’écran dpkg-reconfigure locales avant d’essayer d’exécuter les commandes suivantes. Cela signifie que vous pouvez chercher le vôtre si vous utilisez une langue différente et le renseigner comme ceci :
export LC_ALL="es_MX.UTF-8"
export LC_CTYPE="es_MX.UTF-8"
sudo dpkg-reconfigure locales
et tout devrait fonctionner maintenant !
Résumé
Ce guide a couvert les causes courantes et les solutions pour ce problème sous Ubuntu. Si le problème persiste, consultez la documentation officielle ou les journaux système pour obtenir des informations de diagnostic supplémentaires.