id: 11418    nodeId: 11418    type: General    point: 401.0    linkPoint: 1.0    maker: cella    permission: linkable    made at: 2012.03.12 18:11    edited at: 2012.03.14 16:30
xterm 한글 출력
(remote) Centos 기계에서:

1. /etc/sysconfig/i18n 에서 LANG 을 다음과 같이 만든다.

LANG="ko_KR.UTF-8"

효과가 있으려면, source 를 하거나, 다시 login 하면 된다.

2. 그런데 xterm 의 폰트가 utf8 을 표시할 수 있어야 한다. 그래서
~/.Xresources 에 다음과 같은 라인들을 넣고

xterm*utf8: 1
xterm*VT100*font: -misc-fixed-medium-r-semicondensed-*-13-*-*-*-*-*-iso10646-1
xterm*VT100*boldFont: -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso10646-1
xterm*VT100*background: black
xterm*VT100*foreground: white

그 다음에

xrdb -merge ~/.Xresources 를 실행한다. 이것은 기존의 setting 중 ~/.Xresources 에서 새로 setting 하지 않은 것은 그대로 놔두는 방법이고, 기존의 것들을 모두 제거해 버리고 싶으면 -merge 옵션을 빼고 하면 된다. 잘 되었는지는
xrdb -query 로 확인해 본다.

그러면 이제 utf8 로 된 한글 파일이름이 제대로 표시되고, 파일 내의 utf8 로 된 한글을 읽을 수 있다.

2.1 man 명령이 잘 실행되지 않는 경우가 있다. 이것은 man 이 less 를 사용하는데 예전 매뉴얼은 utf-8 이전에 만든 문서들이기 때문인 것 같다. ~/.bash_profile 에 다음을 넣어주면 해결된다. 자세한 내용은 man less 에 나온다. locale 이 utf-8 로 된 경우 이 환경변수의 기본값이 utf-8 이다.
export LESSCHARSET=iso8859
=> 이게 아니라 한글로 된 매뉴얼이 안 보이는 문제였다. 이것은
http://kldp.org/node/56117
에 나오는 방법으로 해결했다. 그 내용은 다음과 같다.

----인용시작----
locate iconv해보시고 혹시 iconv가 /usr/bin/iconv말고 또 있다면...
which iconv로 어는게 잡히는지 보세요..
만일 /usr/bin/iconv가 아닌 다른 경로의 iconv라면
위의 /usr/bin/nroff를 vi로 여시고 다음줄을
if iconv -f utf-8 -t utf-8 -o /dev/null ${TMPFILE} 2>/dev/null

if /usr/bin/iconv -f utf-8 -t utf-8 -o /dev/null ${TMPFILE} 2>/dev/null
로 바꿔주시면 됩니다.
----인용끝----


3. 한 가지 문제가 남았는데, 이쪽 local 에서 xterm 을 띄운 다음 거기에서 Centos 기계에 접속하여 vi 등을 해보면 화면이 깨진다. 왜 그런지 모르겠다.

4. i18n 을 고치지 않고 그냥 LANG 을 export 하면, 이상하게도 utf8 한글로된 파일 내용을 잘 나오지만 utf8 한글로 된 파일이름은 깨져서 보인다.

5. xterm 을 이쪽 local 에서 띄운다음, Centos 기계에 접속해서 보면, 잘 되지 않는다. Centos 기계에 접속해서 거기에서 띄운 xterm 에서는 잘 된다. 뭔가 이쪽 local 의 setting 을 고쳐야 하나보다.

6. utf8 한글을 보는 것 뿐 아니라 입력까지 하고 싶다면 nabi 같은 한글입력기를 설치해야 한다고 한다.


(local) Mac OS X 기계에서:

위 3의 문제는 이쪽 local MacOSX 에서 ~/.Xresources 에 폰트를 위와 같이 세팅하고, .bash_profile 에 LANG 와 LC_ALL 을 위와 같이 UTF-8 로 export 하도록 했더니, 해결됐다.
이 경우, remote 의 Centos 기계에서 .Xresources 가 있을 필요가 없다. 또한 알고보니까 /etc/sysconfig/i18n 을 고쳐서 전체적으로 영향을 미칠 필요 없이 .bash_profile 에서 LANG 과 LC_ALL 을 export 하면 이 사용자에게만 영향을 미치게 되므로 더 우아하게 해결하는 방법이 된다.

그런데 이 경우 아직 남은 문제는 remote Centos 에서는 한글파일 이름이나 파일의 한글 내용이 잘 보이는데, local MacOSX 에서는 한글 내용은 잘 보이지만 한글 파일이름은 깨진다는 것이다. 아마 LANG, LC_ALL 을 export 하는 것 만으로는 완전히 설정이 되는 게 아닌 것 같다.

wideFont 설정을 하면 보인다는 말이 있어서 해봤는데 마찬가지로 깨진다. (이 경우, 한자와 일본글자는 보인다.)
MacOSX xterm 에 백묵 폰트 16point 짜리를 깔면 보인다는 얘기가 있어서 깔아봤는데 마찬가지로 깨진다. (이것을 위해서 xset 명령을 .bash_profile 에 추가했다.)

Return to xterm 한글 출력