2017년 12월 10일 일요일

Windows 10 Linux Bash 에서 X-Window 한글입력하기

Windows 10 에서 Linux Bash 가 지원된다는것은 잘알고 계시죠?
1703 빌드부터는 Microsoft Store 에서 앱 형태로 다운받을 수 있습니다.

다만 X-Window 를 사용하는 방법에 대한 블로그나 글은 많은데 X-Window 에서 한글입력기를 완벽히 사용하는 방법에 대해서 블로그를 찾지 못해서 직접 작성하게 되었습니다.

아래 블로그를 찾았지만 잘 안되더군요.

https://medium.com/@rkttu/windows-10%EC%97%90%EC%84%9C-%EB%A6%AC%EB%88%85%EC%8A%A4%EC%9A%A9-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8-%EC%84%A4%EC%B9%98%ED%95%98%EA%B3%A0-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0-2cb0d7892d12

직접 테스트한 결과는 아래와 같습니다.

1. xorg 서버 설치하기
우선 X-Window 를 위해서 xorg 서버 어플리케이션이 필요한데 아래 두가지를 선택할수 있습니다.

Xming https://sourceforge.net/projects/xming/
Vcxsrv https://sourceforge.net/projects/vcxsrv/


저는 Vcxsrv 를 선호합니다. 특별한 이유는 없습니다.

2. 한글 폰트 설치하기 
우선 한글을 잘나오게 위해서 한글 폰트를 설치합니다.
sudo apt install fonts-baekmuk fonts-nanum

3. 한글 입력기 설치하기

한글입력기는 여러가지 입력기를 시도해보았지만 fcitx 만 제대로 동작되었습니다.
sudo apt install fcitx-hangul

dbus-x11 에 의존적 이므로 아래를 설치해야합니다.
sudo apt install dbus-x11

4. 환경설정 
Windows에서 Xming 또는 VcXsrv를 먼저 시작하고 아래 환경변수를 줍니다.

export DISPLAY=:0
export XMODIFIERS=@im=fcitx

위에 XMODIFIERS 환경변수 세팅도 필요합니다.

.bashrc 에 미리 넣어두어도 좋을것 같네요

5. 테스트 

5.1 dbus 의존성 해결
fcitx 를 실행전 fcitx 는 dbus 메시지버스 시스템에 의존하므로 dbus 실행을 위한 machine-id 를 설정합니다.

sudo systemd-machine-id-setup
sudo dbus-uuidgen --ensure

fcitx 를 실행해봅니다. 아래와 같은 메시지후 뜨지 않습니다.
(WARN-5164 /build/fcitx-PSoVA1/fcitx-4.2.9.1/src/module/dbus/dbusstuff.c:195) Connection Error (/usr/bin/dbus-launch terminated abnormally without any error message)

그래서 아래의 링크를 참조하여 해결했습니다.
https://superuser.com/questions/1208984/sed-cant-read-etc-dbus-1-session-conf-input-output-error/1208999

아래 파일을 /etc/dbus-1/session.conf 에 복사한후 수정합니다.
https://www.apt-browse.org/browse/ubuntu/trusty/main/i386/dbus/1.6.18-0ubuntu4/file/etc/dbus-1/session.conf


아래와 명령으로 바로 수정하기
sudo sed -i 's/.*<\/listen>/tcp:host=localhost,port=0<\/listen>/' /etc/dbus-1/session.conf

fcitx 로 띄울시 아래에러에 시달린다면 저는 아래와 같이 해결했습니다.

[WARN] /tmp/SBo/fcitx-4.1.2/src/module/dbus/dbusstuff.c:83-Connection Error (/usr/bin/dbus-launch terminated abnormally without any error message)

sudo apt install dbus-x11


5.2 fcitx 실행 및 설정

아래 명령어로 fcitx를 실행합니다.
fcitx

fcitx-configtool 에서 "+" 로서 Hangul 선택합니다 한글입력방식은 여러가지가 있는데 꼭 "Hangul" 이어야 합니다.

아래 명령어로 실행
fcitx-configtool


영문입력도 하나 선택해줍니다. 아래와 같이 2개 입력이 되면 됩니다.



테스트로 한글 입력이 잘되는지 확인을 위해서 firefox 를 설치해봅니다.

5.3 firefox 로 한글입력 테스트 

firefox 를 설치합니다.

sudo apt-get install firefox

이제 한글 입력이 가능하며 언어 전환키는 기본값으로 CTRL+SPACE 입니다.
fcitx-configtool 에서 언제든기 변환 가능합니다.


댓글 없음: