Ich habe die genaue Frage, aber es gibt keine Lösung. Ich habe es versucht, aber es funktioniert nicht
Wie behebe ich mein Gebietsschema?
$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
$ locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
C
C.UTF-8
en_US.utf8
POSIX
Liegt dies an der Nichtübereinstimmung von en_US.UTF-8 und en_US.utf8?
Wie repariert man?
Antworten:
Öffnen Sie das Terminal und geben Sie den folgenden Befehl ein:
quelle
-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
Dasselbe Problem (LC_CTYPE = UTF-8, was falsch ist) kann auftreten, wenn Sie sich über ssh von einem Mac an einer Linux-Box anmelden und Ihr Terminal automatisch Umgebungsvariablen setzt. Dafür gibt es ein Kontrollkästchen. Deaktivieren Sie es und Sie können loslegen. In iTerm ist es in der Registerkarte Profil-> Terminal.
quelle
Ich hatte ein ähnliches Problem und fügte die folgenden Zeilen in meine
/etc/default/locale
Datei ein:Ich habe Folgendes aus diesem Beitrag erhalten: Wie behebe ich mein Gebietsschema-Problem?
quelle
/etc/environment
ist nicht zum Einstellen von Gebietsschemas in Ubuntu vorgesehen;/etc/default/locale
ist. Auch im Falle eines Desktops sollten Sie niemalsLC_ALL
dauerhaft einstellen . Ihre Vorgehensweise macht die Benutzeroberflächen zum Steuern der Sprach- / Gebietsschemaeinstellungen auf einem Desktop (z. B. Sprachunterstützung) unbrauchbar.nur mit dieser arbeit für mich
quelle
sudo dpkg-reconfigure locales
nötig, da es locale-gen verwendet.quelle
sudo dpkg-reconfigure locales
hat etwas gefehlt , was gefehlt haben muss. Meine SSH-Sitzungen sind jetzt OK. Vielen Dank!Die Ausgabe des
locale
Befehls zeigt an, dass Sie diese falsche Zeile in Ihrer Umgebung haben:("UTF-8" ist kein gültiger Gebietsschemaname.)
Es kommt in der Regel aus
/etc/default/locale
. Bitte entfernen Sie diese Zeile, falls vorhanden, und melden Sie sich erneut an.Wenn es nicht von dort kommt, kann es von Ihrer Shell-Konfiguration stammen, oder wenn Sie remote über SSH angemeldet sind, von der Konfiguration des Client-Computers.
quelle
dpkg-reconfigure locales
.Diese Befehle haben mir das Leben gerettet
quelle
sudo
. Die Weiterleitungen funktionieren nur, wenn Sie bereits als Root angemeldet waren.Die Datei / etc / default / locale kann zusätzliche (aber unnötige) Zeilen enthalten: Die Beispieldatei kann folgendermaßen aussehen:
Entfernen oder kommentieren Sie alle Zeilen aus dieser Datei, um Gebietsschemas zu sortieren und erfolgreich zu generieren und neu zu konfigurieren, mit Ausnahme von:
Die Datei sollte nun endlich so aussehen:
Führen
dpkg-reconfigure locales
Sie anschließend den Befehl en_US.UTF-8 aus, wenn Sie zur Auswahl des Gebietsschemas aufgefordert werden. Sie erhalten eineGeneration complete.
Nachricht, wenn der Vorgang abgeschlossen ist.quelle
Ich habe es selbst geschafft, dies zu verursachen, als ich die Dot-Dateien des Ausgangsverzeichnisses auf einen neuen Computer migrierte, und ich konnte die Ursache für eine Weile nicht identifizieren, da ich nach Dateien gesucht habe,
LC_
aber nichtLOC
.Die von
~/.bashrc
mir kopierte Datei hatte folgendes:(Der besondere Wert hier war auf frühere Experimente mit GNU Guix auf der alten Maschine zurückzuführen; die relevante Tatsache ist jedoch lediglich, dass die Umgebungsvariable auf einen jetzt ungültigen Pfad gesetzt wurde.)
Dies führte beim Ausführen verschiedener Programme zu folgendem Fehler:
Und diese Fehler beim Laufen
locale
:Durch Entfernen (oder Auskommentieren) der
LOCPATH
Zeile wurden meine Probleme behoben.quelle
führe einfach folgendes aus:
es werden alle Locates generiert und dann der Standard auf US gesetzt:
quelle