냉혹한 리눅스 한글 입력의 세계

환경

스팀과 스팀 게임에서 한글 입력 사용

YOUR_INPUT_METHOD=fcitx # ibus 등 다른 입력기를 사용할 시 변경


echo "XMODIFIERS=@im=$YOUR_INPUT_METHOD" | sudo tee -a /etc/environment

로그아웃 후 로그인하여 다음과 같이 뜨면 성공:

echo $XMODIFIERS $LANG
> @im=fcitx ko_KR.UTF-8

참고: https://wiki.archlinux.org/title/Fcitx5#XIM

ㄱㅅ 누르면 , ㄱㄱ 누르면 되는 현상 방지

환경 설정

git clone https://github.com/libhangul/libhangul
cd libhangul

sudo dnf install gcc make gettext gettext-devel libtool libtoolize aclocal autoconf expat-devel

원하는 설정 적용

diff --git a/hangul/hangulinputcontext.c b/hangul/hangulinputcontext.c
index ee43f5e..bdd3ad0 100644
--- a/hangul/hangulinputcontext.c
+++ b/hangul/hangulinputcontext.c
@@ -1511,7 +1511,7 @@ hangul_ic_new(const char* keyboard)
 
     hic->option_auto_reorder = false;
     hic->option_combi_on_double_stroke = false;
-    hic->option_non_choseong_combi = true;
+    hic->option_non_choseong_combi = false;
 
     hangul_ic_set_output_mode(hic, HANGUL_OUTPUT_SYLLABLE);
     hangul_ic_select_keyboard(hic, keyboard);

내려받은 저장소에 해당 변경사항을 적용

빌드 및 설치

make -j $(nproc)
sudo make install
sudo ldconfig

다음과 같이 나오면 성공:

ldconfig -p | grep libhangul
        libhangul.so.1 (libc6,x86-64) => /usr/local/lib/libhangul.so.1
        libhangul.so.1 (libc6,x86-64) => /lib64/libhangul.so.1
        libhangul.so (libc6,x86-64) => /usr/local/lib/libhangul.so

만일 /usr/local/lib같은 곳에 libhangul이 설치되어 ldconfig가 읽지 못한다면 해당 경로를 ldconfig에 추가후 위 동작을 반복:

echo '/usr/local/lib' | sudo tee -a /etc/ld.so.conf.d/usr_local_lib.conf
sudo ldconfig

직접 빌드한 libhangul.soldconfig에 반영된 것을 확인 후 로그아웃-로그인하여 fcitx5-hangul에 적용