US 키보드에서 AWS(EC2)를 사용합니다. manpath: can't set the locale; 의 해결책.
문제
EC2로 로그인하면 다음 오류가 표시됩니다.
manpath: can't set the locale; make sure\$LC_* and $LANG are correct
(US 키보드를 사용하는 기사가 별로 보이지 않고 고생했기 때문에 메모로 남겨 둡니다.)
오류 내용
~ % ssh aws_key_rsa
Last login: Sat Feb 27 17:21:44 2021 from kd059138042141.ppp-bb.dion.ne.jp
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
-bash: warning: setlocale: LC_CTYPE: cannot change locale (us_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_COLLATE: cannot change locale (us_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_MESSAGES: cannot change locale (us_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_NUMERIC: cannot change locale (us_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_TIME: cannot change locale (us_US.UTF-8): No such file or directory
manpath: can't set the locale; make sure $LC_* and $LANG are correct
[user@ip-address ~]$
오류가 발생한 상황
인스턴스 작성 후, 다음과 같이 타임 존에 UTC(세계 협정 시각)가 디폴트 설정되어 있었습니다.
$ timedatectl
Local time: Sun 2019-08-25 10:27:53 UTC ……①
Universal time: Sun 2019-08-25 10:27:53 UTC
RTC time: Sun 2019-08-25 10:27:52
Time zone: UTC (UTC, +0000) ……②
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
나는 위의 ①Local time 과 ②Time zone 에 변경을 했습니다.
$ timedatectl list-timezones | grep Asia/Tokyo
Asia/Tokyo
# 日本時間がタイムゾーンに設定可能かどうかを確認するコマンド。
$ sudo timedatectl set-timezone Asia/Tokyo
# Time zone を Asia/Tokyo に変更する。
그 결과가 아래의 ①’과 ②’입니다.
[user@ip-address ~]$ timedatectl
Local time: 日 2021-02-28 08:31:59 JST ……①’
Universal time: 土 2021-02-27 23:31:59 UTC
RTC time: 土 2021-02-27 23:31:59
Time zone: Asia/Tokyo (JST, +0900) ……②’
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
이 근처에서 로그인시 오류가 발생합니다.
※복수의 설정을 동시에 변경하고 있었기 때문에, 디폴트로부터 위의 상황만을 시험했을 경우, 재현성이 없는 경우가 있습니다.
오류가 발생할 때 환경 변수
[user@ip-address ~]$ 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=us_US.UTF-8
LC_CTYPE="us_US.UTF-8"
LC_NUMERIC="us_US.UTF-8"
LC_TIME="us_US.UTF-8"
LC_COLLATE="us_US.UTF-8"
LC_MONETARY="us_US.UTF-8"
LC_MESSAGES="us_US.UTF-8"
LC_PAPER="us_US.UTF-8"
LC_NAME="us_US.UTF-8"
LC_ADDRESS="us_US.UTF-8"
LC_TELEPHONE="us_US.UTF-8"
LC_MEASUREMENT="us_US.UTF-8"
LC_IDENTIFICATION="us_US.UTF-8"
LC_ALL=
[user@ip-address ~]$ localectl
System Locale: LANG=us_US.UTF-8 #この列を、以下で編集していきます。
VC Keymap: us
X11 Layout: us
X11 Model: pc105+inet
X11 Options: terminate:ctrl_alt_bksp
[user@ip-address ~]$ timedatectl
Local time: 日 2021-02-28 08:19:29 JST ……①’
Universal time: 土 2021-02-27 23:19:29 UTC
RTC time: 土 2021-02-27 23:19:29
Time zone: Asia/Tokyo (JST, +0900) ……②’
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
[user@ip-address ~]$ vim /etc/locale.conf
Lang=us_US.UTF-8
해결책
①Terminal 설정 변경
Terminal > Preferences > Profiles > Advanced > Set locale environment variables on starup을 선택 해제합니다.
②Language & Region 확인
Region이 Japan으로, Preffered languages의 톱이 English로 되어 있습니다.
③ $LANG 변경
vim /etc/locale.conf
Lang=ja_JP.utf8
④System Locale 변경
[user@ip-address ~]$ sudo localectl set-locale LANG=ja_JP.utf8
[user@ip-address ~]$ localectl
System Locale: LANG=ja_JP.utf8 #先ほどの LANG=us_US.UTF-8 から変わりました。
VC Keymap: us
X11 Layout: us
X11 Model: pc105+inet
X11 Options: terminate:ctrl_alt_bksp
[user@ip-address ~]$ vi /etc/locale.conf
⑤reboot하고 다시 로그인한다.
$ sudo reboot
Connection to {IPアドレス} closed by remote host.
Connection to {IPアドレス} closed.
% ssh aws_key_rsa
Last login: (略)
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[user@ip-address ~]$
이제 오류가 없어 EC2에 로그인할 수 있었습니다.
보충①
[user@ip-address ~]$ locale
LANG=ja_JP.utf8
LC_CTYPE="ja_JP.utf8"
LC_NUMERIC="ja_JP.utf8"
LC_TIME="ja_JP.utf8"
LC_COLLATE="ja_JP.utf8"
LC_MONETARY="ja_JP.utf8"
LC_MESSAGES="ja_JP.utf8"
LC_PAPER="ja_JP.utf8"
LC_NAME="ja_JP.utf8"
LC_ADDRESS="ja_JP.utf8"
LC_TELEPHONE="ja_JP.utf8"
LC_MEASUREMENT="ja_JP.utf8"
LC_IDENTIFICATION="ja_JP.utf8"
LC_ALL=
LC_*가 자동으로 전환되었음을 확인할 수 있습니다.
보충② (당시의 나의 .bash_profile의 상황입니다.)
[user@ip-address ~]$vim .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
환경 변수에 대한 게시물을 위해 보충하십시오.
Reference
이 문제에 관하여(US 키보드에서 AWS(EC2)를 사용합니다. manpath: can't set the locale; 의 해결책.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/wonderglot/items/576f7b34c0e46ac57854
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
~ % ssh aws_key_rsa
Last login: Sat Feb 27 17:21:44 2021 from kd059138042141.ppp-bb.dion.ne.jp
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
-bash: warning: setlocale: LC_CTYPE: cannot change locale (us_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_COLLATE: cannot change locale (us_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_MESSAGES: cannot change locale (us_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_NUMERIC: cannot change locale (us_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_TIME: cannot change locale (us_US.UTF-8): No such file or directory
manpath: can't set the locale; make sure $LC_* and $LANG are correct
[user@ip-address ~]$
오류가 발생한 상황
인스턴스 작성 후, 다음과 같이 타임 존에 UTC(세계 협정 시각)가 디폴트 설정되어 있었습니다.
$ timedatectl
Local time: Sun 2019-08-25 10:27:53 UTC ……①
Universal time: Sun 2019-08-25 10:27:53 UTC
RTC time: Sun 2019-08-25 10:27:52
Time zone: UTC (UTC, +0000) ……②
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
나는 위의 ①Local time 과 ②Time zone 에 변경을 했습니다.
$ timedatectl list-timezones | grep Asia/Tokyo
Asia/Tokyo
# 日本時間がタイムゾーンに設定可能かどうかを確認するコマンド。
$ sudo timedatectl set-timezone Asia/Tokyo
# Time zone を Asia/Tokyo に変更する。
그 결과가 아래의 ①’과 ②’입니다.
[user@ip-address ~]$ timedatectl
Local time: 日 2021-02-28 08:31:59 JST ……①’
Universal time: 土 2021-02-27 23:31:59 UTC
RTC time: 土 2021-02-27 23:31:59
Time zone: Asia/Tokyo (JST, +0900) ……②’
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
이 근처에서 로그인시 오류가 발생합니다.
※복수의 설정을 동시에 변경하고 있었기 때문에, 디폴트로부터 위의 상황만을 시험했을 경우, 재현성이 없는 경우가 있습니다.
오류가 발생할 때 환경 변수
[user@ip-address ~]$ 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=us_US.UTF-8
LC_CTYPE="us_US.UTF-8"
LC_NUMERIC="us_US.UTF-8"
LC_TIME="us_US.UTF-8"
LC_COLLATE="us_US.UTF-8"
LC_MONETARY="us_US.UTF-8"
LC_MESSAGES="us_US.UTF-8"
LC_PAPER="us_US.UTF-8"
LC_NAME="us_US.UTF-8"
LC_ADDRESS="us_US.UTF-8"
LC_TELEPHONE="us_US.UTF-8"
LC_MEASUREMENT="us_US.UTF-8"
LC_IDENTIFICATION="us_US.UTF-8"
LC_ALL=
[user@ip-address ~]$ localectl
System Locale: LANG=us_US.UTF-8 #この列を、以下で編集していきます。
VC Keymap: us
X11 Layout: us
X11 Model: pc105+inet
X11 Options: terminate:ctrl_alt_bksp
[user@ip-address ~]$ timedatectl
Local time: 日 2021-02-28 08:19:29 JST ……①’
Universal time: 土 2021-02-27 23:19:29 UTC
RTC time: 土 2021-02-27 23:19:29
Time zone: Asia/Tokyo (JST, +0900) ……②’
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
[user@ip-address ~]$ vim /etc/locale.conf
Lang=us_US.UTF-8
해결책
①Terminal 설정 변경
Terminal > Preferences > Profiles > Advanced > Set locale environment variables on starup을 선택 해제합니다.
②Language & Region 확인
Region이 Japan으로, Preffered languages의 톱이 English로 되어 있습니다.
③ $LANG 변경
vim /etc/locale.conf
Lang=ja_JP.utf8
④System Locale 변경
[user@ip-address ~]$ sudo localectl set-locale LANG=ja_JP.utf8
[user@ip-address ~]$ localectl
System Locale: LANG=ja_JP.utf8 #先ほどの LANG=us_US.UTF-8 から変わりました。
VC Keymap: us
X11 Layout: us
X11 Model: pc105+inet
X11 Options: terminate:ctrl_alt_bksp
[user@ip-address ~]$ vi /etc/locale.conf
⑤reboot하고 다시 로그인한다.
$ sudo reboot
Connection to {IPアドレス} closed by remote host.
Connection to {IPアドレス} closed.
% ssh aws_key_rsa
Last login: (略)
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[user@ip-address ~]$
이제 오류가 없어 EC2에 로그인할 수 있었습니다.
보충①
[user@ip-address ~]$ locale
LANG=ja_JP.utf8
LC_CTYPE="ja_JP.utf8"
LC_NUMERIC="ja_JP.utf8"
LC_TIME="ja_JP.utf8"
LC_COLLATE="ja_JP.utf8"
LC_MONETARY="ja_JP.utf8"
LC_MESSAGES="ja_JP.utf8"
LC_PAPER="ja_JP.utf8"
LC_NAME="ja_JP.utf8"
LC_ADDRESS="ja_JP.utf8"
LC_TELEPHONE="ja_JP.utf8"
LC_MEASUREMENT="ja_JP.utf8"
LC_IDENTIFICATION="ja_JP.utf8"
LC_ALL=
LC_*가 자동으로 전환되었음을 확인할 수 있습니다.
보충② (당시의 나의 .bash_profile의 상황입니다.)
[user@ip-address ~]$vim .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
환경 변수에 대한 게시물을 위해 보충하십시오.
Reference
이 문제에 관하여(US 키보드에서 AWS(EC2)를 사용합니다. manpath: can't set the locale; 의 해결책.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/wonderglot/items/576f7b34c0e46ac57854
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ timedatectl
Local time: Sun 2019-08-25 10:27:53 UTC ……①
Universal time: Sun 2019-08-25 10:27:53 UTC
RTC time: Sun 2019-08-25 10:27:52
Time zone: UTC (UTC, +0000) ……②
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
$ timedatectl list-timezones | grep Asia/Tokyo
Asia/Tokyo
# 日本時間がタイムゾーンに設定可能かどうかを確認するコマンド。
$ sudo timedatectl set-timezone Asia/Tokyo
# Time zone を Asia/Tokyo に変更する。
[user@ip-address ~]$ timedatectl
Local time: 日 2021-02-28 08:31:59 JST ……①’
Universal time: 土 2021-02-27 23:31:59 UTC
RTC time: 土 2021-02-27 23:31:59
Time zone: Asia/Tokyo (JST, +0900) ……②’
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
[user@ip-address ~]$ 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=us_US.UTF-8
LC_CTYPE="us_US.UTF-8"
LC_NUMERIC="us_US.UTF-8"
LC_TIME="us_US.UTF-8"
LC_COLLATE="us_US.UTF-8"
LC_MONETARY="us_US.UTF-8"
LC_MESSAGES="us_US.UTF-8"
LC_PAPER="us_US.UTF-8"
LC_NAME="us_US.UTF-8"
LC_ADDRESS="us_US.UTF-8"
LC_TELEPHONE="us_US.UTF-8"
LC_MEASUREMENT="us_US.UTF-8"
LC_IDENTIFICATION="us_US.UTF-8"
LC_ALL=
[user@ip-address ~]$ localectl
System Locale: LANG=us_US.UTF-8 #この列を、以下で編集していきます。
VC Keymap: us
X11 Layout: us
X11 Model: pc105+inet
X11 Options: terminate:ctrl_alt_bksp
[user@ip-address ~]$ timedatectl
Local time: 日 2021-02-28 08:19:29 JST ……①’
Universal time: 土 2021-02-27 23:19:29 UTC
RTC time: 土 2021-02-27 23:19:29
Time zone: Asia/Tokyo (JST, +0900) ……②’
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
[user@ip-address ~]$ vim /etc/locale.conf
Lang=us_US.UTF-8
해결책
①Terminal 설정 변경
Terminal > Preferences > Profiles > Advanced > Set locale environment variables on starup을 선택 해제합니다.
②Language & Region 확인
Region이 Japan으로, Preffered languages의 톱이 English로 되어 있습니다.
③ $LANG 변경
vim /etc/locale.conf
Lang=ja_JP.utf8
④System Locale 변경
[user@ip-address ~]$ sudo localectl set-locale LANG=ja_JP.utf8
[user@ip-address ~]$ localectl
System Locale: LANG=ja_JP.utf8 #先ほどの LANG=us_US.UTF-8 から変わりました。
VC Keymap: us
X11 Layout: us
X11 Model: pc105+inet
X11 Options: terminate:ctrl_alt_bksp
[user@ip-address ~]$ vi /etc/locale.conf
⑤reboot하고 다시 로그인한다.
$ sudo reboot
Connection to {IPアドレス} closed by remote host.
Connection to {IPアドレス} closed.
% ssh aws_key_rsa
Last login: (略)
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[user@ip-address ~]$
이제 오류가 없어 EC2에 로그인할 수 있었습니다.
보충①
[user@ip-address ~]$ locale
LANG=ja_JP.utf8
LC_CTYPE="ja_JP.utf8"
LC_NUMERIC="ja_JP.utf8"
LC_TIME="ja_JP.utf8"
LC_COLLATE="ja_JP.utf8"
LC_MONETARY="ja_JP.utf8"
LC_MESSAGES="ja_JP.utf8"
LC_PAPER="ja_JP.utf8"
LC_NAME="ja_JP.utf8"
LC_ADDRESS="ja_JP.utf8"
LC_TELEPHONE="ja_JP.utf8"
LC_MEASUREMENT="ja_JP.utf8"
LC_IDENTIFICATION="ja_JP.utf8"
LC_ALL=
LC_*가 자동으로 전환되었음을 확인할 수 있습니다.
보충② (당시의 나의 .bash_profile의 상황입니다.)
[user@ip-address ~]$vim .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
환경 변수에 대한 게시물을 위해 보충하십시오.
Reference
이 문제에 관하여(US 키보드에서 AWS(EC2)를 사용합니다. manpath: can't set the locale; 의 해결책.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/wonderglot/items/576f7b34c0e46ac57854
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
vim /etc/locale.conf
Lang=ja_JP.utf8
[user@ip-address ~]$ sudo localectl set-locale LANG=ja_JP.utf8
[user@ip-address ~]$ localectl
System Locale: LANG=ja_JP.utf8 #先ほどの LANG=us_US.UTF-8 から変わりました。
VC Keymap: us
X11 Layout: us
X11 Model: pc105+inet
X11 Options: terminate:ctrl_alt_bksp
[user@ip-address ~]$ vi /etc/locale.conf
$ sudo reboot
Connection to {IPアドレス} closed by remote host.
Connection to {IPアドレス} closed.
% ssh aws_key_rsa
Last login: (略)
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[user@ip-address ~]$
[user@ip-address ~]$ locale
LANG=ja_JP.utf8
LC_CTYPE="ja_JP.utf8"
LC_NUMERIC="ja_JP.utf8"
LC_TIME="ja_JP.utf8"
LC_COLLATE="ja_JP.utf8"
LC_MONETARY="ja_JP.utf8"
LC_MESSAGES="ja_JP.utf8"
LC_PAPER="ja_JP.utf8"
LC_NAME="ja_JP.utf8"
LC_ADDRESS="ja_JP.utf8"
LC_TELEPHONE="ja_JP.utf8"
LC_MEASUREMENT="ja_JP.utf8"
LC_IDENTIFICATION="ja_JP.utf8"
LC_ALL=
LC_*가 자동으로 전환되었음을 확인할 수 있습니다.
보충② (당시의 나의 .bash_profile의 상황입니다.)
[user@ip-address ~]$vim .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
환경 변수에 대한 게시물을 위해 보충하십시오.
Reference
이 문제에 관하여(US 키보드에서 AWS(EC2)를 사용합니다. manpath: can't set the locale; 의 해결책.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/wonderglot/items/576f7b34c0e46ac57854
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
[user@ip-address ~]$vim .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
Reference
이 문제에 관하여(US 키보드에서 AWS(EC2)를 사용합니다. manpath: can't set the locale; 의 해결책.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/wonderglot/items/576f7b34c0e46ac57854텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)