`Gtk-WARNING **: Ustawienia regionalne nie są obsługiwane przez bibliotekę C. `podczas uruchamiania aplikacji z wiersza polecenia

31

Nie otrzymałem odpowiedzi, ale nic nie robiłem, a to jest interesujący temat. W Ubuntu 12.04, podczas otwierania pliku w gedit lub gdy pracuję w wierszu poleceń w dpkg, zwracany jest błąd „ustawienia regionalne nie są obsługiwane, wracam do domyślnych bibliotek„ C ”, a poniżej:

Gtk-WARNING **: Locale not supported by C library.
    Using the fallback 'C' locale.
Diogenes Lantern
źródło
Twoje lokalizacje wydają się być uszkodzone. Jak dokładnie zainstalowałeś Ubuntu? Wygląda na to, że zainstalowałeś go w taki sposób, że ustawienia regionalne nie są poprawnie skonfigurowane. Podaj więcej informacji na ten temat w swoim pytaniu (edytuj). I nie, Custawienia regionalne są tam, gdzie cofają się, jeśli żadna lokalizacja nie jest dostępna. Pochodzi z języka programowania C.
gertvdijk
Dziękuję za odpowiedź. Moja instalacja Ubuntu to folder wewnątrz katalogu Windows. Wiem, dlaczego go tam zainstalowałem. Byłem leniwy przy instalacji i pozwoliłem demonowi Linux zrobić to za mnie.
Diogenes Lantern

Odpowiedzi:

30

Najpierw upewnij się, że język biblioteki jest zainstalowany

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

na przykład.

Następnie, jako superużytkownik, skróć pracę, pozwalając Ubuntu na ich automatyczną konfigurację:

sudo dpkg-reconfigure locales

Sprawdź konfigurację, jeśli jest poprawna, to dobrze. Ale jeśli masz puste ustawienia LANG=lub LANGUAGE=, uruchom to w wierszu poleceń:

locale -a

Który generuje lokalizacje zainstalowane i dostępne dla Ciebie.

Wybierz ustawienia regionalne z wygenerowanego wyniku, które pasują do Twojej sytuacji, i wyeksportuj to ustawienie, aby zastąpić ustawienia narodowe, na przykład:

export LC_ALL="en.utf-8"

W przypadku instalacji ręcznej użyj ręcznego exportustawienia narodowego, które ręcznie zainstaluje niestandardowe ustawienia narodowe, najpierw uruchom konfigurację jak wyżej.

Następnie powiedz, że chcesz zainstalować "en_us-8"dla języka, ale potrzebujesz innych ustawień narodowych dla NUMERICi TIMEmożesz użyć "en_NZ.utf-8"(pamiętaj, że wielkość liter ma znaczenie) lub LANGUAGE="en_GB.utf-8"i NUMERIC="en.dk.ISO-8859-15". Podróżując do Nowej Zelandii, mogłem zmienić lokalizację LANGUAGE="en.NZ". W przypadku Niemiec wystarczy zainstalować dla niego ustawienia narodowe pkg i wprowadzić dane w terminalu, jak w poniższych przykładach:

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= może pozostać pusty.

Diogenes Lantern
źródło
3

pierwszy:

sudo apt-get purge locales

następnie:

sudo aptitude install locales

i słynny:

sudo dpkg-reconfigure locales

Spowoduje to usunięcie systemu ustawień regionalnych, a następnie ponowne zainstalowanie ustawień regionalnych i obniżenie poziomu libc6 z 2.19 do 2.13, co jest problemem. Następnie ponownie konfiguruje ustawienia narodowe.

tkjef
źródło
1
To bardzo, bardzo mylące. Nigdy nie używaj tej odpowiedzi, pierwsze polecenie spowoduje usunięcie wielu programów wraz z ich danymi, np postgresql.
Eric Wang
@EricWang masz rację, że może upuścić inne oprogramowanie, i tak się stanie, ponieważ oprogramowanie to opiera się na bibliotece libc6 2.19 (lub czymś wyższym). Bardzo często to oprogramowanie aktualizowało system i wprowadzało go w taki stan ustawień regionalnych, które nie są obsługiwane przez bibliotekę C. Niezależnie od tego powinieneś sprawdzić, co jest usuwane przed potwierdzeniem.
tkjef
3

Zdarzyło mi się to więcej niż raz, na moim mennicy 18, opartym na Ubuntu 16.04, więc chciałbym podzielić się rozwiązaniem, które znalazłem, na wypadek, gdyby ktoś tego potrzebował.

Kroki:

(Te kroki działają dla mate mate, ale Ubuntu może mieć podobne konfiguracje, nie jestem pewien)

  • Otwórz „ustawienia języka”.
  • Zainstaluj języki, jeśli ich brakuje. (Dla mnie zainstalowałbym języki chiński i japoński oprócz angielskiego)
  • Dla opcji Languagei Regionupewnij się, że domyślny dla nich język jest prawidłowy, np. Ustawiony na „English, United States UTF-8”,
  • Uruchom ponownie, jeśli zostaną wprowadzone jakiekolwiek zmiany.
  • Sprawdź, czy jest w porządku.
Eric Wang
źródło
0

W przypadku ustawień regionalnych musisz usunąć język, który jest w konflikcie z twoim systemem, to zadziałało dla mnie, na Ubunty Kylin 16.04, zainstalowałem go na Ubuntu 14.04

Bart
źródło
0

po prostu zadziałało to dla mnie, wchodząc do gnome-terminal i wpisując polecenie apt --fix locales i ponownie uruchamiając system Linux, a oczekiwanie na błąd terminala się skończyło. tym razem na pewno będzie na twoim monitorze.

Shashank
źródło
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 do LOCALE i zobacz UTF-8 lub utf8

Dzmitry
źródło
0

Udało mi się to zrobić podczas migracji plików kropek katalogu domowego na nowy komputer i przez jakiś czas nie udało mi się zidentyfikować przyczyny z powodu wyszukiwania plików, LC_ale nie LOC.

~/.bashrcPlik skopiowałem miał następujący:

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

(ta szczególna wartość wynikała z wcześniejszych eksperymentów z GNU Guix na starej maszynie; istotnym faktem jest po prostu to, że zmienna środowiskowa została ustawiona na teraz nieprawidłową ścieżkę).

Spowodowało to następujący błąd podczas uruchamiania różnych programów:

Warning: locale not supported by C library, locale unchanged

I te błędy podczas uruchamiania 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

Usunięcie (lub skomentowanie) LOCPATHlinii rozwiązało moje problemy.

phils
źródło