어떤 이유에서인지 오늘은 터미널에서 탭을 클릭할 때마다 다음이 나타납니다.
cat bash: warning: setlocale: LC_CTYPE: cannot change locale (en_CA)
Display all 150 possibilities? (y or n)
이 특별한 상황은 입력한 다음 TAB 키를 누를 때 발생합니다 cat
. 저는 설정이나 아무것도 변경한 적이 없습니다. 무슨 일인지 아는 사람 있나요?
답변1
나는 당신의 bash_completion으로 인해 이런 일이 발생했다고 생각합니다. 다음을 수행하여 일시적으로(종료할 때까지) bash를 지워 보십시오.
complete -r
그것이 지워지면 그것은 bash가 하는 일이고, 그렇지 않다면 그것은 아마도 bash 내장 기능 중 하나일 것입니다.
답변2
SSH를 통해 원격 서버에 연결할 때 비슷한 문제가 발생했습니다(oh-my-zsh를 로컬로 설치한 후, 이것이 관련이 있는지 확실하지 않습니다).
이 문제를 해결하기 위해 로컬 컴퓨터에서 파일을 편집 /etc/ssh/ssh_config
하고 SendEnv 줄을 주석 처리했습니다.
#SendEnv LANG LC_*
이제 탭 완성이 원격 컴퓨터에서 경고 없이 작동합니다.
bash: 경고: setlocale: LC_CTYPE: 로캘을 변경할 수 없습니다.
답변3
내 우분투 서버(FlexiScale)에서 비슷한 문제가 있었고 한동안 해결책을 검색했지만 적합한 것을 찾을 수 없었습니다. 내가 한 작업이 "올바른" 방법인지는 확실하지 않지만 작동하는 것 같습니다.
내가 보는 경고는 다음과 같습니다.
bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8)
로캘이 최신인지 확인하기 위해 다음을 수행했습니다(필요한지 확실하지 않음).
# locale-gen --purge
locale
내 시스템에 표시된 내용이 나에게 적합하지 않아 다음 과 같이 LC_CTYPE="UTF-8"
변경했습니다 ./etc/default/locale
LANG="en_GB.UTF-8"
LC_CTYPE="en_GB.UTF-8"
(두번째 줄을 추가했습니다.) 다시 로그인하니 경고창이 사라졌습니다.
답변4
나는 또한 같은 문제에 직면했습니다. 여기에서 몇 가지 해결 방법을 시도했지만 를 실행하려고 하면 locale-gen
시스템에서 명령을 찾을 수 없다는 메시지가 나타납니다. 알고 보니 locales
내가 설치하지 않은 패키지의 일부 였습니다 . 그래서 설치하고 실행했더니 locales-gen
이제 작동합니다!