xmodmap 으로 Linux 한글/영어 전환키 설정

Linux 는 오래전부터 xmodmap 대신 xkb 를 사용하므로 아래 내용은 참고만 하시기 바랍니다.


Ubuntu 20.04 LTS 와 fedora 34 를 사용하는데 이제는 Linux desktop 환경이 많이 편해져서 설치후 별다른 설정없이 한글 사용이 큰 불편이 없어졌습니다.


한글 입력기도 기본 설정인 IBus 를 사용하는데 Chrome/Edge, Visual Studio Code, Slack 등 많이 사용하는 프로그램에서도 정상 동작합니다.

facebook 에서는 입력이 제대로 안 되는 문제가 있지만 이정도는 감내할 수 있는 불편이고요.


한 가지 문제는 키보드의 한/영키를 Right Alt로 인식해서 한영 전환이 제대로 안 되는 경우가 있는데 이는 xmodmap 으로 설정을 변경해 주면 됩니다.

한영, 한자키 설정

Alt_R 은 보통 키 코드가 108(0x6c) 인데 기존 매핑을 삭제하고 Hangul 키로 매핑해 줍니다.

xmodmap -e 'remove mod1 = Alt_R'
xmodmap -e 'keycode 108 = Hangul'


Control_R 도 105(0x69) 인데 한자키로 매핑해 줍니다.

xmodmap -e 'remove control = Control_R'
xmodmap -e 'keycode 105 = Hangul_Hanja'


다음 로그인때도 반영되도록 설정 내용을 파일로 저장합니다.

xmodmap -pke > ~/.Xmodmap


재부팅해주라고 되어 있는 문서가 많은데 xmodmap 으로 설정을 다시 읽으면 정상 동작합니다.

xmodmap ~/.Xmodmap

읽고 반영하는데 시간이 약간 걸리며 시스템이 다운된 것 처럼 키보드가 반응이 없으므로 주의합니다.


매핑 설정

Settings  → "Region & Language" 에 들어갑니다.

Input source  → "Korean(Hangul)" 을 클릭합니다.


Hangul 과 Hanja 전환 키 설정을 확인하고 없으면 Add 를 눌러서 추가해 줍니다.

같이 보기

Ref