보관용으로 적는 간단한 메모입니다.
fcitx4+nimf 조합을 선택한 이유
- ibus는 워드프레스, 페이스북에서 입력중에 입력이 안 되는 글자가 생김(빠짐 현상?).
- fcitx5는 한글을 쓰니까 마지막 글자가 방향키와 스페이스바를 따라다님.
- 따라서 ibus와 fcitx5는 못 씀.
- fcitx4와 nimf를 혼합하는 것이 2024년 8월 현재 가장 나음
- fcitx4는 PhpStorm에서 한글 입력에 오류가 있음. (PhpStorm에서 한글을 쓸 때 꽤 자주 스페이스바가 방금 작성한 글자 왼쪽으로 들어가는 경우가 생김. “그러니까 “하고 “그러니까” 뒤에 스페이스바를 넣으면 “그러니 까” 하는 식으로 글자가 작성되는 이슈.)
- nimf는 Sublime Text에서 한글 입력에 오류가 있음. (글자 입력을 마치고 스페이스바 등 다른 글자를 누르지 않으면 커서 안에 글자가 숨어있다가 스페이스바를 친 곳에서 글자가 튀어나옴)
- 그래서 기본 fcitx4를 사용하고 PhpStorm에서만 nimf를 사용하는 전략을 취함.
nimf 설치
님프는 sudo apt install nimf nimf-libhangul
명령으로 설치
만약 Sublime Text를 사용하지 않아 nimf만 사용할 것이라면 /etc/environment
에 아래 내용을 넣으면 된다.
GTK_IM_MODULE=nimf
QT_IM_MODULE=nimf
XMODIFIERS=@im=nimf
fcitx4 설치와 설정
- 설치:
sudo apt install -y fcitx fcitx-hangul
/etc/environment
에GTK_IM_MODULE=fcitx
,QT_IM_MODULE=fcitx
,XMODIFIERS=@im=fcitx
를 추가- 시스템이 시작할 때
/usr/bin/fcitx-autostart
를 실행하도록 설정. Startup Application이 있으면 거기에 넣고, 없다면 ~/.config/autostart 폴더로 이동해서(없으면 만든다) ifctx.desktop 파일(압축 파일 다운로드)을 넣는다(내용 보기). - 재부팅
- fcitx 환경설정 실행 – 메타 키를 누르고 fcitx를 입력하면 실행용 프로그램이 나온다.
- fcitx 설정 입력 방법에서 Hangul 추가
- 전역 설정에서 입력기 변환 키 설정
PhpStorm에서만 nimf 사용하기
locate phpstorm.sh
를 실행해 보면 PhpStorm 실행 스크립트 위치가 나온다. 안 나오면… 잘 찾아 봐야 할 텐데, 내 경우 아래와 같았다.
/home/mytory/.local/share/JetBrains/Toolbox/apps/PhpStorm/ch-0/232.10072.32/bin/phpstorm.sh
위 파일을 열어서 맨 앞쪽 4~6번째 줄을 아래처럼 넣는다.
#!/bin/sh
# Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
export GTK_IM_MODULE=nimf
export QT_IM_MODULE=nimf
export XMODIFIERS=@im=nimf
시행착오 기록 – 환경변수 세 개와 시작 프로그램
여기서는 좀 자세히 보고 싶은 사람들만 읽으면 된다.
설정 > 지역 및 언어 > 설치된 언어 관리 > 키보드 입력기에서 fcitx4를 선택하거나, im-config
에서 fcitx를 선택하는 것은 영향을 미치지 못했다.
/etc/default/im-config
에 IM_CONFIG_DEFAULT_MODE=fcitx
설정도 소용 없었고, 심지어 IM_CONFIG_PREFERRED_RULE
값에 ko_KR,fcitx
옵션을 넣어도 소용 없었다.
오직 아래 환경변수를 수동으로 적어 주는 것만이 유일하게 효과를 봤다.
/etc/environment
에 GTK_IM_MODULE=fcitx
, QT_IM_MODULE=fcitx
, XMODIFIERS=@im=fcitx
세 가지 환경 변수를 추가하고 Startup Application에 /usr/bin/fcitx-autostart
추가해야만 fcitx가 입력기로 정상 작동했다. 이 경우엔 심지어 언어 지원 설정에서 ibus를 선택해도 fcitx가 잘 작동했다. (뭐지…)
(XMODIFIERS=@im=fcitx
설정을 하지 않으면 Intellij IDEA, PhpStorm에서 한글 입력이 되지 않는다.)
결과적으로 /etc/environment
파일은 아래와 같은 모습을 가지게 됐다.
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
(DefaultIMModule=fcitx
도 적어 주라는 블로그 글을 발견했지만, 이 환경변수가 영향을 미치는 곳이 없는 것 같아 사용하지 않았다.)
사용자 설정으로 하는 방법
나는 /etc/environment
에 적었지만, .bashrc
, .bash_profile
, .zshrc
에 export
키워드와 함께 적어도 된다. 그러면 아래처럼 될 것이다.
export QT_IM_MODULE=fcitx
export GTK_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
나가며
어떤 조합에서 어떤 입력기가 설정됐는지 적은 표다: 우분투 22.04 설정에 따른 입력기
그러나 이것은 경험주의적 접근이므로, 뭔가 잘 안 된다면 다른 것들을 시도해 보기 바란다.
한글을 제대로 쓰는 것이 목적이지, 입력기 학습이 목적이 아니므로 여기까지 메모하고 종료한다.
이후 ibus, ibus-hangul을 삭제했다.
sudo apt remove ibus ibus-hangul && sudo apt autorevmoe
참고 – fcitx.desktop 내용
[Desktop Entry]
Type=Application
Exec=/usr/bin/fcitx-autostart
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Fcitx
Comment=Start Fcitx input method framework
댓글 남기기