얼마전 모공에 Bash on Ubuntu on Windows (이하 bash) 에서 한글의 입출력이 제대로 되지 않아 불편하다란 글이 올라왔습니다.
간단하게나마 한글 쓰는 법을 정리해 봅니다.
1) ConEmu 쓰기 ( http://ift.tt/1KgVlxD )
최근들어 많이 개선되고 있지만 Windows에 들어가는 cmd.exe가 개발자의 마음에 차지에는 아직 부족합니다.
이를 대체하기 위해 여러 console emulator가 나왔는데, ConEmu를 쓰면 한글 입출력을 제대로 할 수 있습니다.
ConEmu를 띄우고 '> bash' 를 입력하는 것으로 쉽게 띄울 수 있지만, bash나 vim 등에서 화살표가 제대로 안먹는 문제가 있습니다.
이건 Bash on Windows의 버그 ( http://ift.tt/2bhUK6A )라서 Microsoft에서 개선해줘야할 문제입니다. 다행히 많은 분들과 ConEmu 개발자의 노력으로 workaround가 도출 ( http://ift.tt/2bR6AHH ) 되었습니다. cmd.exe에서 아래의 명령을 입력하거나 바로 가기를 만들어 실행 주세요.
> ConEmu -basic -run {bash}
2) GNOME terminal 쓰기
ConEmu나 cmd.exe에서도 bash를 잘 쓸 수 있습니다만, Vi에서 커서를 통해 모드 구분이 안되는 불편함이 있습니다.
이럴 경우에도 대안은 있습니다. 그냥 Ubuntu Desktop에서 하는 것처럼 GNOME terminal을 쓰면 됩니다.
GNOME terminal은 GUI 어플리케이션인데, GUI 정보를 받아 표시해 줄 프로그램이 필요합니다.
VcXsrv Windows X Server ( http://ift.tt/1qbp7Bc )를 설치하고 실행합니다. (Xming을 쓰셔도 됩니다.)
그리고 아래의 명령어를 이용하여 필요한 패키지를 설치합니다.
$ sudo apt-get install gnome-terminal
$ sudo apt-get install vim-gnome
$ sudo apt-get install imhangul-gtk2 imhangul-gtk3
$ sudo apt-get install fonts-nanum-coding
bash를 띄우고 나서 두 줄의 환경변수를 설정하고 GNOME terminal을 실행하면 끝입니다.
$ export DISPLAY=:0
$ export GTK_IM_MODULE=hangul2
$ gnome-terminal
환경변수를 매번 입력하기 귀찮으면 ~/.bashrc 파일의 마지막에 아래 두 줄을 추가해 주세요.
gnome-terminal은 추가하면 안됩니다. gnome-terminal만 죽어라고 나타납니다.
(조건문을 이용해 자동으로 gnome-terminal 뜨도록 할 수 있으니 관심있으신 분은 bash 스크립트를 살펴보세요.)
export DISPLAY=:0
export GTK_IM_MODULE=hangul2
----------- 여기서부터는 위에 쓴 내용에 대한 간략한 설명입니다.
$ sudo apt-get install gnome-terminal
우리의 목표입니다. 설치안하면 안됩니다.
$ sudo apt-get install vim-gnome
꼭 필요한 건 아닙니다. gvim을 쓰고 싶으면 설치하세요.
$ sudo apt-get install imhangul-gtk2 imhangul-gtk3
GTK+ 어플리케이션에서 한글일 입력하기 위한 모듈 ( http://ift.tt/2bR7gwL ) 입니다. Ubuntu on Windows에서 iBus나 fcitx같은 입력기 프로세스가 제대로 안도는 것 같으니 GTK+에 바로 붙는 플러그인을 설치해야합니다. 한/영 전환는 Shift-Space입니다.
$ sudo apt-get install fonts-nanum-coding
콘솔용 한글 글꼴이 설치되지 않는것 같으니, 콘솔에서 한글을 보기위해 글꼴을 설치합니다.
bash를 띄우고 나서 아래의 환경변수를 설정합니다.
$ export DISPLAY=:0
GUI 어플리케이션에서 사용할 스크린 번호를 지정하는 변수입니다. VcXsrv의 기본값인 0을 입력합니다.
$ export GTK_IM_MODULE=hangul2
GTK+ 어플리케이션에서 사용할 입력기를 지정합니다. 두벌식을 사용하지 않으시다면 http://ift.tt/2bR7gwL 를 보고 원하는 입력방식을 골라 설정해 주세요.
August 23, 2016 at 05:25PM