Locale을 영어로 유지하면서 한글 사용하기

여러가지 이유로 시스템 로케일을 en_US.UTF-8 로 유지하면서 한글을 사용해야 하는 경우가 있을 겁니다. 그리 많지는 않겠지만…

오늘 작업한 결과를 팁으로 정리해서 올립니다.

[b:2wxivrdv]0. 우선, 상황은 Karmic 설치시부터 영어를 선택하여 한글 언어팩이 깔리지 않은 상황입니다.[/b:2wxivrdv]

[b:2wxivrdv]1. ko_KR.UTF-8 로케일을 생성해 줍니다.[/b:2wxivrdv]

[code:2wxivrdv]$ sudo locale-gen ko_KR.UTF-8
(옵션) $ sudo locale-gen ko_KR.EUC-KR[/code:2wxivrdv]

[b:2wxivrdv]2. scim-hangul과 한글 글꼴을 설치하고 scim 설정에서 Hangul을 제외한 다른 입력방법은 제거합니다.[/b:2wxivrdv]

[code:2wxivrdv]$ sudo apt-get install scim-hangul ttf-unfonts[/code:2wxivrdv]

[b:2wxivrdv]3. 글꼴 설정 파일을 /etc/fonts/conf.d/ 디렉토리로 심볼릭 링크를 걸어줍니다.[/b:2wxivrdv]

[code:2wxivrdv]$ sudo cd /etc/fonts/conf.avail
$ sudo ln -sf 29-language-selector-ko-kr.conf ../conf.d/
$ sudo ln -sf 69-language-selector-ko-kr.conf ../conf.d/[/code:2wxivrdv]
참고로 제가 사용하는 29-language-selector-ko-kr.conf와 69-language-selector-ko-kr.conf 를 첨부하니 참고하시기 바랍니다.

[b:2wxivrdv]4. 그놈 글꼴을 영문 폰트로 지정해 줍니다.[/b:2wxivrdv]
System - Preference - Appearance - Font 탭에서,
Fixed width font를 제외한 모든 글꼴을 Dejavu Sans로, Fixed width font는 Dejavu Sans Mono로 설정해 줍니다.

이렇게 하는 이유는, 3번 항목에서 설정한 랭귀지 셀렉터 파일이 기본 Sans와 Serif, Monospace 글꼴에 한글글꼴이 기본적으로 매치되어 있어(플래시에서 한글을 보기 위한 고육지책입니다) 한글 글꼴에 포함된 비교적 품질이 낮은 영문 글꼴이 기본으로 표현되기 때문입니다. 이렇게 하면 기본적으로 영문은 품질이 나은 Dejavu를 통해 보여지고, 한글은 랭귀지 셀렉터 파일에서 지정한 글꼴로 나타나게 됩니다.

[b:2wxivrdv]5. /usr/bin/firefox 와 /opt/google/chrome/google-chrome 파일을 수정합니다.[/b:2wxivrdv]

[code:2wxivrdv]$ sudo gedit /usr/bin/firefox /opt/google/chrome/google-chrome[/code:2wxivrdv]
파일을 여시고, 두 파일 모두 주석 바로 아래부분(문장 맨 앞에 # 달린 부분이 주석입니다)에 다음을 넣어 줍니다.

[code:2wxivrdv]export LANG=ko_KR.UTF-8[/code:2wxivrdv]
플래시는 로케일이 한글이 아니면 한글을 제대로 보여주지 못하기 때문에, 웹브라우저를 열 때만 로케일을 한글로 잠시 바꾸어 주는 것입니다. 현재 시스템 기본 로케일은 en_US.UTF-8 인 것 아시죠? ;) 물론 다른 브라우저를 쓰신다면 같은 요령으로 설정해 주시면 됩니다.

우선은 여기까지 입니다. 아직까지는 별 문제는 없는데, 혹시라도 추가해야 할 내용이 있으면 계속 업데이트하겠습니다.

잘못된 부분 있으면 지적해 주시고요, 질문, 태클 환영합니다.

[quote="realfivesk":29zp1r4o]1. ko_KR.UTF-8 로케일을 생성해 줍니다.
$ sudo locale-gen ko_KR.UTF-8
[/quote:29zp1r4o] 1 번 명령 후 시스탬은 UTF-8 한글 환경이 기본이 된 것인데…
그놈(GUI) 환경이 영어로 뜨는 이유는 단지 언어팩이 없기 때문 입니다.
기본 로케일이 en_US.UTF-8 이라고 착각 하시는 건 아닌지요 ?

잘은 모릅니다만, echo $LANG 했을 때 나오는 로케일이 현재 로케일이 맞다면, locale-gen 명령어로 시스템 로케일이 바로 바뀌는 건 아닌 것 같습니다. utf-8 로케일을 생성하기는 했지만, 여전히 en_US.UTF-8 로 나오거든요.

Locale 확인 명령어는 locale 입니다.
locale
sudo -i
locale

위 글 다시 읽어 보면서 몇가지 생각은 29-language-selector-ko-kr.conf는 지워 버리면 되는거고 …

그보다 저는 영문 환경/메뉴에서 우분투 사용하며 한글입력기를 사용 할 것이라면 gdm에서 영문(English)을 기본값으로 골라 로그인 하고 말 것입니다.
번거롭게 별다른 설정이 필요 하겠는지요?

물론 한글 환경에서 개인 .bashrc 파일 끝에 export LANG=en_US.UTF-8 넣어도 될 것입니다.

그…런 방법이 있겠군요–;; 별 의미 없어 보이기도 하지만 우선은 그냥 놔두겠습니다.

확인해 보니, GDM에서 언어설정을 하면 로케일도 바뀌는 군요. 한국어를 설정하니 ko_KR_UTF-8으로, 영어(미국어)를 설정하니 en_US_UTF-8로 로케일이 바뀌는 것을 확인했습니다.

그럼 사실상 제 팁은 큰 의미는 없는 것인데… 그나마 활용 가치가 있다면 플래시 관련부분입니다.

플래시의 경우 원체 까다로워서, 1. 기본글꼴에 한글글꼴이 기본으로 매칭이 되어 있어야하고, 2. 로케일이 한국어어야 한글이 제대로 표시됩니다. 로케일을 영어로 유지해야 할 필요가 있을 때, /usr/bin/firefox를 수정하여 플래시에서 한글이 제대로 표시되게 하는 아주 작은(…) 부분이 그나마 쓸 만 하겠네요.

분도님 관심 감사합니다. 많이 배웠네요.