LC_CTYPE 자동 완성 차단 :이 문제의 원인은 무엇입니까? 탭을 누를 때마다

오늘날 어떤 이유로 터미널에서 탭을 누를 때마다 다음과 같이 나타납니다.

cat bash: warning: setlocale: LC_CTYPE: cannot change locale (en_CA)

Display all 150 possibilities? (y or n)

이 특정 것은 내가 타이핑하고 catTab 키를 누르면 발생합니다 . 나는 어떤 설정이나 아무것도 바꾸지 않았다. 아무도 무슨 일인지 알아?



답변

나는 당신의 bash_completion이 이것을 일으키는 원인을 직감했습니다. 다음을 수행하여 bash 완료를 일시적으로 지우십시오 (종료 될 때까지).

complete -r

그것이 지워지면 bash가 완료 된 것입니다. 그렇지 않으면 여전히 bash 내장 중 하나 일 수 있습니다


답변

SSH를 통해 원격 서버에 연결할 때 비슷한 문제가 있습니다 (내 로컬에 oh-my-zsh를 설치 한 후 관련성이 확실하지 않습니다). 그것을 해결하기 위해,

로컬 컴퓨터에서 / etc / ssh / ssh_config 파일을 편집하여 SendEnv 줄을 주석 처리했습니다.

#SendEnv LANG LC_*

원격 시스템에서 경고없이 탭 완성이 작동합니다.

bash : 경고 : setlocale : LC_CTYPE : 로케일을 변경할 수 없습니다


답변

나는 우분투 서버 (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"

(두 번째 줄을 추가했습니다.) 다시 로그인 한 후 경고가 사라졌습니다.


답변

bash 명령 자동 완성을 위해 Tab 키를 누를 때 이와 유사한 오류 / 경고 메시지가 표시되는 경우 :

bash: warning: setlocale: LC_CTYPE: cannot change locale (id_ID.UTF-8)

해결책은 다음과 같습니다.

  1. 필요한 로케일을 설치하십시오. 제 경우에는 “id”입니다.

    sudo apt-get install language-pack-id
  2. 로케일을 재구성하십시오.

    sudo dpkg-reconfigure locales

이제 bash Tab 완성은 정상적으로 작동합니다. 🙂

출처 : http://ubuntucomputing.blogspot.com/2011/12/how-to-fix-error-bash-warning-setlocale.html


답변

나는 같은 문제를 겪고 있었다. 여기에서 몇 가지 솔루션을 시도했지만 실행하려고했을 때 locale-gen시스템에서 명령을 찾을 수 없다고 말했습니다. 그것은 locales내가 설치하지 않은 패키지 의 일부라는 것이 밝혀졌습니다 . 그래서 설치하고 실행했는데 locales-gen이제 작동합니다!


답변

파일 생성으로 영구적으로 해결

/etc/default/locale

내용으로

LC_ALL="en_US.UTF-8"

github에서 답변보기


답변