발견된 증상 :
방에 있는 컴에 Debian sid 를 깔았다.
그런데, X 에서 ami 를 띄울 수가 없는 것이다.
띄울려고 하면 Xlib 가 한글 locale 지원하지 않는다고 한다.
발견한 원인 :
원인은 간단한 것이었다. 말 그대로 Xlib 가 "현재"의 한글
locale을 지원하지 않는 것이었다. 그런데, 여기서 문제가 있다.
현재 Debian sid 에서 locales 라는 패키지를 설치하면
시스템에 설치할 locale을 고르고 어떤 것을 default로 할 것인지
선택하게 한다. 그런데, 여기에는 ko_KR.EUC-KR 에 해당하는
locale이 있다. 이것으로 locale을 설정하면 대부분의
terminal based software에서 한글을 문제없이 사용할 수 있다.
그런데, X window 에서는 문제가 발생한다.
/usr/X11R6/lib/X11/locale/locale.alias 라는 file에는
여러가지 locale 이름들을 실제로 X library가 사용할
locale로 연결해주게 되는데 이 file에 문제가 있었다.
file의 앞 부분에는
(전략)
ko ko_KR.eucKR
ko_KR ko_KR.eucKR
ko_KR.EUC ko_KR.eucKR
ko_KR.EUC-KR ko_KR.eucKR
ko_KR.euc ko_KR.eucKR
ko_KR.euckr ko_KR.eucKR
ko_KR.utf8 ko_KR.UTF-8
(후략)
이러한 정보들이 있어서 현재 시스템 default로 되어 있는
ko_KR.EUC-KR 이 X에서 실제로 사용하는 ko_KR.eucKR 로 연결이
되는 것처럼 보인다.
그런데, 이 file의 뒷부분에 보면 이런 내용이 있다.
(전략)
ko: ko_KR.eucKR
ko_KR: ko_KR.eucKR
ko_KR.EUC: ko_KR.eucKR
ko_KR.euc: ko_KR.eucKR
ko_KR.euckr: ko_KR.eucKR
ko_KR.utf8: ko_KR.UTF-8
(후략)
그렇다. 앞부분의 내용은 뭔가 잘못 만들어진 것이고 실제로는
이 뒷부분에 있는 것을 참조하고 있는 것이다. -.-;;;;
어쩌다 이런 일이 발생했는지는 모르겠지만, 어쨌든 나는
문제를 해결해야 했다.
해결책 :
물론, 저 locale.alias 라는 file을 고치면 제대로 문제를
해결하는 것이 되지만, 저 화일은 패키지에서 설치한 녀석이기
때문에 나중에라도 X window 관련 패키지가 update되면
문제가 생길 수가 있다. 그리고, 내가 대부분의 문제를 해결하는
방식이 시스템에 있는 화일들을 가능하면 적게 바꾸면서
해결하는 것이라서리...
/etc/environment 라는 화일에 저장되어 있는
시스템 default locale을
LANG=ko_KR.EUC-KR
에서
LANG=ko_KR.eucKR
로 바꿨다.
현재 :
이제는 terminal에서의 한글 사용과 X 에서의 한글 사용에
둘다 문제가 없다. :)