일반 사용자의 경우 로캘을 설정할 수 없습니다.

일반 사용자의 경우 로캘을 설정할 수 없습니다.

i3wm을 사용하고 있는데 업데이트한 후 로케일에 문제가 있어서 i3status제대로 실행되지 않습니다.

나는 이 문제에 대해 상당한 진전을 이루었습니다. 로케일을 켜고 /etc/locale.gen끄고 /etc/default/locale이제 i3status를 루트로 실행하면 작동하지만 시스템을 (내 사용자로) 부팅하면 status_command process exited unexpectedly.

파일에 대한 전체 권한을 부여하려고 시도했지만 (777)역시 작동하지 않았습니다.

locale-gen나는 실행하기 전까지 그리고 dpkg-reconfigure locales터미널을 열었을 때 프롬프트가 나타나기 전에 문제가 거의 해결되었음을 알았습니다 Could not set locale. Please make sure all your LC_* / LANG settings are correct.

이제 실행하려고 할 때만 이 오류가 발생합니다 i3status. 이 문제에서 i3wm을 복구하는 방법에 대한 아이디어가 있습니까?

루트로 로케일을 입력하면 파일에 다음과 같이 표시됩니다.

LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.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=

내 사용자로 실행하면 LANGUAGE 변수가 설정되지 않습니다.

LANG=es_US.utf8
LANGUAGE=
LC_CTYPE="es_US.utf8"
LC_NUMERIC="es_US.utf8"
LC_TIME="es_US.utf8"
LC_COLLATE="es_US.utf8"
LC_MONETARY="es_US.utf8"
LC_MESSAGES="es_US.utf8"
LC_PAPER="es_US.utf8"
LC_NAME="es_US.utf8"
LC_ADDRESS="es_US.utf8"
LC_TELEPHONE="es_US.utf8"
LC_MEASUREMENT="es_US.utf8"
LC_IDENTIFICATION="es_US.utf8"
LC_ALL=

답변1

안정적인! 방금 실행 중인 로케일의 응답을 루트로 복사했는데 /etc/default/locale이제 모든 것이 매력처럼 작동합니다!

답변2

이 문제를 올바르게 해결하려면 다음을 수행해야 할 가능성이 높습니다...

  1. 질문:

    [user@archlinux ~]$ i3status
    Could not set locale. Please make sure all your LC_* / LANG settings are correct.
    
  2. /etc/locale.conf선택한 변수 "Locale" 값을 (적어도) 포함하도록 편집하십시오 .

    [user@archlinux ~]$ cat /etc/locale.conf
    LANG=en_GB.UTF-8
    LANGUAGE=en_GB.UTF-8
    
  3. 로케일을 생성하려면 다음 명령을 사용하십시오 locale-gen.

    [user@archlinux ~]$ sudo locale-gen 
    Generating locales...
      en_GB.UTF-8... done
    Generation complete.
    
  4. 테스트 i3status명령(잘 작동해야 함)...

    [mconway@bigwig ~]$ i3status
    {"version":1}
    [
    [<DATA>]
    [<DATA>]
    ...
    
  5. "시스템" 환경 변수 등을 설정/덮어쓰기하여 해킹하지 마십시오. LC_ALL=C <command(참고 사항은 LC_ALL문제 해결/테스트용으로만 사용해야 합니다.)

답변3

LC_ALL=C다음 전화를 추가하여 이 문제를 해결할 수 있었습니다 .i3status.i3/config

나한테는 무엇이 있나요:

    status_command i3status --config ~/.i3/i3status.conf

나는 그것을 무엇으로 바꾸었나:

    status_command LC_ALL=C i3status --config ~/.i3/i3status.conf

관련 정보