리눅스 시작한지 몇 일 되지도 않았지만, 여러가지 설정에 있어서 기존의 리눅스들과는 또다른 면모를 보여주는 것으로 생각되는 Unity 기반 Ubuntu를 가지고 놀아본 결론은, (다른 리눅스들도 사실 마찬가지겠지만…) 결국 내 시스템에 맞는 방법은 (운좋게 적용 가능한 방법을) 인터넷에서 알아서 잘 찾아보던지, 그래도 안되면 찾은 내용들을 요리조리 짬뽕해서 요리해야 한다는 것.
에혀~ 힘드러라~ ㅡ.ㅡ;

VMware에 설치하든, 노트북에 설치하든, 한/영 또는 한자키가 제대로 설정되지 않거나, ALT키와 함께 동작하는 경우가 발생했다. 앞서 포스팅에서 12.04에서 한/영 키가 자동으로 동작한다고 했으나, 그냥 운이 좋았던(?) 모양이다. 다시 설치해보니 또 안되기도 하고……

구글링을 열심히 해보니, 답변들이 대부분 setkeycodes, xev, xmodmap 등을 이용한 설정들인데, 문제는 적용해도 되지 않거나, 동작해도 재부팅하면 다시 원래대로 돌아온다는 것. 아래 내용들은 개인적인 환경에서 최종적으로 동작한 내용들을 정리한 것임.

공통환경 : Ubuntu 12.04 LTS Daily Build 2012-03-27 i386
          Keyboard = 101/104 Key  /  입력기 = ibus  /  locale = 한국어


노트북에서 한/영 전환 및 ALT(Meta) 키 동작이 동시에 되는 현상 수정

이 경우는 사실 우리나라 노트북 사용자의 관점에서 보았을 때 한/영 키가 방해받는(?) 현상이고, 실제로는 우측 ALT 키를 눌렀을 때 Meta 키 기능과 한/영 전환 기능이 함께 동작하는 경우이다. 기본적으로는 꾹~ 누르고 있으면 한/영 전환이 되지만, 한글, 영어를 번갈아 가면서 입력 시 상당히 번거로워지고, 특히나 Ubuntu 12.04 부터는 HUD 기능까지 탑재되어 사실상 세가지 동작이 한꺼번에 이루어지기 때문에 ALT 키 및 HUD 동작이 되지 않도록 설정이 필요했다.

여러가지 검색 결과들을 적용해 보았지만, 딱~!!! 요 한가지만 동작함. 

$ xmodmap –e 'remove mod1 = Hangul'


일단, 동작은 하지만 다시 부팅하면 원상태로 돌아오므로 다음과 같이 설정함. 

$ echo "remove mod1 = Hangul" > ~/.Xmodmap

이후 부팅시마다 적용되어 빠른 한/영 전환이 가능해 짐. ^^;
참고 : [문제해결?] 쿠분투 Kubuntu 9.10 리눅스 한영키의 오른쪽 Alt키 동작방지

VMware에서 한/영, 한자키 설정 (한글 103/106 키보드 사용시)

VMware에서도 위의 경우와 마찬가지로 기본적으로는 우측 ALT 키를 눌렀을 때, Meta 기능과 한/영 전환 기능이 같이 동작하였으며, 이는 위와 같은 문제이므로 동일한 방법으로 해결이 가능하지만, VMware를 돌리고 있는 host 컴의 키보드에는 한/영 전환키와 한자키가 따로 마련되어 있는데 작동하지 않아 이를 설정해 보고자 했다.

일반적인 방법에 따르면 keycode 설정을 위해 xev 명령 후 키를 입력해서 해당 키의 keycode를 얻어내야 변경을 하든 말든 하겠는데, VMware에서 xev 명령으로 한/영, 한자 키의 keycode를 확인하려고 키를 눌러도 아무런 반응이 없었다. 해서… 무식하게 일단 검색한 내용을 적용해 보았는데… ㅡ.ㅡ;

$ sudo setkeycodes 72 122    // 한영키
$ sudo setkeycodes 71 123    // 한자키


위의 명령으로 일단 키가 동작하는 것 까지는 확인. 인터넷으로 검색해 본 결과들은 대부분 72-123 / 71-122 쌍이었으나, 개인적으로는 위 설정이 맞음. 위 명령은 일회성으로 동작하므로 부팅 시 적용이 가능하도록 다음과 같이 설정함.

$ sudo gedit /etc/rc.local

// 위 명령으로 rc.local 열어서, 아래 내용 추가.
setkeycodes 72 122
setkeycodes 71 123

이후 부팅할 때 마다 적용되어 한/영, 한자 키가 제대로 동작함.
참고 : 페도라 리눅스 13 한글 입력  

그리고 아직까지는 우측 ALT 키가 두 가지 동작을 다 하고 있으므로(12.04에서는 HUD 기능까지 포함한 세 가지 동작),
본연의 Meta 키 동작만을 할 수 있도록 다음과 같이 설정함.

$ xev
$ echo "keycode 108 = Meta_R" > ~/.Xmodmap

첫번재 명령(xev) 후 우측 ALT 키를 입력해 본 결과 keycode 가 108 임을 확인함.
두번째 명령으로 우측 ALT 키가 Meta_R 동작만을 하도록 설정을 해줌.

재부팅 후 한/영, 한자, 우측 ALT 키들이 각각 본연의 임무를 충실히 해 주는것을 확인. ^^;

내친김에 xev 확인한 바로는 한자키 기능을 하도록 설정되어 있는 우측 CTRL 키도 본연의 임무를 할 수 있도록 추가로 설정해 보았다. keycode는 105로 할당되어 있었다. 위에서 .Xmodmap 파일을 미리 만들어 놓았으므로, 이번에는 gedit 또는 vi 같은 편집기로 열어서 다음의 내용을 추가해준다.

$ gedit ~/.Xmodmap

// 위 명령으로 설정파일 열고, 아래의 내용을 순서대로 추가.
keycode 105 = Control_R
add control = Control_R

적용 후 우측 CTRL 키를 이용해서 복사/붙여넣기 등을 편하게 사용할 수 있었다. ^^;

 

P.S.
위에서 $ echo xxxxxxx  ~/.Xmodmap 부분은 .Xmodmap 파일이 없는 경우이며,
만약 미리 설정한 내용이 있으면
$ gedit ~/.Xmodmap  또는  $ vi ~/.Xmodmap 등으로 파일을 열어서 "편집" 해야함. 


< Additional References >
 http://wiki.kldp.org/wiki.php/%C7%D1%BF%B5%C5%B0#s-2.1
 http://www.ubuntu.or.kr/viewtopic.php?p=12888
 http://www.kbdmania.net/xe/index.php?mid=best_article&page=9&document_srl=1737860
 setkeycodes 에서는 kbd scancode(72,71), input layer keycode(122,123)가 매개변수로 사용되고,
 xmodmap 에서는 (xev로 확인 가능한) X에서 인식하는 keycode(130,131)가 매개변수로 사용됨.
 (not sure yet~ maybe~)

 



Posted by MorningT