저는 Manjaro Gnome을 실행 중이고 패키지 관리자를 사용하여 일부 업데이트를 설치했습니다. 그 이후로 콘솔에 다음 메시지가 계속 표시됩니다.
manpath: can't set the locale; make sure $LC_* and $LANG are correct
(anon):12: character not in range
manpath: can't set the locale; make sure $LC_* and $LANG are correct
실행하면 locale
다음과 같은 결과가 나타납니다.
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE=
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=
실행하면 sudo locale-gen
파일이나 디렉터리가 존재하지 않는다는 오류 메시지가 나타납니다.
Generating locales...
de_DE.UTF-8...failed to set locale!
[error] cannot open locale definition file `i18n_ctype': No such file or directory
내가 그것을 주석 처리하면(따라서 주석 처리되지 않은 유일한 줄은) 다음과 같은 결과를 de_DE.UTF-8 UTF-8
얻습니다./etc/locale.gen
en_US.UTF-8 UTF-8
Generating locales...
en_US.UTF-8...failed to set locale!
[error] cannot open locale definition file `en_GB': No such file or directory
이는 다음과 같습니다 /usr/share/i18n/locales
.
de_DE translit_combining
en_US translit_compat
i18n translit_font
iso14651_t1 translit_fraction
iso14651_t1_common translit_hangul
iso14651_t1_pinyin translit_narrow
translit_circle translit_neutral
translit_cjk_compat translit_small
translit_cjk_variants translit_wide
따라서 파일처럼 보이지만 en_GB
실제로 i18n_ctype
는 누락되었습니다(비록 이 폴더에 있어야 하는지는 확실하지 않지만).
게다가 내가 가면설정->지역과 언어, 변경할 수 없습니다언어(라고 되어있습니다 Unspecified [ANSI_X3.4-1968]
. 클릭하면,언어를 선택하세요팝업.
문제가 무엇인지 온라인으로 알아냈습니다 glibc
(그리고 기록을 기반으로 glibc
업데이트 중에 다시 설치했습니다 [2020-08-11T18:49:33+0200] [ALPM] reinstalled glibc (2.31-5)
). 그러나 이 문제를 해결하는 방법을 모르겠습니다. 패키지 관리자에는 glibc 재설치 버튼이 없으며 더 큰 혼란을 초래할 수 있는 실험을 하고 싶지 않았습니다.
언어 파일을 다시 설치/재설정하는 방법이 있나요?
고쳐 쓰다
저는 [Arch wiki]에 설명된 대로 하드 드라이브 공간을 절약하기 위해 NoExtract
in을 사용합니다(/etc/pacman.conf
https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#Installing_only_content_in_required_언어s)
NoExtract = usr/share/help/* !usr/share/help/en*
NoExtract = usr/share/gtk-doc/html/*
NoExtract = usr/share/locale/* usr/share/X11/locale/* usr/share/i18n/* opt/google/chrome/locales/*
NoExtract = !*locale*/en*/* !usr/share/i18n/charmaps/UTF-8.gz !usr/share/*locale*/locale.*
NoExtract = !usr/share/*locales/en_US !usr/share/*locales/i18n !usr/share/*locales/iso*
NoExtract = !usr/share/*locales/trans*
NoExtract = !*locale*/de*/* !usr/share/i18n/charmaps/UTF-8.gz !usr/share/*locale*/locale.*
NoExtract = !usr/share/*locales/de_DE !usr/share/*locales/i18n !usr/share/*locales/iso*
NoExtract = !usr/share/*locales/trans*
NoExtract = usr/share/qt4/translations/*
NoExtract = usr/share/man/* !usr/share/man/man*
NoExtract = usr/share/vim/vim*/lang/*
NoExtract = usr/lib/libreoffice/help/en-US/*
이것이 문제의 일부인지 궁금합니다. glibc를 다시 설치할 때 일부 파일을 건너뛰었을 수도 있습니다.
답변1
편집하다
/etc/locale.gen
:다음 줄의 주석 처리를 해제하세요.
locale en_US.UTF-8
달리기
sudo locale-gen
신용 거래:https://nanxiao.me/en/fix-locale-configuration-issue-on-arch-linux/
답변2
이제 해결책을 찾았습니다. 나는 이것이 최선의 접근 방식이라고 생각하지 않지만 나에게는 효과가 있는 것 같습니다.
다운로드했습니다glibc 패키지누락된 파일( en_GB
및 i18n_ctype
)을 /usr/share/i18n/locales/
.
그런 다음 실행sudo locale-gen
답변3
/etc/locale.gen
패키지를 다시 설치하면 정보를 다시 얻을 수 있습니다 glibc
. 설치 시 새 파일이 생성됩니다.
답변4
제 경우에는 KDE Plasma Settings Manager
로케일을 존재하지 않는 구성으로 구성하여 문제가 발생했습니다.
Finland/English
만자로 설치시 가능해서 그곳을 선택했습니다 . 왜 안 돼? 그러한 조합이 포함되지 않았기 fi_EN.UTF-8
때문에 이것은 적어도 말도 안되는 것으로 결정되었습니다 .glibc
glibc
다음과 같이 패키지 파일을 검사한 언어를 나열할 수 있습니다 .
pacman -Ql glibc | grep fi_
내 예에서는 다음 두 가지가 표시됩니다.
glibc /usr/share/i18n/locales/fi_FI
glibc /usr/share/i18n/locales/fi_FI@euro
fi_FI
맞습니다 . fi_EN
둘 다는 아닙니다 fi_US
. 플라즈마, 부끄러운 일이군요.
grep fi_
언어를 찾으려면 위 명령을 바꾸세요 (예: 폴란드어: grep pl_
, 독일어: grep de_
등).
locale
그런 다음 이는 명령 호출의 결과와 비교됩니다. 제 경우에는 편집을 통해 수정해야 합니다 /etc/locale.gen
. Manjaro의 문제 해결을 따를 수 있습니다.
https://wiki.manjaro.org/index.php/Locale
아니면 Holly Arch Wiki에서: