** 문제점!
이 방법대로 하면, Flatpak 설치 시 이상한 결과를 얻을 수도 있다. (자세한 내용은 아래에서.)
시스템 로캘을 한국/한국어로 설정하면, 터미널 명령어 결과도 당연히 한국어로 표시된다.
$ ls a nemoarch@Generousarch ls: 'a'에 접근할 수 없음: 그런 파일이나 디렉터리가 없습니다
한국어로 표시되면 알아보기 쉬운 장점은 있지만, 이 문구를 근거로 검색을 하려 할 때는 다시금 영어로 출력해야 하는 번거로움도 있다. (물론, 한국어 그대로 검색한다면야 문제될게 없지만.)
이럴 때, 보통 export LANG=C
등을 써서 임시로 영어(기본값)로 바꾼 뒤 출력하곤 하는데…
이렇게 하면, 한국어는 몽땅 깨져버리는 심각한 문제가 있다.
$ ll 합계 8.0K drwxr-xr-x 1 nemoarch nemoarch 86 2021-12-01 16:32 Desktop drwxr-xr-x 1 nemoarch nemoarch 0 2021-11-28 22:01 Documents drwxr-xr-x 1 nemoarch nemoarch 6 2021-12-03 16:19 Downloads drwxr-xr-x 1 nemoarch nemoarch 0 2021-11-28 22:01 Music drwxr-xr-x 1 nemoarch nemoarch 40 2021-12-01 16:29 Pictures drwxr-xr-x 1 nemoarch nemoarch 0 2021-11-28 22:01 Public drwxr-xr-x 1 nemoarch nemoarch 0 2021-11-28 22:01 Templates drwxr-xr-x 1 nemoarch nemoarch 0 2021-11-28 22:01 Videos drwxr-xr-x 1 nemoarch nemoarch 56 2021-12-02 13:20 aur -rw-r--r-- 1 nemoarch nemoarch 45 2021-12-04 21:52 kdesurc-nono -rw-r--r-- 1 nemoarch nemoarch 1.9K 2021-12-01 22:19 xorg.conf drwxr-xr-x 1 nemoarch nemoarch 0 2021-12-06 22:35 안녕 $ export LANG=C $ ll ?? 8.0K drwxr-xr-x 1 nemoarch nemoarch 86 2021-12-01 16:32 Desktop drwxr-xr-x 1 nemoarch nemoarch 0 2021-11-28 22:01 Documents drwxr-xr-x 1 nemoarch nemoarch 6 2021-12-03 16:19 Downloads drwxr-xr-x 1 nemoarch nemoarch 0 2021-11-28 22:01 Music drwxr-xr-x 1 nemoarch nemoarch 40 2021-12-01 16:29 Pictures drwxr-xr-x 1 nemoarch nemoarch 0 2021-11-28 22:01 Public drwxr-xr-x 1 nemoarch nemoarch 0 2021-11-28 22:01 Templates drwxr-xr-x 1 nemoarch nemoarch 0 2021-11-28 22:01 Videos drwxr-xr-x 1 nemoarch nemoarch 56 2021-12-02 13:20 aur -rw-r--r-- 1 nemoarch nemoarch 45 2021-12-04 21:52 kdesurc-nono -rw-r--r-- 1 nemoarch nemoarch 1.9K 2021-12-01 22:19 xorg.conf drwxr-xr-x 1 nemoarch nemoarch 0 2021-12-06 22:35 ''$'\354\225\210\353\205\225'
‘안녕’ 이라는 디렉토리가 LANG=C 환경에서는 기호로 바뀌어버렸고, 위쪽 ‘합계’도 ?? 가 돼버렸다.
또, 한국어로 설정돼 있을 때 문제점이 있다면, Yes/No 를 원하는 상황에서, ‘예/아니오’ 를 입력해야만 하는 경우를 들 수 있다. 영어라면 간단히 한 번의 손놀림(y/n)으로 처리할 수 있는데, 한국어일 경우는 더 길게 입력해야 하고, 따라서 불편함을 감수해야만 한다.
어떻게 하는게 제일 좋을지는 모르겠으나..
아무래도 터미널 명령어의 결과는 영어가 낫고, 한글은 제대로 표시되었으면 좋겠다.
이런 결과를 얻으려면??
$ locale LANG=ko_KR.UTF-8 LC_CTYPE="ko_KR.UTF-8" LC_NUMERIC="ko_KR.UTF-8" LC_TIME="ko_KR.UTF-8" LC_COLLATE="ko_KR.UTF-8" LC_MONETARY="ko_KR.UTF-8" LC_MESSAGES=C LC_PAPER="ko_KR.UTF-8" LC_NAME="ko_KR.UTF-8" LC_ADDRESS="ko_KR.UTF-8" LC_TELEPHONE="ko_KR.UTF-8" LC_MEASUREMENT="ko_KR.UTF-8" LC_IDENTIFICATION="ko_KR.UTF-8" LC_ALL=
터미널에서 로캘(locale
명령)을 확인해보면, 위와 같은 결과가 나온다. 여기서, LC_MESSAGES
만을 C 로 바꿔서, 명령어 출력과 Yes/No 선택등을 영어로 하게끔 설정했다.
이 결과로!
$ ll total 8.0K drwxr-xr-x 1 nemoarch nemoarch 86 2021-12-01 16:32 Desktop drwxr-xr-x 1 nemoarch nemoarch 0 2021-11-28 22:01 Documents drwxr-xr-x 1 nemoarch nemoarch 6 2021-12-03 16:19 Downloads drwxr-xr-x 1 nemoarch nemoarch 0 2021-11-28 22:01 Music drwxr-xr-x 1 nemoarch nemoarch 40 2021-12-01 16:29 Pictures drwxr-xr-x 1 nemoarch nemoarch 0 2021-11-28 22:01 Public drwxr-xr-x 1 nemoarch nemoarch 0 2021-11-28 22:01 Templates drwxr-xr-x 1 nemoarch nemoarch 0 2021-11-28 22:01 Videos drwxr-xr-x 1 nemoarch nemoarch 56 2021-12-02 13:20 aur -rw-r--r-- 1 nemoarch nemoarch 45 2021-12-04 21:52 kdesurc-nono -rw-r--r-- 1 nemoarch nemoarch 1.9K 2021-12-01 22:19 xorg.conf drwxr-xr-x 1 nemoarch nemoarch 0 2021-12-06 22:35 안녕 $ ll a ls: cannot access 'a': No such file or directory
‘total’ 은 영어로 나왔고, ll a
결과도 영어지만, ‘안녕’도 깨지지 않고 잘 표시됐다.
헌데, 만약 임시로 특정 명령만 한국어로 출력을 바꿔주려면?
$ LC_MESSAGES="ko_KR.UTF8" ll a 2 ls: 'a'에 접근할 수 없음: 그런 파일이나 디렉터리가 없습니다
이렇게 LC_MESSAGES="ko_KR.UTF8"
를 앞에 써 주고, 명령어를 넣어주면 된다.
다만, 매번 저렇게 넣기는 귀찮으므로, alias 를 만들어쓰면 훨씬 간편하겠다.
alias kor='LC_MESSAGES="ko_KR.UTF8"'
그래서 설정은 어떻게?
간단하게, .bashrc/.zshrc
에 export 행을 넣어주는 방법을 택했다. 물론, 기본 로캘은 KDE 설정에서 한국/어로 해줬기에, 기본값은 ko_KR.utf8 이다.
export LC_MESSAGES=C
다만, 살짝 이상한 점이 있다.
여기서 export LC_MESSAGES=en_US.utf8
로 해도, 영어로 출력되지 않는다. 꼭 C 로 해야만 되는데.. 왜 이런건지는 모르겠다.
Flatpak 은, 이렇게 Locale 이 섞여있는 상황을 인식하지 못한다.
따라서, LC_MESSAGES=C 인 상황에서 Flatpak 을 설치하고, 리브레오피스를 올리면, 메뉴가 영어로만 뜨고, (여기까지만 해도 큰 문제는 아닌데..), ‘한국어로 된 파일’을 읽어오지 못하는 아주 큰 문제에 직면하게 된다.
이걸 수동으로 수정해주는 방법은 모르겠고..
몽땅 삭제(Uninstall)한 뒤에 LC_MESSAGES 를 한국어로 바꾸고, 다시 설치해야만 한다.
현재까지는 flatpak 에서만 발견했지만, 또 어떤 프로그램에서 이런 사태(?)가 벌어질진 모르겠다…
1 thought on “Linux: 터미널 명령어 결과를 영어로.”