우분투 14.04, 'ibus' 로 한영전환
[퍼옴 ] bumnux.tistory.com/admin/entry/post
이 글은 2014년 5월 18일 현재 우분투 14.04에서 ibus 를 사용하여 한국어 입력을 하는 방법에 관한 글이다.
굳이 날짜를 밝힌 이유는, 이 글에 필요한 PPA(ppa:createsc/3beol) 에 관련 프로그램이 며칠 전에 올라왔는데, 이전과는 상당히 다른 방식이 사용되었기 때문이다. (floor 님 고맙습니다!)
ibus 가 아닌 나비나 fcitx 를 사용하여 한/영 전환을 하는 방법에 관해서는 아래 글을 참고하라.
우분투 14.04, 'Fcitx'로 한영 전환.
우분투 14.04, '나비'로 한영 전환.
또한, 각 입력기별 문제점에 대해서는 다음 글을 참고하라.
우분투 14.04, iBus 한글 입력 버그 / Nabi(나비) 문제 / Fcitx 문제.
ibus
를 한국어 입력기로 사용하고, '한/영' 키를 입력전환용으로 사용하기 위한 방법은 크게 두가지가 있다. (몇가지 더 있을 수도
있지만 두가지로 한정한다.) PPA 를 추가하지 않고 사용하는 1. 방식, PPA 를 추가하는 2. 방식. 둘 중 하나를 택하면
된다.
1. PPA 를 추가하지 않은 상태에서 iBus 를 사용하여 '한/영'키로 언어 전환.
(한/영키가 아닌 Ctrl/Alt/Shift 키와 다른 키를 사용한 '키조합'을 전환키로 사용한다면 아래 글은 별 의미가 없을 수도 있다.)
복잡한 설명을 생략하고, 간단하게 설명한다.
이 방법을 사용하려면, 텍스트 입력 소스에 영어와 한국어(Hangul) 이 반드시 모두 설치되어 있어야 한다.
우분투가 새로이 선택한 방식인데, 사용하기 원하는 언어를 시스템 설정에서 각각 추가한 뒤 사용하는 방법이다.
'시스템 설정 - 텍스트 입력창' 을 열고, 사용할 입력 소스에서 영어와 한국어(Hangul) 을 선택(추가) 해야 한다.
일반적으로 최초 설치시에 '한국어'를 선택하면 다음처럼 한국어(Hangul) 만이 입력소스로 나와있을 것이다.
이런 상황에서는 영문자를 입력할 수가 없다.
위와 같은 상황이라면 좌하귀의 + 를 눌러서 영어(미국, 영국, 등등등)을 추가해줘야한다.
그리고 영어를 한국어(Hangul) 보다 상위로 올려놓는 것이 아무래도 편할 것이다.
다음 설정은 취향에 따라 달라지겠지만, 내 경우 어떤 창이든지 새로 열렸을 때, 영문을 입력하게 되어 있는 경우가 사용에 편했다.
따라서 다음과 같이 선택한다.
'각 창이 서로 다른 소스를 사용하도록 함' - 새 창에서 기본 소스 사용'
기본 소스는 입력 소스 중 최상위에 위치한 소스를 말한다. (그런 것 같다~)
마지막으로, 선택한 입력 소스 간(여기서는 영어와 한국어간) 전환해주는 키를 정의해야 하는데, 위에서도 말한대로 'Ctrl/Alt/Shift + 다른키' 조합을 사용하고자 한다면 '다음 소스로 전환' 항목에 원하는 키 조합을 직접 쳐서 넣어주면 된다.
예를 들어 'Ctrl-Space' 로 설정한다면 다음과 같이 하면 된다.
'한영'키가 아닌 키조합으로 전환을 하고자 한다면 설정은 위에서 끝난다. 이제 우분투를 부담없이(?) 사용하면 된다.
아래는 '한/영'키를 사용하는 방법에 대해 기술하였다.
이것을 위해서는 다소 수고를 해야 하는데, dconf-editor 라는 도구가 필요하다. (MS 윈도우에 비교하자면 Registry Editor 랄까?)
sudo apt-get install dconf-editor
설치가 끝나면 dconf-editor 를 실행한 뒤, 다음 주소를 찾아간다.
org.gnome.desktop.wm.keybindings.switch-input-source
그리고 값을 'Hangul' (대소문자 주의) 이라고 입력한다.
이젠 '한/영'키로 언어입력전환을 할 수 있다. 이제 기본적인 설정은 끝났다.
역시 우분투의 세계로 진입하면 된다.
헌데, 혹시나 하여 iBus 세부 사항도 살짝 살펴본다.
터미널을 열고, ibus-setup 을 실행하고, 다음 설정을 확인한다.
일반 탭 --> 속성 패널 보이기 : 표시 하지 않기 (또는 자동으로 숨기기)
입력기 탭 --> 활성 입력 방식 사용자 지정 해제.
고급 탭 --> 전역 입력기 설정 : 모든 응용 프로그램에서 동일한 입력기 공유 선택.
이 중, 고급 탭의 키보드 배치는 영어 QWERTY 자판이 아닌 다른 자판을 쓴다면 선택해줘야 하는 경우도 있다. 영어/한글 입력이 이상하게 될 경우는 선택한 뒤에 다시 살펴보라.
2. Floor 님의 PPA 를 추가하고 iBus 를 사용하여 '한/영'키로 언어 전환.
이 방법이 여러 모로 편한데, 여기서도 두가지 방법으로 나뉜다. 편한대로 골라잡으면 된다.
먼저 PPA 를 추가해야 한다. PPA 홈페이지(?)는 다음과 같다.
https://launchpad.net/~createsc/+archive/3beol/
sudo add-apt-repository ppa:createsc/3beol
sudo apt-get update && sudo apt-get upgrade
이것을 설치하면 Unity 와 iBus 관련 프로그램들이 다소 기능이 추가된 상태로 판올림된다.
현재 이 PPA 에는 cmplayer 도 올라와있다.
이 Unity 와 원래 Unity 의 다른 점은 다음과 같다.
unity (7.2.0+14.04.20140423-0ubuntu1.2.2~trusty0519~3beol) trusty; urgency=low
* https://launchpad.net/~timekiller/+archive/unity-systrayfix
* http://ubuntuforums.org/showthread.php?t=2217458&p=12991088#post12991088
- re-enable systray whitelist.patch
[Jinkyu Yi]
* Dash: Fix problem at checking blacklisted unicode range. (LP: #1251193)
- debian/patches/lp1251193.patch: fix wrong sign of inequality.
unity (7.2.0+14.04.20140423-0ubuntu1.2) trusty; urgency=low
[Ubuntu]
* SECURITY UPDATE: more lock screen bypass issues, and regression with
shutdown dialog (LP: #1314247)
- debian/patches/lp1314247.patch: improve popup menu handling in
lockscreen/LockScreenShield.cpp, lockscreen/LockScreenPanel.cpp,
services/panel-service.c, plugins/unityshell/src/unityshell.cpp,
lockscreen/LockScreenController.*, shutdown/SessionController.cpp,
tests/test_session_controller.cpp.
-- floor <createsc@gmail.com> Wed, 30 Apr 2014 11:11:18 -0400
- 시스템 트레이에 App Indicator 방식을 사용하지 않는 기존 프로그램들을 올릴 수 있게 만들어주는 패치.
- 우분투 14.04 에서 유니티 대쉬에서 한국어가 물음표로 표시되는 것을 바로 잡은 패치.
- 기타 보안 관련 패치.
이렇게 세가지가 추가되어 있다.
또, ibus-hangul 에도 중요한 변화가 있는데, 아래 2.1 에서 이 기능을 이용할 것이다.
floor 님의 PPA 를 설치했다면 아래 글대로 설정하면 된다.
2.1 예전(우분투 13.04 이하)과 비슷한 방식.
우분투 14.04 에서 도입한, 입력언어별 입력기사용(정확한 용어를 몰라서 표현할 때 마다 달라지는데..)이 아닌, 기존 방식대로 사용가능하다.
즉, 한국어 입력기가 영어도 같이 입력할 수 있도록 해주는 방식이다.
개인적으로 이 방식보다는 위의 1. 방식이 낫다고 보지만, 불편하다고 느꼈는지 ibus-hangul 제작자는 새로운 방식을 내놓았다.
맨 처음 우분투 설치시에 '한국어' 또는 '한국어(101/104키 호환)' 자판을 선택했다면, 아마도 다음과 같은 상황일 것이다. (위에도 이미 설명한 부분이지만 다시 반복한다.)
이런 상황이라면 영문자 입력이 되지 않으므로, 일단 영어 자판을 추가해 준다.
'시스템 설정 - 텍스트 입력창' 에서 '영어(미국)' 등을 추가.
영어 입력이 가능해지면, 위에 써 있는대로 floor 님의 PPA 를 추가하고 update, upgrade 작업까지 완료한 후 로그아웃/로그인까지 완료한다.
달라진 것이 없을 듯 하지만, 달라진 점이 있다.
패치된 ibus-hangul 은 영어 입력기능이 추가되어 있다.
따라서, 사용할 입력 소스의 '영어'가 없어도 영어 입력이 가능하고, 한/영 입력전환키도 손쉽게 원하는대로 지정하여 사용할 수 있다. (기본값은 한영, Shift-Space 로 정해져 있다.)
따라서, 좀 전에 추가했던 '영어(미국)'을 삭제하고 한국어(Hangul)만 남겨놓은 상태에서도 영어/한국어를 입력할 수 있다.
그림을 보면 Hangul 만 있고, 영어는 빠져있다. 그럼에도 영어를 입력할 수 있고, 전환키는 기본적으로 '한영' 과 'Shfit-Space' 이다.
이것은 iBus-hangul 에서 자체적으로 영어 입력을 지원하게 됐기 때문에 가능한 것이다.
ibus 한글 설정에 들어가 보면, 한글 자판, 영문 자판을 고를 수 있고,
(참고로 드보락/콜맥 자판 사용자라면 iBus-hangul 1.4.2-3.1~trusty0605~3beol ; 드보락 사용자에겐 희소식! 을 참고하기 바란다. 획기적인 기능이 추가되었다.)
전환키를 지정할 수도 있으며,
속성패널을 볼 지, 최초 입력할 언어를 영어로 할 지, 한국어로 할 지를 설정할 수 있고(영어로 시작), 한자 입력시 한자표를 세로로 보여줄 지 가로로 보여줄 지를 결정할 수도 있다.
속성패널 보기는 '자동 숨기기'로 해놓는 편이 좋을 것 같다. 현재 상황으로 영어를 입력하는 것인지 한국어를 입력하는 것인지 직접 입력해보기 전에는 알 수가 없기 때문에, '자동숨기기'를 선택해놓으면 커서 근처에 상태창이 작게 나타났다가 사라지기 때문에 좀 더 수월하게 상태를 알 수 있다. 이것이 번거롭다면 꺼놓으면 된다.
'영어로 시작'은 선택하는 것이 아무래도 편할 것이다. 시스템이 처음 시작하고 나서는 아무래도 한국어보다는 영어를 입력할 확률이 더 높기 때문에 '영어로 시작'을 택하는 편이 조금 더 효율적인 것 같다.
한 자표 방향 선택은 ibus-setup 에서도 선택할 수 있다. 제작자이신 floor 님은 아래 덧글을 통해 그놈셸환경에선 ibus-setup 으로 이 설정이 잘 안되는 것 같다고 하셨는데, 적어도 유니티 환경에선 잘 작동한다. 어찌됐든, ibus-hangul 설정에서 바꿀 수 있는 것이 사용자 입장에서는 훨씬 편하다.
영어와 한국어만 사용할 (아마도 대다수의) 사람들이라면, floor 님 PPA 에 있는 ibus-hangul 을 사용하는 이 방식이 훨씬 편할 것이라 생각한다.
다 만, 주의할 점은 iBus 한글에서 한영 전환키를, 우분투 텍스트 입력창의 '다음 소스로 전환' 키와 같은 키(예를 들면 모두 Shift-Space 로 설정)로 하면 안된다는 점이다. 이렇게 하면 우분투 텍스트 전환키가 우선으로 작동해서 한영전환이 이뤄지지 않는다.
이 방식의 문제점 두가지.
- 현재 입력하는 언어가 영어인지 한국어인지 알리미창에 표시가 되지 않는다는 점이다. 직접 입력해봐야만 알 수가 있다.
이 부분은 위에 설명한 대로 ibus-hangul 설정 - 고급 - 속성패널 보이기 를 '자동 숨기기'로 설정하면 어느 정도 해결할 수 있다. - 위와 관련하여, 화면잠금상태가 되어 패스워드를 입력할 때 한글로 입력되는 경우도 종종 발생한다. 아래 그림 참고.
위 그림을 보면, 패스워드를 입력하는 창의 입력커서가 I 빔이 아니고 까만색 네모인 것을 볼 수 있다. 이런 경우 한글입력이 되고 있는 것이므로, 전환키를 눌러서 영문입력으로 전환 후 암호를 넣어야 한다. 이 화면에서는 속성패널 자동보이기가 작동하지 않기 때문에, 다소 주의가 필요하다. (이렇게 한글인지 영문인지 알아볼 수가 없는 것이 문제라 볼 수 있다.)
2.2 3개국어 이상 입력을 필요로 할 때.
1. 과 2.1 을 혼합한 것이다. 먼저 사용할 입력 소스에서 영어를 추가하고, floor 님의 PPA 를 추가한 뒤 다음 내용을 살펴본다.
floor PPA 추가의 이점(利點)을 이 방식에선 전혀 찾아볼 수 없다. 다만 주의점이 있어서 적어본다.
예를 들어, 영어/한국어/일본어 입력이 필요하다면, 대충 다음과 같은 상황이 될 것이다.
여기의 설정은 1. 에서 한 것과 비슷하다. '다음 소스로 전환'은 원하는 키조합으로, 또는 dconf-editor 를 써서 적절히 선택하면 된다.
만약, 언어전환키를 '한영'으로 선택했다면, iBus 한글 설정에서 정한 '한영' 키는 우선순위를 빼앗기게 됨을 명심해야 한다.
언어전환키를 dconf-editor 를 통해 '한영키'로 정했고, 위 그림처럼 3개국어가 선택되어 있다면, '한영'을 누를 때마다 영어-한국어-일본어-영어-한국어-일본어-... 방식으로 순환하며 자판이 전환된다.
그런데, 이런 경우도 있을 수 있다.
영어 입력... 도중 '한/영키' ---> 한국어로 전환 / 한국어 입력... 도중 'Shift-Space' ---> 영어로 전환(iBus 로 인해)
한영키는 전역(?) 전환키이고, Shift-Space 는 iBus-hangul 내의 영어-한국어 전환키이므로, 입력 언어는 아직 Hangul 이지만 한국어에서 영어로 자판이 전환된 것이다.
저 상태에서 다시 Shift-Space 를 하면 한국어로 전환이 되지만, '한영'을 누르면 일본어로 전환이 된다.
(살짝 복잡해진다~)
만약, 한국어와 영어는 자주 번갈아가며 쓰고, 그외 외국어는 가끔~ 사용한다면 텍스트입력에서 영어를 빼버리고 다음과 같이 설정하는 편이 좋을 것 같다.
** 텍스트 입력창 설정
** IBUS 한글 설정
이렇게 되면, 한영키나 Shift-Space 는 한국어/영어를 왔다갔다 하게 되고, Ctrl-Space 를 누를 때마다 한국어(영어)-일본어-독일어-.. 등등으로 전환하게 된다.
따 라서, 한영키로 한국어/영어를 전환해가며 쓰다가, 다른 언어가 필요할 때는 Ctrl-Space 로 해당 언어로 이동한 후, 다시 Ctrl-Space 로 한국어-영어권역(즉, ibus-hangul)로 돌아온 뒤, 한영키로 한영전환을 하면 되는 것이다.
저 정도의 다국어를 동시에 쓰는 사람이 얼마나 될런지는 의문이고, 그런 사람이 우분투를 쓸 지도 더더욱 의문이지만~ ㅎㅎㅎ
추가적으로, 만약 Wine 에서 한국어 입력이 되지 않는다면, 다음 파일을 만들고 내용을 추가한다. (로그아웃/로그인)
~/.xprofile 을 만든 후에, 다음을 추가한 후 저장한다.
export XMODIFIERS=@im=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
이것으로 iBus 한국어 입력 설정은 끝.
** 아래 덧글 관련, iBus 한자 입력과 관련한 사소한 문제?
iBus-hangul 의 '단어 단위로 입력'을 켜지 않은 상태에서도, 단어를 입력하고 마지막 글자에서 한자 변환키(F9)를 눌렀을 때 단어 전체가 변환되는 경우가 종종 발생. 구글 크롬에서만 발생하는 듯함. (한자어는 단어 전체가 입력되지만, 한글은 마지막 음절만 변환되는 현상)