May 5, 2018

IBus 1.5.18 업데이트 후에는 한글 멈췄어요? 임시 해결이 있어요

저는 Linux 사용하면 한글 쓰기 위해 IBus 사용해요. 몇일 전에 Manjaro Linux 업데이트했어요. 이 업데이트 호에 한글 쓰는데 갑자기 멈췄어요. 부팅후에 다 괜찮게 보였어요. IBus의 아이콘 보이고, Win-Space 키보드 키로 언어 바꿀 수 있고 다 괜찮은 것 같았어요.

OK:

OK

Win+Space=OK:

Win+Space=OK

하지만, 쓰기 시작할 떼 IBus의 아이콘이 갑자기 바꿨고 영어로 썼어요. 제거 그 아이콘을 몰랐어서 이상하는 것 같아요. 에러 메시지도 없어요. IBus가 그냥 항상 그 아이콘 보여주고 영어로 썼어요 =(

이것 뭐예요?

이것 뭐예요?

그럼 제가 먼지 이 문제를 인터넷으로 검색했고 아무것도 못 찾아요. 그냥 오래된 못 도웠어요. 그럼 아마 오류 로그가 있어요? /var/log에 IBus의 로그가 없어요. 근데 man 페이지에 –verbose 명령 행을 찾았고 사용하면 오류 로그 있어요:

[gamlor@gamlor-t470p ~]$ ibus-daemon --verbose -r &
[4] 13270
[gamlor@gamlor-t470p ~]$
(ibus-daemon:13170): GLib-WARNING **: 21:33:08.140: GChildWatchSource: Exit status of a child process was requested but ECHILD was received by waitpid(). See the documentation of g_child_watch_source_new() for possible causes.
(ibus-engine-hangul:13296): IBUS-WARNING **: 21:33:08.224: org.freedesktop.IBus.Config.GetValue: GDBus.Error:org.freedesktop.DBus.Error.Failed: Config value [engine/hangul:on-keys] does not exist.
(ibus-engine-hangul:13296): IBUS-WARNING **: 21:33:08.224: org.freedesktop.IBus.Config.GetValue: GDBus.Error:org.freedesktop.DBus.Error.Failed: Config value [engine/hangul:off-keys] does not exist.
(ibus-daemon:13270): GLib-CRITICAL **: 21:33:08.229: g_variant_unref: assertion 'value != NULL' failed
(ibus-ui-gtk3:13277): IBUS-WARNING **: 21:33:13.143: ibus_bus_call_sync: org.freedesktop.DBus.Properties.Get: GDBus.Error:org.freedesktop.DBus.Error.Failed: No global engine.

어머…assert failed`다로 진짜 안 좋아요. 근데 제가 한글 써보면 `bus_bus_call_sync…No global engine 항상 났어요. 그래서 제가 이 오류를 검색했고 이 GitHub 문제 글 찾았어요. 저기에 임시 해결이 있어요: 에모지의 선택 키를 설정하면 문제 멈출 것 예요. 이상해지? 그럼 제가 그렇게 했고 다 다시 작동했어요. 방법이에요: IBus Preference → Emoji → … 버튼 → 제가 불가능한 키를 설정했어요 → Add → 완료됐어요!

Work around
Figure 1. 임시 해결
Tags: ibus 한국어 Linux