Kiedy biegnę perl
, pojawia się ostrzeżenie:
perl: ostrzeżenie: Ustawienie regionalne nie powiodło się. perl: ostrzeżenie: Sprawdź, czy ustawienia regionalne: JĘZYK = (rozbrojony), LC_ALL = (nieustawiony), LANG = „en_US.UTF-8” są obsługiwane i zainstalowane w twoim systemie. perl: ostrzeżenie: Powrót do standardowych ustawień regionalnych („C”).
Jak to naprawić?
~/.pam_environment
Odpowiedzi:
Twój system operacyjny nie wie o tym
en_US.UTF-8
.Nie wspomniałeś o konkretnej platformie, ale mogę odtworzyć Twój problem:
Domyślam się, że użyłeś ssh do połączenia się ze starszym hostem z nowszej maszyny stacjonarnej. Często
/etc/ssh/sshd_config
zawieraco pozwala klientom propagować wartości tych zmiennych środowiskowych do nowych sesji.
Ostrzeżenie daje podpowiedź, jak je zmiażdżyć, jeśli nie potrzebujesz pełnych ustawień regionalnych:
lub z bash:
Aby uzyskać stałą poprawkę, wybierz jedną z opcji
LANG
zmienną środowiskową w pliku inicjującym powłokę.ssh hunter2
używać poleceniaLANG=C ssh hunter2
.SendEnv LANG LC_*
wiersz w pliku lokalnym/etc/ssh/ssh_config
. (Dzięki tej odpowiedzi . Zobacz Bug 1285 dla OpenSSH, aby uzyskać więcej.)źródło
dpkg-reconfigure locales
komunikatem zniknął.service ssh reload
co zajmuje ułamek sekundy i nawet nie powoduje zakończenia bieżącej sesji ssh.Oto jak rozwiązać ten problem w systemie Mac OS Lion (10.7) lub Cygwin (Windows 10):
Dodaj następujące wiersze do pliku bashrc lub bash_profile na komputerze hosta:
Jeśli używasz zsh, edytuj zshrc:
źródło
LC_ALL
zastępuje wszystkie inne zmienne, wolałbym ustawićLANG=de_AT.UTF-8
i indywidualne zmienne jakLC_MESSAGES=en_US.UTF-8
. Jeśli zmienna nie jest ustawiona, wraca doLANG
. Możesz także np.unset LC_CTYPE
aby zmusić go do powrotuLANG
.~/.bashrc
rozwiązaniu go dla mnie ... to trzeba przeładować za pomocąsource ~/.bashrc
... Thnks <3Jeśli tworzysz rootfs za pomocą debootstrap, musisz wygenerować ustawienia narodowe. Możesz to zrobić, uruchamiając:
Ta wskazówka pochodzi z https://help.ubuntu.com/community/Xen
źródło
Ubuntu Server
$ echo en_US UTF-8 >> /etc/locale.gen
najpierw.locale-gen
nie przyjmuje argumentów. Czyta z/etc/locale.gen
.Posługiwać się:
Działa dla Debiana . Nie wiem dlaczego - ale gen locale nie przyniósł rezultatów.
Ważny! To rozwiązanie tymczasowe. Musi być uruchamiany dla każdej sesji.
źródło
.bashrc
pliku.local-gen
przetwarza tylko te ustawienia narodowe, w których nie ma komentarza/etc/local.gen
. Być może musisz to zrobićecho en_US UTF-8 >> /etc/locale.gen
najpierw.Ogólnie oznacza to, że nie skonfigurowałeś poprawnie ustawień narodowych na swoim Linux-ie.
W systemie Debian lub Ubuntu oznacza to, że musisz to zrobić
Zobacz także gen locale-człowieka .
źródło
sudo locale-gen es_UY.UTF-8
Tylko dla użytkowników macOS i Mac OS X.
Otrzymywałem to samo ostrzeżenie podczas korzystania z Git
Aby rozwiązać to ostrzeżenie Odznacz z
Set locale environment variable on startup
opcji i ponownym uruchomieniu terminala. Poniższy zrzut ekranu przedstawia moje ustawienia terminala.źródło
Jest to prosta poprawka w Ubuntu. Musisz wygenerować ustawienia regionalne od zera, uruchamiając następujące polecenia z wiersza poleceń:
To powinno utworzyć ustawienia narodowe, a następnie je ponownie skonfigurować.
źródło
pt_BR pt_BR.UTF-8
- Dzięki.Dodanie następujących elementów, aby
/etc/environment
naprawić problem dla mnie w Debianie i Ubuntu (oczywiście zmodyfikuj, aby dopasować do ustawień regionalnych, których chcesz użyć):źródło
/etc/environment
jest nieaktualne i powinno być ustawione/etc/default/locale
. Oba wydają się na razie działać.LC_CTYPE
Teraz używam tego:
Następnie wyloguj się z sesji SSH i zaloguj się ponownie.
Stara odpowiedź:
Tylko to pomogło mi:
źródło
na Debianie po wielu poszukiwaniach udało się.
pierwszy:
następnie:
i słynny:
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.
źródło
dpkg-reconfigure locales
jest wszystkim, czego potrzeba.sudo
jeśli jesteś typem sudo lub zrób to jako root. Następnie wybierz ustawienia regionalne zgodnie z tym, co masz w środowisku powłoki.To jest szybka odpowiedź. Ustawimy ustawienia narodowe, które nie zostaną rozbrojone po ponownym uruchomieniu. Najpierw otwórz plik bash i edytuj go:
dodaj te linie do pliku:
aktywuj zmianę poprzez przeładowanie bash:
Wyniki testów :
źródło
W przypadku Ubuntu użyj tego,
Pracował dla mnie.
źródło
/etc/default/locale
i umieszczając tylko definicję zmiennych (usuwając eksport słów) i ponownie uruchamiając serwerJeśli używasz systemu Mac OS X 10.10 (Yosemite) lub nowszego do łączenia się z serwerem Linux, możesz spróbować wykonać następujące czynności.
Zachowaj oryginalny plik / etc / ssh / sshd-config
Umieść swój ~ / .bash_profile
Biegać
I wybierz „en_US.UTF-8”
źródło
Odkomentuj ustawienia regionalne, których chcesz używać (np
en_US.UTF-8 UTF-8
):Następnie uruchomić:
Źródło: http://people.debian.org/~schultmc/locales.html
źródło
Musisz odpowiednio skonfigurować ustawienia regionalne
/etc/default/locale
, wylogować się, zalogować , a następnie uruchomić zwykłe poleceniaźródło
Rozwiązanie:
Spróbuj tego ( uk_UA.UTF-8 to moja bieżąca lokalizacja. Napisz swoją lokalizację, na przykład en_US.UTF-8 !)
i to.
źródło
dla mnie naprawiam ten błąd podczas edycji eksportu pliku .bashrc. Dodaj po wstępnych komentarzach.
Dodaj obsługę języka.
Z poważaniem,
źródło
Dodanie do prawidłowego ustawienia regionalne
~/.bashrc
,~/.bash_profile
,/etc/environment
a jak będzie rozwiązać ten problem, jednak nie jest zalecane, ponieważ zastępuje ustawienia z/etc/default/locale
, co jest mylące najlepiej i może prowadzić do lokalizacjach nie są stosowane konsekwentnie w najgorszym.Zamiast tego należy edytować
/etc/default/locale
bezpośrednio, co może wyglądać mniej więcej tak:Zmiana zacznie obowiązywać przy następnym logowaniu. Możesz uzyskać nowe ustawienia regionalne w istniejącej powłoce, korzystając z następujących źródeł
/etc/default/locale
:źródło
locale-gen
Dla każdego łączącego się z DigitalOcean lub innym dostawcą hostingu w chmurze z iTerm2.app na MacOS High Sierra i otrzymującym ten błąd w przypadku niektórych poleceń:
To rozwiązało problem:
Wiem, że ten wątek jest stary, ale może ktoś uzna to za przydatne. Wiem, jak to może być denerwujące.
źródło
Po zaakceptowanej odpowiedzi:
LC_ALL = C ssh hunter2
po stronie klienta wykonał dla mnie lewę.
źródło
W przypadku zsh ohmyzsh dodałem to do
.zshrc
:Usuwając linię
export LANG=en_US.UTF-8
Ponownie otworzyłem nową kartę i SSHed, działało dla mnie :)
źródło
Dodaj
LC_ALL="en_GB.utf8"
do/etc/environment
i uruchom ponownie. To wszystko.źródło
Jak zawsze diabeł tkwi w szczegółach ...
W systemie Mac OS X 10.7.5 (Lion), aby naprawić błąd Django ,
~/.bash_profile
ustawiłem:I z kolei przez długi czas otrzymałem to ostrzeżenie, używając Perla.
Mój błąd! Jak zauważyłem znacznie później, mój system jest
en_US.UTF-8
! Naprawiłem to po prostu, zmieniając zdo
źródło
Jeśli nie obchodzi Cię
PERL_BADLANG=0
problem z ustawieniami regionalnymi, możesz ustawić . Oczywiście może to spowodować nieprawidłową lokalizację.źródło
Wszystkie poprzednie odpowiedzi są błędne. Komunikat jest jasny - brak ustawień regionalnych. Rozwiązaniem jest dodanie odpowiednich ustawień regionalnych. Robisz to, edytując plik /etc/locale.gen, usuń znak # przed ustawieniami narodowymi zgłaszanymi jako brakujące, a następnie wydając polecenie:
To faktycznie wygeneruje ustawienia regionalne określone w /etc/locale.gen i dlatego komunikat nie zostanie wyświetlony.
źródło
w moim przypadku z debian8.6 musiałem zmienić ustawienia w:
/etc/ssh/ssh_config
dla#AcceptEnv LANG LC_*
i
sshd_config
dla#SendEnv LANG LC_*
następnie uruchom ponownie usługę ssh.
w końcu zrobił
locale-gen en_US.UTF-8
idpkg-reconfigure locales
źródło
Dodaj brakujące ustawienia narodowe do .bash_profile
Następnie zdobądź swój .bash_profile
źródło
W moim przypadku było to wyjście:
Rozwiązaniem było:
źródło
ssh
domyślnie zastępuje zmienne regionalne LC. Zobacz/etc/ssh/sshd_config
:Może więc musisz ustawić te zmienne w lokalnej powłoce.
źródło
Dla mnie na Ubuntu 16.04 (Xenial Xerus) działało:
Następnie uruchom ponownie ...
źródło