`Gtk-WARNING **: Gebietsschema wird von der C-Bibliothek nicht unterstützt. `beim Starten von Apps über die Kommandozeile

31

Ich habe keine Antwort bekommen, aber ich habe nichts getan und das ist ein interessantes Thema. Wenn ich in Ubuntu 12.04 eine Datei in gedit öffne oder in dpkg an der Befehlszeile arbeite, erhalte ich den Fehler "Gebietsschema nicht unterstützt, Rückfall auf Standard" C "-Bibliotheken" und den folgenden.

Gtk-WARNING **: Locale not supported by C library.
    Using the fallback 'C' locale.
Diogenes Lantern
quelle
Ihre Ländereinstellungen scheinen fehlerhaft zu sein. Wie hast du Ubuntu genau installiert? Sie haben es anscheinend so installiert, dass die Ländereinstellungen nicht richtig konfiguriert sind. Bitte geben Sie diesbezüglich in Ihrer Frage weitere Informationen an (bearbeiten Sie diese). Und nein, das CGebietsschema ist das Gebietsschema, auf das es zurückgreift, wenn keine Lokalisierung verfügbar ist. Es ist aus der Programmiersprache C.
Gertvdijk
danke für die Antwort. Meine Ubuntu-Installation ist ein Ordner im Windows-Verzeichnis. Ich weiß, warum ich es dort installiert habe. Ich war bei der Installation faul und ließ den Linux-Dämon diesen Teil für mich erledigen.
Diogenes Laterne

Antworten:

30

Stellen Sie zunächst sicher, dass Ihre Bibliothekssprache installiert ist

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

beispielsweise.

Verkürzen Sie dann als Superuser die Arbeit, indem Sie Ubuntu erlauben, sie automatisch zu konfigurieren:

sudo dpkg-reconfigure locales

Überprüfen Sie Ihr Setup, wenn es richtig ist, dann gut. Wenn Sie jedoch die Einstellungen LANG=oder LANGUAGE=leer haben, führen Sie dies in der Befehlszeile aus:

locale -a

Welches generiert die installierten und für Sie verfügbaren Gebietsschemas.

Wählen Sie aus der generierten Ausgabe das Gebietsschema aus, das Ihrer Situation entspricht, und exportieren Sie diese Einstellung, um Ihre Gebietsschemas zu ersetzen. Beispiel:

export LC_ALL="en.utf-8"

Bei der manuellen Installation müssen Sie exportdas Gebietsschema manuell festlegen, um benutzerdefinierte Gebietsschemas manuell zu installieren. Führen Sie dazu zunächst das oben beschriebene Setup aus.

Nehmen wir dann an, Sie möchten "en_us-8"für die Sprache installieren , benötigen jedoch ein anderes Gebietsschema für NUMERICund. TIMEVerwenden Sie möglicherweise "en_NZ.utf-8"(denken Sie daran: Hierbei wird zwischen Groß- und Kleinschreibung unterschieden) oder LANGUAGE="en_GB.utf-8"und NUMERIC="en.dk.ISO-8859-15". Wenn ich nach Neuseeland reise, kann ich das Gebietsschema ändern LANGUAGE="en.NZ". Für Deutschland müsste ich nur das locales pkg dafür installieren und im Terminal eingeben, wie in den folgenden Beispielen:

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= darf leer bleiben.

Diogenes Lantern
quelle
3

zuerst:

sudo apt-get purge locales

dann:

sudo aptitude install locales

und der berühmte:

sudo dpkg-reconfigure locales

Dadurch wird das System von Gebietsschemas befreit, dann werden die Gebietsschemas erneut installiert und libc6 von 2.19 auf 2.13 heruntergestuft, was das Problem ist. Anschließend werden die Gebietsschemas erneut konfiguriert.

U / min tkjef
quelle
1
Das ist sehr, sehr irreführend. Verwenden Sie niemals diese Antwort, der erste Befehl wird eine Menge Software zusammen mit ihren Daten ablegen, z postgresql.
Eric Wang
@EricWang Sie haben Recht, dass möglicherweise andere Software gelöscht wird. Dies liegt daran, dass diese Software auf der libc6 2.19-Bibliothek (oder einer höheren Version) basiert. Sehr oft hat diese Software Ihr System aufgerüstet und in einen Zustand versetzt, in dem die C-Bibliothek keine Unterstützung mehr bietet. Unabhängig davon sollten Sie überprüfen, was entfernt wird, bevor Sie bestätigen.
Tkjef
3

Dies ist mir mehr als einmal aufgefallen, bei meinem MintMate 18, der auf Ubuntu 16.04 basiert. Daher möchte ich die von mir gefundene Lösung für den Fall, dass jemand sie benötigt, weitergeben.

Schritte:

(Diese Schritte funktionieren für mint mate, aber Ubuntu hat möglicherweise ähnliche Konfigurationen, nicht sicher)

  • Öffnen Sie "Spracheinstellungen".
  • Installieren Sie Sprachen, falls diese fehlen. (Für mich würde ich zusätzlich zu Englisch auch Chinesisch und Japanisch installieren.)
  • Stellen Sie für die Option Languageund Regionsicher, dass die Standardsprache für sie korrekt ist, z. B. "Englisch, USA UTF-8".
  • Starten Sie den Computer neu, wenn Änderungen vorgenommen wurden.
  • Überprüfen Sie, ob es in Ordnung ist.
Eric Wang
quelle
0

Bei Gebietsschemas müssen Sie die Sprache entfernen, die mit Ihrem System in Konflikt steht. Dies hat bei mir funktioniert. Auf Ubunty Kylin 16.04 habe ich es über Ubuntu 14.04 installiert

Bart
quelle
0

es funktionierte einfach richtig für mich, indem ich zu gnome-terminal ging und den Befehl apt --fix locales eingab und dein Linux neu startete und dein Warten auf den Terminalfehler zu Ende war. Diesmal würde es sicher auf deinem Monitor sein.

Shashank
quelle
0
$ 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 zu Ihrem LOCALE und siehe UTF-8 oder utf8

Dzmitry
quelle
0

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 nicht LOC.

Die von ~/.bashrcmir kopierte Datei hatte folgendes:

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

(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:

Warning: locale not supported by C library, locale unchanged

Und diese Fehler beim Laufen 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

Durch Entfernen (oder Auskommentieren) der LOCPATHZeile wurden meine Probleme behoben.

Phils
quelle