Z jakiegoś powodu dzisiaj, za każdym razem, gdy naciskam klawisz Tab w terminalu, pojawia się:
cat bash: warning: setlocale: LC_CTYPE: cannot change locale (en_CA)
Display all 150 possibilities? (y or n)
Ten konkretny dzieje się, gdy piszę, cat
a następnie wciskam TAB. Nigdy nie zmieniłem żadnego ustawienia ani niczego. Czy ktoś wie, co się dzieje?
bash
autocomplete
locale
Dziwactwo TAB
źródło
źródło
en_CA
(tj. Angielski w Kanadzie) jest miejscem, w którym się spodziewasz?locale
polecenia?en_CA
jest to poprawna lokalizacja (to znaczy, że obie istnieją w twoim systemie i zostały wygenerowane przezlocaledef
lub podobne narzędzie do generowania ustawień narodowych)?ssh
lubputty
.Odpowiedzi:
Mam przeczucie, że coś spowodowało twoje bash_completion. Spróbuj tymczasowo usunąć zakończenie bashu (do momentu wyjścia), wykonując:
Jeśli to wyjaśni, to jest to coś z ukończeniem bash, jeśli nie, to nadal może być jednym z wbudowanych bashów
źródło
Podobny problem podczas łączenia przez SSH ze zdalnym serwerem (po zainstalowaniu oh-my-zsh na moim lokalnym, ale nie jestem pewien, czy to istotne). Naprawić to,
Na moim komputerze lokalnym edytowałem plik / etc / ssh / ssh_config, komentując linię SendEnv
Uzupełnianie tabulatorów działa teraz bez ostrzeżenia na zdalnym komputerze
źródło
Miałem podobny problem na moim serwerze ubuntu (FlexiScale) i szukałem rozwiązania przez jakiś czas, ale nie mogłem znaleźć niczego odpowiedniego ... Nadal nie jestem pewien, czy to, co zrobiłem, jest „właściwą drogą”, ale wydaje się, że działa.
Ostrzeżenie, które widziałem to:
Aby upewnić się, że ustawienia regionalne są aktualne, zrobiłem to (nie jestem pewien, czy było to konieczne):
locale
w moim systemie pokazywałem,LC_CTYPE="UTF-8"
co nie wyglądało mi dobrze, więc zmieniłem mój/etc/default/locale
wygląd tak:(Dodałem drugą linię.) Po ponownym zalogowaniu ostrzeżenia zniknęły.
źródło
LC_CTYPE
to, ustawiając poprawną wartość. Nie potrzebujeszLANG
(a właściwie odradzam ). Możesz zobaczyć poprawne nazwy ustawień regionalnych w systemie, uruchamiająclocale -a
. W systemie Ubuntu uruchom,sudo localegen xx_YY
aby wygenerowaćxx_YY
ustawienia narodowe (zakładając, że można je wygenerować).Jeśli pojawi się komunikat o błędzie / ostrzeżenie podobny do tego po naciśnięciu klawisza Tab dla autouzupełniania poleceń bash:
Rozwiązaniem jest:
Zainstaluj wymagane ustawienia regionalne. W moim przypadku jest to „id”:
Ponownie skonfiguruj ustawienia regionalne:
Teraz uzupełnianie kart bash powinno działać dobrze. :-)
Źródło: http://ubuntucomputing.blogspot.com/2011/12/how-to-fix-error-bash-warning-setlocale.html
źródło
Miałem ten sam problem. Próbowałem tutaj niektórych rozwiązań, ale kiedy próbowałem uruchomić
locale-gen
, mój system powiedział, że nie może znaleźć polecenia. Okazuje się, że jest to częśćlocales
pakietu, której nie zainstalowałem. Więc zainstalowałem, uruchomiłemlocales-gen
, a teraz działa!źródło
Rozwiązany na stałe z tworzeniem pliku
Z zawartością
Zobacz odpowiedź na github
źródło