Mam dokładnie takie pytanie, ale nie ma rozwiązania. Próbowałem, ale to nie działa
Jak naprawić problem z lokalizacją?
$ 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
Czy to z powodu niedopasowania en_US.UTF-8 i en_US.utf8?
Jak naprawić?
Odpowiedzi:
Otwórz terminal i uruchom poniższe polecenie:
źródło
-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
Ten sam problem (LC_CTYPE = UTF-8, co jest błędne) może się zdarzyć, gdy zalogujesz się przez ssh z komputera Mac do Linux-a, a twój terminal automatycznie ustawi zmienne środowiskowe. Jest na to pole wyboru. Odznacz to i możesz iść. W iTerm znajduje się w profilu-> Zakładka Terminal.
źródło
Miałem podobny problem i dodałem poniższe wiersze w moim
/etc/default/locale
pliku:Otrzymałem to z tego postu: Jak naprawić problem z lokalizacją?
źródło
/etc/environment
nie jest przeznaczony do ustawiania ustawień regionalnych w Ubuntu;/etc/default/locale
jest. Ponadto w przypadku pulpitu nigdy nie należy nigdy ustawiać w sposóbLC_ALL
ciągły. Twój sposób sprawi, że interfejsy do kontrolowania ustawień języka / ustawień regionalnych na pulpicie, takich jak obsługa języków, będą bezużyteczne.tylko z tą pracą dla mnie
źródło
sudo dpkg-reconfigure locales
jest to konieczne tylko dlatego, że korzysta z locale-gen.źródło
sudo dpkg-reconfigure locales
zrobił coś, co musi być brakuje. Moje sesje ssh są teraz OK. Dzięki!Dane wyjściowe
locale
polecenia wskazują, że w twoim środowisku występuje niepoprawny wiersz:(„UTF-8” nie jest prawidłową nazwą regionu).
Zwykle pochodzi z
/etc/default/locale
. Usuń tę linię, jeśli tam jest, i zaloguj się ponownie.Jeśli nie pochodzi stamtąd, może pochodzić z konfiguracji powłoki lub jeśli jesteś zalogowany zdalnie przez SSH, z konfiguracji komputera klienckiego.
źródło
dpkg-reconfigure locales
.Te polecenia uratowały mi życie
źródło
sudo
. Przekierowania nie będą działać, chyba że jesteś już rootem.Plik / etc / default / locale może zawierać dodatkowe (ale niepotrzebne) linie: Przykładowy plik może wyglądać następująco:
Aby uporządkować i pomyślnie wygenerować i ponownie skonfigurować ustawienia regionalne, usuń lub skomentuj wszystkie wiersze z tego pliku, z wyjątkiem:
Plik powinien w końcu wyglądać następująco:
Następnie uruchom
dpkg-reconfigure locales
, wybierz en_US.UTF-8, gdy pojawi się monit o wybranie ustawień regionalnych, i powinieneś już iść. PoGeneration complete.
zakończeniu procesu otrzymasz wiadomość.źródło
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 nieLOC
.~/.bashrc
Plik skopiowałem miał następujące:(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:
I te błędy podczas uruchamiania
locale
:Usunięcie (lub skomentowanie)
LOCPATH
linii rozwiązało moje problemy.źródło
po prostu uruchom następujące:
wygeneruje wszystkie lokalizacje, a następnie ustawi wartość domyślną na US:
źródło