레이블이 한영키인 게시물을 표시합니다. 모든 게시물 표시
레이블이 한영키인 게시물을 표시합니다. 모든 게시물 표시

2015/05/05

우분투 15.04 fcitx-hangul 설치 및 설정


우분투 15.04에서 기본 입력기인 ibus가 큰 문제가 있는 건 아니지만, 최근에 Qt5를 배우면서 Qt5 입력기 모듈을 제공하는 fcitx를 설치해 보기로 했다. ibus나 uim 입력기는 Qt5 애플리케이션에서 한글 입력시 띄어쓰기 등의 문제가 발생한다. ibus의 경우 이 문제에 대해 버그 리포팅 한지 1년이 다 돼가는데 Qt5.5 이후에나 사용할 수 있을 듯 하다.

참고로, ibus나 fcitx 주 개발자는 중국인이고 uim은 일본인이다. ibus-hangul과 nabi 개발자는 한국 사람인데 그가 만든 libhangul을 fcitx-hangul 입력기에서 사용하고 있다. 그래서 그런지 몰라도 ibus-hangul에서 발생하는 마지막 입력글자가 마우스 이동시 따라 다니는 문제는 fcitx-hangul에서도 발생한다. uim-byeoru를 만든이도 또 다른 한국인인듯 하다. 한글 입력기의 문제는 한국 개발자들이 주개발자가 아니고 한글 입력기 모듈만을 만든는데서 비롯되는 것인지도 모른다. 워낙에 개발자 저변이 열악하다 보니 한번 만들면 유지보수나 사용자 지원이 잘 이루어지지 않고 있는 것이 현실이다.

fcitx를 설치 후 사용해 본 바로는 현재까지의 입력기들 중에선 우분투 유니티 데스크탑 환경에서 가장 좋은 한글입력기라고 말하고 싶다. 기본적으로 유니티 상단 패널에서 한영 전환 상태를 구분할 수 있고, 한자 입력은 물론이고 virtual keyboard를 이용해서 일본어나 특수문자 입력도 가능하다. Qt5 입력 모듈이 기본 제공되고 있어 Qt5 애플리케이션에서도 한글입력이 잘 된다.


fcitx 설치

아래와 같이 fcitx-hangul 패키지만 설치하면 필요한 패키지들이 모두 설치된다.

$ sudo apt-get install fcitx-hangul

패키지 설치 후 기본 입력기인 ibus대신 아래 화면과 같이 [System Settings] > [Language Support]에서 [Keyboard input method system:]의 [fcitx]를 선택한 후, 다시 로그인해야 한다.


한글 키보드 추가 및 한영키 설정

재로그인 후, fcitx 설정 프로그램을 실행해야 한다. 유니티 패널 상단의 키보드를 클릭하여 Configure를 선택하거나, <Super> Key를 눌러서 유니티 대쉬에서 fcitx를 검색해서 나오는 [fcitx Configuration] 아이콘을 선택해서 기동해도 되고, 터미널에서 아래 명령으로 실행해도 된다.

$ fcitx-config-gtk3

먼저, 아래 화면과 같이 [Input Method] 탭 하단 왼쪽의 [+] 버튼을 눌러 Hangul 키보드를 검색한 후 선택하여 추가해 준다. 참고로, 내 경우엔 우분투 기본언어를 영어로 사용하고 있어서, 한글을 기본 언어로 사용하는 경우에는 반대로 Keyboard-English(US)를 추가해야 할지도 모르겠다. 그리고, 두개의 키보드가 추가된 상태에서 위에 있는 키보드가 기본 키보드가 된다. 즉, Hanul 키보드가 위에 있도록 순서를 조정하면 터미널 등의 애플리케이션 실행 후 한글 입력 상태가 된다.


참고로, 이렇게 추가된 키보드는 [System Settings] > [Text Entry]에서도 확인할 수 있는데 한글 키보드는 Hangul (Fcitx)로 표시된다.

이제, 한영전환키로 한영키만 설정해 주면 된다. 아래 화면과 같이 [Global Config] 탭에서 [Trigger Input Method]에 [Ctrl+Space]와 [Empty]로 표시되어 있는 버튼을 각각 눌러서 [한/영]키와 [Shift+Space]키로 바꿔주면 된다.


추가 설정

위의 과정까지만 해 주어도 fcitx를 입력기로 쓰는데 큰 지장은 없는데, 아래 화면과 같이 한글로 전환시 [Hangul]이라고 표시되는 작은 창이 뜨는게 좀 귀찮아서 없애기로 하였다.


위의 화면에 없애는 방법도 같이 보여주고 있는데, gedit로 ~/.config/fcitx/config 파일을 열어서 "ShowInputWindowAfterTriggering=False" 부분을 설정해서 저장한 후,

$ gedit ~/.config/fcitx/config

아래 명령으로 fcitx를 재기동 해주면 된다.

$ fcitx -r

Virtual Keyboard 사용

맨 위의 스크린 샷에 보이는 virtual keyboad를 사용하려면 유니티 상단 패널의 키보드나 태극문양 아이콘을 클릭해서 [Toggle Virtual Keyboard]를 선택하면 키보드가 나타나고, 한번더 선택하면 사라진다. 마우스로 Virtual Keyboard의 [Latin] 부분을 선택하면 번갈아 가면서 일본어 등 다른 키보드들을 선택할 수 있다. 또한, 마우스로 특수문자를 입력해도 되고 해당 키보드가 선택된 상태에서 실제 키보드를 입력해도 해당 키의 특수문자가 입력된다.

fcitx 자잘한 문제들

앞서 언급했던 ibus-hangul과 동일한 한글 마지막 입력글자가 마우스 따라다니는 문제 외에, 우분투 VirtualBox 게스트에서 영문 모드 상태의 유니티 Dash에서 한영키가 동작하지 않아 한글이 입력되지 않는 문제가 있었다. 우분투 호스트에서는 그런 문제는 안생기고 있다. 또, 한가지는 ibus-hangul에서도 발생하는 문제인데, 영문모드 상태에서 구글 chrome 브라우저를 실행하자마자 주소창에서 한영키를 누를 경우 한영전환이 안되는 문제가 있다. 주소창이 아닌 검색창에서 한영키를 누르면 한영전환이 잘 된다.

추가적으로, 다시 ibus를 사용하고자 할 경우 [System Settings] > [Language Support]에서  [fcitx] 대신 [ibus]를 선택하고 재로그인 해 주면 되는데, 한영키를 사용하려면 Hangul (ibus) 키보드를 다시 추가해 주어야 한다. 이때 불필요한 fcitx 프로세스 하나가 같이 살아있는 문제도 있다.

2014/10/31

Ubuntu 14.10 ibus 설정 및 한글 이슈


우분투 14.10에서는 ibus-hangul 설정이 완전히 바뀌었다. 한마디로 다른 패키지와의 의존성을 탈피하기 위해 독립선언을 했다고나 할까? 이에 따라 "Ubuntu 14.04 ibus 한영키 설정과 이슈"에서 다루었던 ibus 한영키 설정 방법들은 대부분 의미가 없게 되었다. 기본적으로는 사용자가 아무것도 건드리지 않아도 한글 언어팩이 설치됐으면 한영키로 한글 입력이 가능하도록 하자는 취지이다. 일단, 우분투 14.10 beta2에서 확인한 바로는 설치시 언어를 "한국어"로 설치하면 데스크탑 키보드 환경에서는 아무 설정없이도 우분투만 설치하면 한영키가 기본 한영전환키로 잘 동작한다.

그런데, 한국 우분투 커뮤니티의 최근 게시물을 보면 노트북에서는 잘 동작하지 않는 듯하다. 또한, 나처럼 데스크탑 키보드 환경에서 우분투 설치시 언어를 영어로 설치한 경우에도 ibus-hangul이 정상 동작하지는 않는다. 아마 영어 뿐만 아니라, 한국어가 아닌 다른 언어로 설치할 경우에도 비슷한 문제가 발생할 것이다.

우분투 14.10을 영어로 설치시 ibus 한영키 설정 방법

1. 한글 언어 팩 완전히 설치

"Ubuntu 14.10 Clean Install" 게시물에서 언급한 바와 같이 우분투 설치 시에 시간대(Time Zone) 설정을 Seoul로 했으면 한글 언어팩이 자동으로 추가된다. 이것 만으로는 안되고 우분투 설치 후 [System Settigs] > [Language Support] 아이콘을 선택하면 누락된 언어팩을 자동으로 설치해 준다. 설치 후 반드시 재로그인 해야 한다.

2. "Korean(Hangul)" input source 추가

ibus가 제대로 동작하기 위해, [System Settings] > [Text Entry] > [Input sources to use:] 에서 아래 화면과 같이 "Korean(Hangul)"을 추가하고 [^] 버튼으로 맨 위로 올려 놓아야 한다. 그리고 나서, 재로그인 하거나 Unity 상단 패널의 [input method] 아이콘을 선택해서 "Hangul"을 선택하면 태극 문양 아이콘 상태가 되는데 이 때부터 한영키가 동작한다.


참고로, 기본 우분투 설치후 화면을 위의 설정과 비교하기 위해 아래에 같이 올려 놓았다.


3. 한영 전환키 변경

한영 전환키 설정과 관련해서는 우분투 14.04와 달리 위의 화면에서 [Switch to...] 두 곳에 한영 전환키를 설정하면 절대로 안된다. 한영키 대신 다른 키를 사용하고 싶으면 Unity 상단 패널의 태극문양 아이콘을 선택해서 [Setup]을 누르거나 터미널에서 아래 명령을 사용하면 된다.

$ ibus-setup-hangul

우분투 14.10 한글 이슈

1. gedit 및 Google chrome 등 GTK 2 애플리케이션에서의 한글 입력 문제

위의 ibus 한영키 설정방법 만으로도 터미널에서 한영키로 한글 입력해 보면 별 문제가 없어 보인다. 그런데 gedit를 사용해 보면 새로운 문제가 발생한다. 단어나 문장을 Copy & Paste하고 나서 한글 입력이 "가나다"를 입력하면 "ㄱㅏㄴㅏㄷㅏ"와 같이 바뀐다.  또한, gedit에서 갑자기 Mouse Pointer가 사라지는 증상이 생긴다. 다른 Window를 선택했다가 gedit로 돌아오면 두가지 현상이 모두 해결되기는 한다.

gedit 뿐만 아니라, Google Chrome에서도 한글 입력이 안되거나 스페이스 키가 오작동하는 문제가 발생한다. 이는 Mint 17에서 나타나는 한글 입력 문제와 동일한 것이다.

$ sudo apt-get install ibus-gtk

우분투 14.10에는 ibus-gtk가 ibus와 함께 설치 되지 않았기 때문에 발생하는 문제이다. gtk 2를 사용하는 대부분의 애플리케이션에서 한글입력 문제가 발생할 것이다.

참고로, Mint 17에서는 ibus-gtk3 패키지도 누락된 것 같다.

$ sudo apt-get install ibus-gtk3

ibus-gtk나 ibus-gtk3를 설치한 후에는 GTK_IM_MODULE 환경변수가 올바로 동작하도록 하기 위해 재로그인해야 한다.

2. 한영 전환 상태 아이콘 필요

우분투 14.04 버전까지는 ibus 사용시 태극 문양이 한글 입력 상태를 의미했다. 우분투 14.10에서는 태극 문양이 ibus-hangul이 정상적으로 설치되었음을 의미한다. 즉, 우분투 14.10에서는글자를 입력한 후에야 한글입력 상태인지 영문 입력상태인지 알 수 있다는 뜻이다.

3. Qt 5.2+ 애플리케이션에서의 한글 입력 문제

Qt 쪽에서 관련 개발자들이 작업 중인데 언제 해결 될지는...

4. 기타 노트북 키보드 한영키 문제

나중에 기회가 되면 확인 필요...

우분투 한글 언어팩 설치 관련 개선 필요 사항

앞서 "Ubuntu 14.10 Clean Install" 게시물 중간에 언급한 바 있지만, 우분투 설치 프로세스 상에서 한글 언어팩 설치 여부를 언제 결정하는 것이 합리적인가 하는 문제와 "Korean(Hangul)" input source를 우분투 설치 후에 수작업으로 반드시 해 주어야 하는가 하는 문제 들에 대해서 개선이 필요하다. 이것은 우분투 14.10만의 문제가 아니고 우분투 설치 전반에 대한 문제이다.

1. 우분투 설치 프로세스 중 한글 언어팩 자동 설치 결정 시점

일단, 현재 한글 언어팩 설치 여부는 시간대를 서울로 설정할 때 결정하고 있는 듯 하다. 미국인이 서울에 거주하면서 한글을 사용하지 않는 경우도 있고, 한국인이 외국에 거주하면서 한글을 사용하는 경우도 있기 때문에 시간대를 가지고 한글 언어팩 설치 여부를 결정하는 것은 문제가 있다. 키보드를 한글 키보드로 설정했을때 한글 언어팩을 자동 설치하도록 해주면 될 것이다.

2. "Korean(Hangul)" input source 자동 추가

또, "Korean(Hangul)" input source를 추가하는 것도 한글 키보드를 선택했을 때 자동으로 추가되도록 하면 좋을 것이다.

3. 한글 언어팩 불완전 설치 문제

한글 언어팩이 완전히 설치되지 않는 문제도 남아 있지만 우분투 14.10에서는 처음 로그인 후 경고창도 뜨더라. 반자동인 셈인데 그럭저럭 참을만 하기는 하다.

[추가] ibus 사용시 게스트 가상머신에서의 한영키 사용 문제는 해결됨

우분투 14.04에서 ibus 사용시 별도의 입력 환경이 있는 Virtual Box guest 머신으로 한영키 시그널이 잘 전파되지 않아 한영키를 쓰기 어려웠던 문제가 있었는데 우분투 14.10에서는 발생하지 않는다. Windows 게스트나 우분투 게스트나 한영키를 쓰는데 문제가 없다.

2014/09/25

ibus 기동 방지 및 uim 벼루 설치


우분투 14.04에서 ibus 대신 uim 벼루와 같은 다른 입력기를 테스트 해보려고 ibus를 삭제하면 불상사가 생기니 삭제하지 말고 ibus 프로세스만 기동되지 않도록 하는 방법을 찾을 필요가 있었다.

ibus를 삭제하면

우분투 14.04에서 ibus를 삭제하면 아래 스크린 샷과 같이 [시스템 설정] 메뉴가 대폭 사라지는 일이 생긴다.


원래의 [시스템 설정] 스크린 샷은 아래와 같다.


아래에서 알 수 있듯이 삭제 명령 실행시 ibus만 지워지는게 아니기 때문이다. 한마디로 ibus를 붙박이로 써라는 엉뚱하고도 고약한 패키지 dependency이다.

$ sudo apt-get remove ibus ibus-hangul
[sudo] password for aaa: 
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  libhangul-data libhangul1
Use 'apt-get autoremove' to remove them.
다음 패키지를 지울 것입니다:
  ibus ibus-hangul ibus-pinyin ibus-table ubuntu-desktop unity-control-center
  unity-control-center-signon webaccounts-extension-common xul-ext-webaccounts
0개 업그레이드, 0개 새로 설치, 9개 제거 및 0개 업그레이드 안 함.
이 작업 후 8,654 k바이트의 디스크 공간이 비워집니다.
계속 하시겠습니까? [Y/n] 
다시 복구하기 위해서 아래와 같이 하면 ibus와 ibus-hangul 두 개만 달랑 설치된다.

$ sudo apt-get install ibus ibus-hangul

아래와 같이하면 ibus도 같이 설치되고 [시스템 설정]도 원래의 상태가 된다.

$ sudo apt-get install ubuntu-desktop unity-control-center unity-control-center-signon webaccounts-extension-common xul-ext-webaccounts

로그인시 ibus 프로세스가 자동 시작 방지 및 uim 벼루 설치

ibus를 삭제하려던 원래 이유는 uim 벼루와 같은 다른 입력기를 테스트해 보기 위해서 였다.

예를 들어, uim/uim-byeoru를 아래와 같이 설치하고 나서,

$ sudo apt-get install uim uim-byeoru

[시스템 설정] > [언어 지원]에서 [키보드 입력기]를 uim으로 바꾸고 재로그인해도 ibus 프로세스들이 같이 떠 있다. 구글링해 보니 굳이 ibus를 지우지 않아도 ibus 프로세스가 로그인시 기동되지 않도록 하는 방법이 있었다.

$ gsettings set org.gnome.settings-daemon.plugins.keyboard active false

위와 같이하고 다시 로그인하면 더이상 ibus 프로세스가 기동되지 않는다.

추가적으로, 기존에 ibus 환경에서 <Shift>+<Space> 등의 키를 한영 변환키로 사용했는데 uim에서도 같은 키조합을 사용하려면 [시스템 설정] > [텍스트 입력창]에서 단축 키를 다른 키로 바꿔 주어야 한다. 단축 키에 대한 우선권이 거기에 있기 때문이다.

Unity 상단 패널의 키보드 indicator도 ibus에서만 사용하는 것이므로 안보이도록 설정하려면,

$ gsettings set com.canonical.indicator.keyboard visible false

uim에서 한영키를 등록하려면 uim-pref-gtk를 실행시켜서 [벼루 키 설정 1]에 한영키("hangul")를 추가해 주면 된다.

$ uim-pref-gtk

uim 벼루의 제약 사항

일단, 두가지 제약 사항이 있다. 하나는 Unity 상단 패널에 uim indicator가 등록되지 않아 한영 상태를 구분하기 어렵다는 것이고, 다른 하나는 Qt5 애플리케이션에서 한글입력이 안된다는 것이다.

참고로, Mint 17에서는 uim indicator가 정상 동작한다.

2014/09/03

Kubuntu 한글 설정 및 ibus 사용


Kubuntu 14.04를 Virtual Box에 설치해 보았다. 쿠분투는 한글 사용 환경이 개판이다. 설치부터 한글이 깨져서 영문으로 설치해야 했다.

한글을 사용하기 위해서 해 주어야 했던 작업 들을 기억나는 대로 정리한다.

언어 추가

[System Settings] > [Locale] > [Laguage] 탭 > [Korean] 추가

나눔 폰트 설치

$ sudo apt-get install fonts-nanum fonts-nanum-coding fonts-nanum-extra
$ sudo fc-cache -fv

폰트 설치 후 나눔 폰트를 지정하기 위해서는 [System Settings] > [Apperance] > [Fonts] 에서 나눔 글꼴 선택

ibus 설치

$ sudo apt-get install ibus ibus-hangul

환경변수 설정

~/.bashrc 또는 ~/.profile에 아래 환경 변수 추가
export LC_ALL="ko_KR.UTF-8"
export LANG="ko_KR.UTF-8"
export LANGUAGE="ko_KR:ko:en_GB:en"

export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS=@im=ibus

ibus를 KDE 시작시 기동하도록 추가

[시스템 설정] > [시스템 관리] > [시작 및 종료] > [자동 시작] > [데스크톱 파일] > [프로그램 추가] 에서 아래 두개 항목을 추가한 후 재 로그인 필요
ibus-daemon --xim -d
/usr/lib/ibus/ibus-x11
참고로, 원래는 --xim 옵션만 주면 ibus-x11이 떠야 하는데 안뜬다. Arch wiki에도 KDE 환경에 대해 비슷한 설명이 있다. 특히, LibreOffice 섹션을 참고할 필요가 있다.

ibus에서 한영키 사용 설정

$ ibus-setup

실행 후 [일반] 탭 > [다음 입력기] > [...] > [키 코드] 에 Hangul 추가 후 [확인]

기타 참고 사항

쿠분투 14.04 KDE에서 locale이 꼬이는 버그가 있다.

2014/08/21

Ubuntu XKB를 이용한 keyboard map 확장


우분투에서 한영키를 설정하는 방법에 대해서 정리했지만 좀더 나은 방법을 찾아 보았다. 결론적으로는 나은 방법을 찾은 것은 아니다. 다만, XKB를 사용함으로써 이런 문제 들을 해결할 수 있는 가능성이 있다는 점에 만족해야 한다.

예전에는 X-Window 환경에서 키보드 맵핑에 Xmodmap을 사용했는데 언제부터인가 XKB를 사용하는 것 같다. XKB 사용법을 local 사용자 환경에 적용하는 방법과 전체 시스템 환경에 적용하는 방법에 대해 정리한다. 한영키를 입력소스 toggling에 사용할 수 있도록 지정하는 것과 오른쪽 Alt 키를 한영키에 맵핑하는 예를 들었다.

참고로, 이렇게 해서 ibus에서 한영키가 동작하지는 않는다. ibus 소프트웨어 자체의 키보드 맵핑 로직이 있기 때문이다.

Local 사용자 환경에 XKB 적용하기

사용자 폴더에 XKB가 사용할 폴더 구조를 만든다.

$ mkdir -p ~/.xkb/{keymap,symbols}

키보드 맵핑을 바꾸려는 내용을 파일로 만들어 저장한다.

$ gedit ~/.xkb/symbols/hangul_kbd
// /usr/share/X11/xkb/symbols/group
// Hangul key toggle
partial modifier_keys
xkb_symbols "hangul_toggle" {
    key <HNGL> {        [  ISO_Next_Group,      Hangul  ]       };
};

// /usr/share/X11/xkb/symbols/altwin
// Alt_R key is mapped to Hangul key
partial modifier_keys
xkb_symbols "hangul_ralt" {
    key <LALT> { [ Alt_L, Meta_L ] };
    key <RALT> { type[Group1] = "TWO_LEVEL",
                 symbols[Group1] = [ Hangul ] };
    modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
//  modifier_map Mod4 {};
};
$ setxkbmap -print > ~/.xkb/keymap/hangul.xkb

위의 명령으로 생성된 파일에서 xkb_symbols 라인에 위의 hangul_kbd를 아래와 같이 추가한다. 아래의 내용에서 위의 hangul_kbd 파일 내용 중 hangul_toggle 부분만 적용하고자 할 때는 hangul_kbd 대신 hangul_kbd(hangul_toggle)을 사용하면 된다.

$ gedit ~/.xkb/keymap/hangul.xkb
// Generated from "setxkbmap -print" and added xkb_symbols part.
xkb_keymap {
    xkb_keycodes { include "evdev+aliases(qwerty)" };
    xkb_types    { include "complete" };
    xkb_compat   { include "complete" };
    xkb_symbols  { include "pc+kr+us:2+inet(evdev)+hangul_kbd" };
    xkb_geometry { include "pc(pc105)" };
};
이제, 현재 사용자 환경에 바로 적용할 수 있는데 아래의 명령으로 가능하다.

$ xkbcomp -I$HOME/.xkb ~/.xkb/keymap/hangul.xkb $DISPLAY

매번 로그인 할 때마다 적용하기 위해서는 ~/.xinitrc 파일에 위의 명령을 추가해 주면 된다.

시스템 전체 환경에 XKB 적용하기

nano 등 편집기를 이용해 /usr/share/X11/xkb/symbols/group 파일 맨 위에 아래 내용을 추가한다.
$ sudo nano /usr/share/X11/xkb/symbols/group
// /usr/share/X11/xkb/symbols/group
// Hangul key toggle
partial modifier_keys
xkb_symbols "hangul_toggle" {
    key <HNGL> {        [  ISO_Next_Group,      Hangul  ]       };
};
nano 등 편집기를 이용해 /usr/share/X11/xkb/symbols/altwin 파일 맨 위에 아래 내용을 추가한다.
$ sudo nano /usr/share/X11/xkb/symbols/altwin
// /usr/share/X11/xkb/symbols/altwin
// Alt_R key is mapped to Hangul key
partial modifier_keys
xkb_symbols "hangul_ralt" {
    key <LART> { [ Alt_L, Meta_L ] };
    key <RALT> { type[Group1] = "TWO_LEVEL",
                 symbols[Group1] = [ Hangul ] };
    modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
//  modifier_map Mod4 {};
};
수정한 내용이 시스템에 반영되기 위해서는 컴파일된 xkb 캐시 파일들을 삭제 후 재로그인 해야 한다.

$ sudo rm -rf /var/lib/xkb/*.xkm

로그아웃 했다가 다시 로그인 하면 grp(hangul_toggle)과 altwin(hangul_alt)를 사용할 수 있게 된다.

ibus에서 XKB 사용하기

ibus에서는 위의 시스템 전체 환경에 XKB 적용하기를 활용하면 한영키를 사용하도록 할 수 있다. 그러나 이 방법은 좋은 방법이 아니므로 권하고 싶지는 않다.

위에서는 grp(hangul_toggle)과 altwin(hangul_alt)를 새로 추가한 것이지만 기존의 키보드 맵을 수정하면 ibus가 그것을 사용하도록 할 수 있다. 예를 들면, 다음 명령으로 ibus가  grp(menu_toggle)을 사용하도록 한다.

$ gsettings set org.gnome.desktop.input-sources xkb-options "['grp:menu_toggle']"

그리고 나서 /usr/share/X11/xkb/symbols/group 파일의 "menu_toggle" 부분을 아래의 내용으로 대체해 버리면 된다.
// /usr/share/X11/xkb/symbols/group
// Hangul key toggle
partial modifier_keys
xkb_symbols "menu_toggle" {
    key <HNGL> {        [  ISO_Next_Group,      Hangul  ]       };
};
변경 사항을 적용하려면 xkm 파일 들을 지우고 다시 로그인 해야 한다.


별로 도움이 되는 내용은 아니지만 나중에 참고하기 위해 정리해 둔다.

참고 사이트

http://madduck.net/docs/extending-xkb
https://wiki.archlinux.org/index.php/X_KeyBoard_extension

2014/08/17

Ubuntu 14.04 ibus 한영키 설정과 이슈


국내 우분투 사용자들이 우분투를 처음 설치하거나 버전 업그레이드 할 때 가장 큰 관심거리가 한영키 설정 문제일 만큼 골칫 덩어리이다. 기본 한글 입력기인 ibus-hangul이 제대로 동작하지 않기 때문이다. 이로 인해 ibus 대신 nabi나 uim, fcitx를 사용하기도 한다. nabi와 ibus-hangul 개발자가 동일하므로 기왕이면 ibus-hagul 관련 문제들을 한번에 해결해 주면 좋겠다는 바램도 있지만 개인의 희생을 계속 강요하기엔 무리가 있다. 국내 오픈소스 개발자 저변이 열악한 점을 고려하면 정부에서 어느 정도 지원이 필요하다는 생각이다.

우분투 한국 커뮤니티의 "우분투 14.04 한글 이슈 정리"를 보완하는 측면에서 몇가지를 추가적으로 정리해 보려고 한다. 물론, 내가 사용해 본 환경에 국한할 수 밖에 없다. 여기서는 기본 입력기인 ibus-hangul에 대해서만 정리한다. 또, "한영키"란 키보드 상의 <한/영> 키를 말한다.


ibus 한영키 설정

한영키를 설정하기에 앞서 한글 언어 팩 중 일부가 누락되는 경우가 많기 때문에 한글 언어팩을 완전하게 설치할 필요가 있다. [시스템 설정] > [언어지원] > [언어] 탭에서 [English]를 맨 위로 마우스 드래그 해서 [시스템 전체에 적용] 후 로그아웃, 재로그인 후 다시 같은 메뉴 탭에서 [한국어]를 맨 위로 끌어 올려서 [시스템 전체에 적용] 후 재로그인 하면 언어팩이 자동 재설치 된다.

공통 적용 사항

$ gsettings set org.freedesktop.ibus.panel show 0
$ gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['<Shift>space']"

Ubuntu 14.04 Unity Desktop

유니티 환경에서는 [시스템 설정] > [텍스트 입력창] > [다음 소스로 전환:] 메뉴에서 입력 소스키를 변경하도록 바귀었다. 문제는 여기에 한영키가 등록이 안되므로 dconf-editor를 사용하거나 아래의 방법을 사용한다.

< 노트북 키보드(101/104 키) >
$ gsettings set org.gnome.desktop.input-sources xkb-options "['compose:ralt']"
$ gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['Multi_key']"

< 데스크탑 키보드(105 키 이상) >
$ gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['Hangul']"

Ubuntu 14.04 Gnome3 Shell (Gnome Desktop)

Gnome3에서는 [시스템 설정] > [키보드] > [바로가기] 탭 > [자판입력] > [Modifiers-only switch to next source] 에서 지정한 키가 ibus 한영 전환이 된다. 여기서 <오른쪽 Alt> 키를 지정하거나 아래의 방법을 사용한다.

< 노트북 키보드(101/104 키) >
$ gsettings set org.gnome.desktop.input-sources xkb-options "['grp:toggle']"

< 데스크탑 키보드(105 키 이상) >
한영키를 지정할 수 있는 방법을 현재로서는 못찾음. 대신, 위의 노트북 키보드 설정을 이용한면 <오른쪽 Alt>키를 한영 전환키로 사용 가능

Ubuntu 13.10 이전 버전과 Lubuntu/Xubuntu 14.04 및 Mint 17 Cinamon

$ sudo apt-get install ibus ibus-hangul
$ im-config
   실행 후 ibus를 입력기로 설정하여 빠져 나옴
$ gsettings set org.freedesktop.ibus.general.hotkey triggers "['Hangul', '<Shift>space', '<Control>space']"


ibus 한글 이슈


우분투 14.04에서 유니티 데스크탑과 gnome-shell을 같이 설치해서 사용할 경우 위의 ibus 한영키 설정 방법을 사용하면 충돌이 생기므로 해당 환경에 로그인 한 후 위의 방법을 재적용해야만 한영 전환이 됨에 유의해야 한다. 이외에도 ibus는 아래와 같은 이슈들이 남아 있다.

  • 단일 한영 전환 키인 한영키(<Hangul> 키)를 UI에서 Keyborard Shortcut으로 사용할 수 없음
  • 리눅스 데스크 탑 별로 단일화된 한영키 입력 UI 필요
  • ibus 한영키 시그널이 별도의 입력 환경이 있는 Virtual Box 등에 제대로 전파되지 않음
  • Mint 17 환경에서 구글 크롬 사용시  <Space> 키 오류 발생: uim은 정상임
  • Qt5.2+ 기반의 애플리케이션에서 한글 입력시 오류 발생: Qt5-ibus 패치 적용 예정
        https://bugreports.qt-project.org/browse/QTBUG-40541
        https://code.google.com/p/ibus/issues/detail?id=1726