Hinweis: Dieser Artikel wurde ursprünglich im Jahr 2018 veröffentlicht. Einige Schritte, Befehle oder Softwareversionen können sich geändert haben. Überprüfen Sie die aktuelle Dokumentation für die neuesten Informationen.
Bei der Arbeit mit Ubuntu erhält man manchmal beim Remote-SSH-Zugriff auf einen Server eine Reihe von Locale-Fehlern, die ziemlich ärgerlich sind. Glücklicherweise erhält man bei Ubuntu 18 beim Anmelden eine recht hilfreiche Meldung:
_____________________________________________________________________
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
_____________________________________________________________________
Der Schlüssel hier ist also, dass Ihr Client-Rechner eine Locale hat, die Ihr Ubuntu-Server nicht verarbeiten kann. Leider folgt man den Anweisungen, nur um auf Folgendes zu stoßen:
$ 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
oder dies
$ sudo locale-gen UTF-8
Error: 'UTF-8' is not a supported language or locale
oder dies
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.
Was einen zum Nachdenken bringt… wenn sie nicht funktionieren, warum habe ich gesagt, die Meldung sei recht hilfreich? Nun, weil sie uns in die richtige Richtung weist: Wir müssen das Sprachpaket irgendwie installieren. Es stellt sich heraus, dass ich einen Mac verwende und dieser auf Spanisch eingestellt ist, sodass Ubuntu das nicht in eine seiner Locales übersetzen kann. Nehmen Sie also das Beispiel unten:
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
sudo dpkg-reconfigure locales
Dies weist das System an, auf en_us zu defaulten und damit ist es erledigt. In meinem Fall habe ich den Sprachcode für Spanisch/Mexiko ermittelt, der lautet: **es_MX.UTF-8**. Stellen Sie sicher, dass Sie die Sprache auch gleich auf dem dpkg-reconfigure locales-Bildschirm installieren, bevor Sie die folgenden Befehle ausführen. Das bedeutet, Sie können Ihren eigenen Sprachcode nachschlagen, wenn Sie eine andere Sprache verwenden, und ihn wie folgt einsetzen:
export LC_ALL="es_MX.UTF-8"
export LC_CTYPE="es_MX.UTF-8"
sudo dpkg-reconfigure locales
Und jetzt sollte alles funktionieren!
Zusammenfassung
Diese Anleitung behandelte die häufigsten Ursachen und Lösungen für dieses Ubuntu-Problem. Wenn das Problem weiterhin besteht, überprüfen Sie die offizielle Dokumentation oder die Systemprotokolle für zusätzliche Diagnoseinformationen.