2018년 6월 12일 화요일

Ubuntu 18.04 한글 입력기 UIM 설정하기

 개발 환경으로 맥을 사용해 오다가 아이맥의 가격이 너무 비싸졌다는 생각이 들어서 서버 개발 환경으로 리눅스를 사용해볼까 하여 PC에 리눅스를 설치해보았다. 일단 많이들 사용하는 Ubuntu 배포본으로 설치를 했고 현재 가장 최신인 18.04 버전을 설치하였다.

 Ubuntu가 18.04 버전이 되면서 기본 설치되는 입력기는 IBus이다. 일단 한글 문제가 없는 지 테스트를 해봐야 했기에 Ubuntu 설치 후 바로 크롬 브라우저와 IntelliJ를 설치하고 한글 입력을 해보았다. 다행히 기본 IBus의 한글 입력이 매우 잘 동작하였다. 이 때 까지는 모두 잘 될거라는 생각이 강하게 들었었다. 하지만 이후 Visual Studio Code에서 한글 입력이 안된다는 걸 확인하였고 ATOM 에디터에서도 한글입력이 안된다는 걸 확인하였다.

 이후 다른 입력기도 설치해보고 인터넷도 검색해보면서 많은 사람들의 글에서 가장 문제가 없는 한글 입력기는 uim이라는 의견들이 있어 내 시스템도 uim으로 바꿔보기로 했다.

 입력기를 uim으로 바꾸는 작업을 간단히 정리해보면 아래와 같다. 하나씩 자세히 알아보자.
  1. uim 패키지 설치
  2. 기본 입력기를 IBus 대신 uim으로 변경
  3. uim 설정

uim 패키지 설치

 먼저 uim을 설치하기 전에 간단히 uim에 대해서 설명을 하자면 uim은 input method 개발을 위한 유연한 플랫폼을 제공하기 위해 개발된 입력기이다. 덕분에 uim용으로 개발된 수많은 언어용 자체 입력기를 포함하고 있고 덕분에 리눅스에 익숙하지 않는 사용자에게는 상당히 복잡한 느낌을 갖게 만드는 설정 UI를 제공한다. 필자도 처음 설치 후 어떻게 설정을 해야하는 건지 상당히 막막했다. 이 포스트를 작성하는 이유도 이후에 다시 리눅스를 설치해야 할 때를 대비해서랄까..

 다시 본론으로 돌아가서, uim에서 한글을 입력하기 위해서 사용하는 입력기는 벼루(byeoru)라는 입력기이다. 이전 버전에서는 uim 패키지와 벼루 패키지를 따로 설치해야 했다고 한다. 하지만 현재는 벼루 패키지가 uim에 통합되어 uim 패키지만 설치하면 같이 설치된다. 덕분에 설치 명령은 아래와 같이 간단하다.

$ sudo apt install uim
 혹시 마음에 들지 않아 삭제하려고 한다면 아래 명령으로 삭제할 수 있다.

$ sudo apt remove uim
$ sudo apt autoremove

기본 입력기를 IBus 대신 uim으로 변경

 이제 기본 입력기인 IBus 대신 uim을 기본 입력기로 설정할 차례이다. 먼저 '설정' 메뉴를 실행해보자. 아래 그림의 아이콘을 실행한다.


 실행하면 아래와 같은 창이 뜨는데 왼쪽 목록에서 '지역 및 언어'를 선택하고 오른쪽 '입력 소스'에서 영어(미국)만 남기고 모두 제거한다. 항목 선택 후 '-' 버튼을 눌러서 제거할 수 있다. 아래 그림은 모두 제거한 후의 상태이다.


 여기서 지정하는 입력 소스는 IBus의 입력 소스이다. 여기서 2개 이상의 입력 소스가 있으면 데스크탑 상단에 IBus의 입력 소스가 표시되고 IBus의 입력 소스를 전환하는 단축키 등이 동작하게 된다. 이제는 uim을 사용할 것이므로 모두 제거하고 영어(미국) 하나만 남겨두면 된다.

 다음으로 '언어 지원' 메뉴를 실행해보자. 아래 그림의 아이콘을 실행하면 된다.


 실행하면 아래 그림과 같은 창이 뜨는데 여기서 키보드 입력기를 'uim'으로 바꿔주고 창을 닫고 나가서 깔끔하게 리부팅을 해주도록 하자.


 리부팅을 해주지 않으면 적용되지 않으므로 반드시 리부팅을 해주도록 하자. 리부팅을 하고나면 화면 상단 메뉴에서 보이던 IBus의 입력 소스 아이콘도 안보이게 된다.

 이제 uim의 설정을 수정하여 '벼루'가 기본 입력기가 되도록 바꿔줄 차례이다.

uim 설정

 이제 uim의 설정 프로그램을 실행해보자. 아래 그림의 아이콘을 실행한다.


 실행하면 아래와 같은 창이 실행되는 데 빨간색 사각형 부분을 그림과 같이 설정해준다. 아마도 '사용되는 입력기' 필드에 엄청나게 많은 입력기가 기본적으로 설정 되어있을 것이다. 모조리 제거하고 '벼루' 하나만 남기도록 한다.


 그 다음 설정은 '툴바' 설정인데 이건 안해줘도 그만이지만 굳이 설명하는 이유는 툴바에 표시되는 현재 입력 모드 상태가 잘 맞지 않기 때문에 내 경우에는 안보이게 하는 게 더 낫다고 생각해서 표시되지 않도록 설정하였다. 대부분 제대로 표시되지만 VS Code 같이 IBus로 한글이 입력되지 않는 프로그램의 경우 uim에서 실제 입력은 잘되는데도 불구하고 uim 툴바의 현재 입력 모드 표시가 다르게 표시되고 있었다. 내가 테스트해 본 몇몇 프로그램 외에도 IBus가 제대로 동작하지 않는 다른 프로그램들은 모두 그럴 것이라고 예상되기도 하고 IBus와 달리 uim 툴바는 데스크탑 어딘가에 조그만 팝업윈도우처럼 떠 있는게 보기 싫어서 보이지 않도록 설정하였다. 보이지 않기를 원한다면 아래 그림의 설정값을 바꿔주면 된다.


 다음은 '전체적인 키 설정 1'로 가보자. 아래 그림과 같이 [전체]켜기, [전체]끄기 키 설정을 모두 삭제해 주자. 실제로 이 기능을 사용할 일도 없거니와 다른 단축키와 중복될 수 도 있으니 깔끔하게 삭제한다.


 다음은 '벼루 키 설정 1'로 가보자. 최종적으로 아래 설정과 같이 바꿔주면 된다. 아래 그림의 한영 전환은 shift + space와 한영(hangul)키를 사용하도록 설정하였다. 하지만 "hangul"키가 설정이 안된다는 걸 알 수 있을 것이다. 이것을 하기 위해서는 몇 가지 작업을 더 해주어야 한다.


 위 그림과 같이 설정하려고 하였으나 대부분 "hangul", "hangul-hanja" 키 설정이 되지 않을 것이다. 이유는 잘 모르겠으나 uim은 다른 입력기와 달리 오른쪽 Alt, Ctrl 키를 따로 인식하지 못하기 때문에 몇 가지 키 맵핑을 추가해 주어야 한다.

 위 그림의 설정을 하기 전에 터미널을 열고 아래 몇 가지 키 맵핑을 추가하는 작업을 수행하도록 하자. 이 작업이 끝나고 나서 위 그림의 설정을 수행하면 오른쪽 Alt, Ctrl키를 "Hangul", "Hangul_Hanja"키로 사용할 수 있다.

// 오른쪽 Alt키의 기본 키 맵핑을 제거하고 'Hangul'키로 맵핑
$ xmodmap -e 'remove mod1 = Alt_R'
$ xmodmap -e 'keycode 108 = Hangul'

// 오른쪽 Ctrl키의 기본 키 맵핑을 제거하고 'Hangul_Hanja'키로 맵핑
$ xmodmap -e 'remove control = Control_R'
$ xmodmap -e 'keycode 105 = Hangul_Hanja'

// 키 맵핑 저장
$ xmodmap -pke > ~/.Xmodmap

 터미널에서 위 명령들을 실행했다면 이제 다시 '벼루 키 설정 1'로 가서 키 설정을 시도해보면 문제없이 설정이 될 것이다.

uim에 대한 소견

 이런 저런 테스트를 해보니 많은 한글 입력기중에 uim이 가장 문제가 없는 입력기라는 의견은 확실히 맞는 듯하다. 다른 입력기로는 전혀 한글입력이 되지 않거나 문제가 있는 경우에도 uim은 확실히 입력이 잘 된다. 다만 무엇이든지 설치 후 기본 상태 유지를 선호하는 필자로서는 복잡다단한 설정이 조금 걸리기는 하지만 그래도 한글입력에 관한 스트레스가 한방에 날아간 느낌이다.

 한 번 설정이 완료되고나서는 툴바 표시 문제만 빼면 아주 깔끔하게 안정적으로 동작한다. 이제 툴바는 없애버렸으니 눈에 거슬리는 것도 없다. 앞으로 더욱 개선되어 Ubuntu 기본 입력기가 되었으면 좋겠다는 바램이다.

댓글 37개:

  1. 좋은 글 감사합니다! 잘되네요

    답글삭제
  2. 작성자가 댓글을 삭제했습니다.

    답글삭제

  3. 죄송합니다만 저는 맥이 아닌 삼* 노트북이라서인지 모르지만 우분투 18.04 기본입력기인 ibus 입력기로 MS code와 Atom에서 shift+space로 한영변환 잘 작동합니다. 그리고 Alt R을 변환키로 추가 등록하면 한/영 키로 잘 동작합니다.

    답글삭제
  4. 작성자가 댓글을 삭제했습니다.

    답글삭제
  5. 좋은 글 감사합니다~~! 18.04에서 ibus로 하면 ㄱㅏㄴㅏㄷㅏ 이렇게 깨져서 나오길래 uim으로 바꾸니 편하게 사용 가능하네요.

    답글삭제
    답글
    1. 저도 똑같은 문제 때문에 답답했는데. 이 글 보고 uim 깔았더니 잘 되네요 !!!!!!!!

      삭제
  6. 한글 한자키 추가하는거 저방법도 있지만 저는 간편하게 Tweaks라는 어플리케이션으로 간편하게 바꿨던 기억이 있네요. ibus uim 전환은 너무나 친절히 잘써주셔서 유용했습니다. 감사합니다.

    답글삭제
  7. 터미널 맵핑설정이 지속적으로 안되네요.. 매번 터미널들어가서 저걸 쳐야 한/영으로 바껴요 ㅠㅠ

    답글삭제
    답글
    1. 저도 동일한 증상입니다.. 어떻게 바꿀수 있는지 잘 모르겠네요ㅠㅠ

      삭제
  8. 저도 삼* 노트북에 Ubuntu를 설치해서 쓰고 있는데, 이 블로그 글 보면서 잘 따라왔습니다만, 한/영 그리고 한자 전환 키가 안 되네요.ㅠㅠ 오른쪽 Alt, Ctrl 키를 한/영 그리고 한자 전환 키로 맵핑해서 설정하는 것까지는 잘 됐는데, 정작 눌러도 원하는 동작이 안 이뤄지는군요. 그래도 Space로 한/영 전환을 할 수는 있어서, 그냥 쓰고 있습니다. 글 감사해요!

    답글삭제
  9. 야호! 잘되네요 감사합니다!

    답글삭제
  10. 정말 큰 도움이 되었습니다. 감사합니다.!! 좋은 주말 되세요!!!

    답글삭제
  11. 성지 순례글이네요,, 맨날, 엉망진창인 한글화 메뉴얼 따라다니다가. 이걸로 하니까 완벽하군요,
    ibus는 괜찮다가도, ubuntu update만 하면 난리가 나는것이 정말 이상할 노릇이네요.

    답글삭제
  12. 재부팅을 하면 xmodmap이 초기화가 되는데 방법이 있을까요?

    답글삭제
  13. 정말 감사합니다!!!!! ibus 설치하고 한글로 바꾸면 계속 ㅇㅏㄴㄴㅕㅇ 이런식으로 나와서 진짜 어찌해야하나 했는데 따라해봤는데 됐어요 ㅠㅠㅠㅠ 정말 감사합니다!

    답글삭제
  14. 페이스북에서 잘되네요! 감사합니다.

    답글삭제
  15. 감사합니다. 덕 분에 잘되네요.
    xmodmap 계속 초기화 되시는 분 Startup applicatiohn에서 아래와 같이 시작 프로그램으로 등록 하세요 그럼 잘 됩니다.
    sh -c "xmodmap -e 'remove mod1 = Alt_R' & xmodmap -e 'keycode 108 = Hangul' & xmodmap -e 'remove control = Control_R' & xmodmap -e 'keycode 105 = Hangul_Hanja' "

    답글삭제
    답글
    1. 저도 계속 초기화 됬었는데 설정하니깐 잘 동작하네요. 감사합니다.

      삭제
  16. 작성자가 댓글을 삭제했습니다.

    답글삭제
  17. ibus에서 uim으로 바꿧는데 atom에디터에서 한글이 쳐지지 않습니다. ㅠㅠ

    답글삭제
  18. 이것 때문에 3일을 고생했는데, 이제야 고쳐졌네요ㅠㅠ 정말 감사드립니다!!

    답글삭제
  19. fcitx를 쓰다가 다시 벼루로 돌아왔네요.. 벼루가 호환성은 제일 좋으나 텔레그램앱에서 한글이 안됩니다.

    답글삭제
  20. 감사합니다 한창 헤맸는데 드디어 한영키로 작동하네요ㅜㅜㅜㅜ

    답글삭제
  21. 와~ 감사합니다. 덕분에 해결했어요 :)

    답글삭제
  22. 19.10에서는 패키지 따로 또 설치해야하네요. 참고하세요 :)

    sudo apt install uim uim-byeoru

    답글삭제
  23. 감사합니다. 덕분에 한글입력키 설정하느라 고생했었는데.. 감사 감사

    답글삭제
  24. 덕분에 잘 설정하였습니다. 감사합니다.

    답글삭제
  25. 혹시 텔레그램에서 입력이 되나요?
    전 설정 후 텔레그램에서 유독 한글 입력이 안되네요...

    답글삭제
  26. 텍스트 입력기 (TextEditor) 에서 한글 입력 중인 상태 (한글조합중인 상태) 에서 마우스 커서를 이동하게 되면, 맨 마지막에 조합중이던 1개 글자가 이동된 위치에 중복 입력되는 증상이 있습니다.
    이거 해결 방법 아시는 분..??? 혹시 계신가요 ?

    답글삭제
  27. 와놔 난 한글이 아예 안쳐지네.
    설치할 건 다 했는데 왜 그런가요? 상단 시계표시줄에서 수동으로 ko로 바꿔서 터미널이나 파폭에서 여전히 한글은 나오지 않네요. 전체적인 언어는 다 한글인데 입력기가 한글이 안나옴. ㅜㅜ

    답글삭제
  28. 저도 ibus쓰다가 크롬에서 한글 변환이 안되서 찾아보다가 uim으로 하니깐 잘 동작하네요. 좋은글 감사합니다.^^

    답글삭제
  29. 감사하다고 인사드리고 싶어서 다시 찾아왔습니다. ibus 오만가지 세팅으로 고생하고, fcitx 설정하는법 까먹어서 스트레스 받던 중 UIM 설정에 대해서 이렇게 깔끔하게 정리해 주어 너무나도 감사합니다.

    답글삭제
  30. 많은 도움되었습니다. 감사합니다.

    "위 그림과 같이 설정하려고 하였으나 대부분 "hangul", "hangul-hanja" 키 설정이 되지 않을 것이다. 이유는 잘 모르겠으나 uim은 다른 입력기와 달리 오른쪽 Alt, Ctrl 키를 따로 인식하지 못하기 때문에 몇 가지 키 맵핑을 추가해 주어야 한다." --> 이 부분은 입력소스를 영어가 아닌 한글(104키) 로 바꾸면 되지 않을까 합니다. 영문 키보드에는 hangul, hangul-hanja 키로 등록이 안되어 있거든요.

    답글삭제
    답글
    1. 말씀하신대로 하니까 한/영 키로 전환이 잘 되는거 같아요. 고맙습니다~

      삭제
  31. 최고입니다. 우분투 20.04 LTS에서도 정상적으로 작동해요
    vcs에서는 우측 알트로 메뉴가 눌리고 텔레그램에서 백스페이스가 ( 뜨는 등 갖은 불편한걸 다 겪다가
    이 글에 적힌걸 적용하니까 한방에 모든게 해결되네요

    답글삭제