Ubuntu 16.10 버전에서 nimf 입력기 설치

리눅스를 주 운영체제로 사용하다보면, 여러 가지 상황이 발생합니다. 운영체제의 버전을 새로운 버전으로 올리다 보면, 새로운 패키지에 맞춰 프로그램을 설치해야할 때가 생깁니다. 예를 들면, 호환이 안되서라든지 등 인 것이죠.


우분투 리눅스를 써보신 분들이라면, 기존 버전에서 쓰던 프로그램이 새로운 버전 레포지터리에 있지 않아, 직접 빌드해서 사용하는가 하면, 다른 프로그램과 라이브러리 의존성 때문에 빌드를 포기하는 분들도 있습니다. 



한글 입력기

Windows 운영체제에서는 Microsoft에서 제공하는 전용 입력기를 사용합니다. 한글의 경우에는 IME 입력기라는 것을 사용하죠. 과거에는 MS Office 제품에 별도로 IME 타 버전까지 내장되어 있어서 호환성에도 많은 문제의 사례들이 있었죠. (지금은 없어졌지만...)


Linux 운영체제에도 한글 입력기가 존재합니다. (당연하겠죠?) 그런데, Linux는 오픈 소스 운영체제이다보니 전용으로 딱 정해져 있는 입력기가 있는 것이 아닌 여러 가지 입력기가 존재합니다. 물론 그 입력기에는 사용할 수 있는 언어가 있고, 없는 언어도 있으며 모든 언어가 전부 지원되는 입력기도 있지만 일부 프로그램과 호환이 되지 않는 입력기도 존재합니다.



Linux에 존재하는 한글 입력기

리눅스에 존재하는 한글 입력기에는 대표적으로 4가지가 있습니다.


- ibus

- fcitx

- uim-byerou

- nimf


아마 이거 외에 nabi 라고 하는 한글 입력기도 존재는 하는데, 지금은 있는지 잘 모르겠어서 일단 제외는 했습니다만 어쨌든 Linux에서 존재하는 한글 입력기를 적어봤습니다. 실제 과거 12.04 버전에서는 ibus를 기본 한글 입력기로 설치가 됐었고, 현재는 fcitx 입력기가 아마 기본 한글 입력기로 설치되는 것으로 알고 있습니다.


그런데, 제가 여태까지 ibus를 쓰다가 이 ibus 입력기의 고질적인 문제가 한 가지 있었는데요. 바로 한글을 입력하다가 강제 개행을 하면, 맨 끝 문자가 자동으로 튀어나오는 것입니다. 음 처음에는 쓸만하겠지, 나중에는 언젠가 고쳐지겠지. 했는데, 여전히 제자리 걸음이어서, 결국 Ubuntu 16.04 버전에서 fcitx로 입력기를 교체했습니다.


fcitx에서는 고질적인 강제 개행 문제가 없어서 굉장히 좋았는데, 이런. fcitx 입력기는 Sublime Text 3, GNS3 등의 프로그램에서 입력기가 호환되지 않아 한글 입력이 아예 안되는 상황이 존재해버렸습니다. 결국 저는 다른 한글 입력기를 찾아보기로 했습니다.



nimf

nimf 입력기는 사실 Ubuntu Linux의 입력기 리스트에 존재도 안하는 입력기 중에 하나라, 사실 전혀 모르고 있던 입력기 중에 하나였는데요. 한글 입력이 안되는 프로그램이 많아 너무 답답한 나머지 다른 입력기를 찾던 중에 nimf라는 입력기를 만나게 되었습니다.


그 어디에도 존재하지 않는 nimf 입력기....


막상 이제 nimf 입력기를 설치하려보니 레포지터리에 nimf 라는 이름의 프로그램은 존재하지 않았습니다. 그래서, 그를 찾아보니 Ubuntu 16.04 버전까지는 레포지터리에 존재하나 16.10 레포지터리에는 없습니다. 게다가 2016. 09월자로 기존 레포지터리에도 아마 없어진 듯했습니다.


그래서 결국 nimf 소스가 있는 GitHub 사이트에서 git 명령어를 이용해 소스 코드를 받아 직접 빌드하기로 했습니다.



nimf 설치

자 여태까지는 deb 패키지를 사용해서 dpkg 명령어를 이용해 아주 쉽게 프로그램을 설치했지만, 이렇듯 바이너리 파일이 없는 경우에는 직접 소스 코드를 받아 컴파일러를 이용해 빌드 설치하는 수밖에 없죠. 


$ git clone https://github.com/cogniti/nimf.git

적당한 위치에 위 명령어를 입력해 소스 코드를 다운로드 받습니다.


$ dpkg-checkbuilddeps

빌드를 하기 전에, 이 코드에 어떤 라이브러리가 필요하고, 없는지를 먼저 체킹합니다. 그리고, 없는 라이브러리는 sudo apt install 명령어를 사용해 설치해줍니다.


$ ./autogen.sh

미리 만들어진 Shell 코드를 사용하여 빌드를 구성합니다.


$ make

이제 컴파일을 합니다. (OpenCV같이 큰 패키지는 아니기 때문에 시간은 10분이면 됩니다.)


$ sudo make install

컴파일한 파일을 설치합니다. 


$ sudo ldconfig

심볼릭 링크를 만들어줍니다.


$ sudo make update-gtk-im-cache

input-method 캐시를 생성합니다.


$ sudo make update-gtk-icon-cache

같은 방법으로 아이콘 캐시도 생성해줍니다.


$ nimf-daemon

nimf 데몬을 실행합니다. 


$ nimf-indicator

이 데몬은 nimf 설정을 쉽게할 수 있도록 패널에 nimf 아이콘을 생성해줍니다.


$ export GTK_IM_MODULE="nimf"
$ export QT4_IM_MODULE="nimf"
$ export QT_IM_MODULE="nimf"
$ export XMODIFIERS="@im=nimf"

모든 프로그램의 입력기를 nimf로 지정해줍니다.


$ google-chrome

gedit, chrome 등 프로그램을 실행시켜서 한글이 잘 나오는지를 확인해봅니다.


상단 패널에 "한"이라고 적힌 것이 바로 nimf-indicator입니다. gedit에서도 어디에서도 모두 한글 입력이 잘 되고 있음을 확인하면 설치가 완료된 것입니다.



nimf 자동 실행

그런데, 재부팅을 해보니, 입력기가 작동을 하지 않습니다. 왜 그럴까요?

이제까지의 설치는 터미널에서만 입력한 것이기 때문에 터미널의 자식 프로세스에만 적용이 됐었습니다. 그러면 이제 모든 시스템에 적용을 해야겠죠?


적용 방법은 매우 간단합니다. 우분투는 Unity를 사용하고 있고, X-Window 위에서 돌아가고 있기 때문에 .xprofile에 저장을하게 되면, X가 실행이 됐을 때, 자동으로 실행하게 됩니다.


$ vim ~/.xprofile

vim, nano, gedit 등의 에디터를 사용해 .xprofile 파일을 생성/수정합니다.


nimf-daemon
nimf-indicator

export GTK_IM_MODULE="nimf"
export QT4_IM_MODULE="nimf"
export QT_IM_MODULE="nimf"
export SDL_IM_MODULE="nimf"
export XMODIFIERS="@im=nimf"

위 내용을 추가합니다. 순서대로 실행하기 때문에 반드시 daemon을 맨 처음 실행하고, indicator를 불러온 후, 환경변수를 설정하시는 과정으로 실행하고, 로그아웃/로그인을 해보면, 이제는 자동으로 nimf가 실행되는 것을 확인할 수 있습니다.



마치며....

한글 입력기를 기본 입력기로 사용해도 되지만, Linux에서 여러 프로그램을 사용하다보면, 분명히 이것저것이 불편한 점을 많이 느끼게 됩니다. Windows 처럼 딱 정해진 프로그램이 아닌 여러 프로그램을 맛볼 수 있기 때문에 선택에 대한 폭도 그만큼 넓습니다.


한글 입력기의 경우, nimf 입력기가 가장 무난해 보입니다. 물론 벼루 입력기도 괜찮다고하지만, 아직 그 입력기를 써야할 만큼 nimf 입력기에 대한 불편함이 없기 때문에 아직은 보류하고 있습니다. nimf 입력기는 일본어, 중국어도 지원되고, 많은 기능이 없이 적당하게만 들어 있어 프로그램으로도 무겁지 않고, 호환성이 매우 좋은 편에 속합니다.


여기까지 nimf 설치 포스트였습니다.

TAGS.
comments powered by Disqus

Tistory Comments 0