При первом запуске Eclipse в моей Ubuntu 20.04, я получил предупреждение (которое на самом деле кажется 2 предупреждения)
***WARNING: Detected: GTK_IM_MODULE=xim. This input method is unsupported and can cause graphical issues.
***WARNING: Unset GTK_IM_MODULE or set GTK_IM_MODULE=ibus if flicking is experienced.
log4j:WARN No appenders could be found for logger (org.eclipse.jgit.internal.storage.file.FileSnapshot).
log4j:WARN Please initialize the log4j system properly.
Чтобы разобраться с GTK....
предупреждение, я немного погуглил.
Я нашел здесь, что "Гном сделал ibus методом ввода по умолчанию" (даже если ответ с 2016 года, на рисунке ниже видно, что он все еще применим).
Но
$ env | grep -i gtk
GTK_IM_MODULE=xim
GTK_MODULES=gail:atk-bridge
Интересно, где же находится GTK_IM_MODULE
.
Что я пробовал (не повезло):
$ grep -i gtk ~/.bashrc
$ grep -i gtk ~/.profile
$ grep -i gtk /etc/profile
$ grep -i -nH gtk /etc/profile.d/*
$ grep -i gtk ~/.xprofile
$ grep -i gtk ~/.xinputrc
$ gsettings get org.gnome.desktop.interface gtk-im-module
'gtk-im-context-simple'
(обратите внимание, что согласно dconf-редактору
, значение по умолчанию - ''
).
Я попробую выполнить предложение в предупреждении, Unset GTK_IM_MODULE или установить GTK_IM_MODULE=ibus
, но у меня все равно есть вопрос:
Где находятся GTK_IM_MODULE
и GTK_MODULES
установленные значения?
При запуске im-config
я вижу это
EDIT:
Возможно ~/.xinputrc
ответственен. Его содержимое:
# im-config(8) generated on Tue, 03 Nov 2020 10:36:11 -0300
run_im xim
# im-config signature: 1f92fadecc95eaeaf5534ec0902b5a9b -
Если это причина, то почему .xinputrc
содержит это?
EDIT #2:
Я удалил .xinputrc
, вышел из системы и снова вошел.
Однако
$ env | grep -i gtk
GTK_IM_MODULE=xim
GTK_MODULES=gail:atk-bridge
Так что, похоже, что .xinputrc
не был виновен.
EDIT #3:
Я выполнил
$ im-config -n ibus
$ im-config -m
default
ibus
ibus
ibus
Поэтому я убедился, что ibus
был током (во второй строке вывода у меня был xim
до этого).
Я вышел из системы и снова вошел.
Тем не менее
$ env | grep -i gtk
GTK_IM_MODULE=xim
GTK_MODULES=gail:atk-bridge
$ cat .xinputrc
# im-config(8) generated on Thu, 04 Mar 2021 23:34:26 -0300
run_im ibus
# im-config signature: 3d5777226bbd6243ce412ee4470b8020 -
Плюс, запуск затмения все еще дает то же самое предупреждение (ожидаемое, так как переменные окружения имеют те же значения). И последовавшее за этим мерцание все еще присутствует.
Как и было запрошено в комментариях
$ env | grep -E '_IM|XMOD'
GTK_IM_MODULE=xim
QT4_IM_MODULE=xim
XMODIFIERS=@im=none
CLUTTER_IM_MODULE=xim
QT_IM_MODULE=ibus
Похоже, что .xinputrc
не был виновен.
EDIT #4:
После перезагрузки
$ im-config -m
default
ibus
ibus
ibus
$ env | grep -E '_IM|XMOD'
XMODIFIERS=@im=ibus
QT_IM_MODULE=ibus
$ env | grep -i gtk
GTK_MODULES=gail:atk-bridge
$ grep -i gtk ~/.profile
$ grep -i gtk /etc/environment
$ grep -i gtk /etc/environment.d/*
/etc/environment.d/90atk-adaptor.conf:GTK_MODULES=${GTK_MODULES:+$GTK_MODULES:}gail:atk-bridge
Плюс, затмение не показывает предупреждение (как и ожидалось), и мерцание пропадает.
Было ли GTK_IM_MODULE
также установлено в /etc/environment.d/90atk-adaptor.conf
, я не могу сказать (мне нужно попробовать несколько вещей, чтобы убедиться в этом).
Даже если это и не нужно:
GTK_IM_MODULE
остается открытым. .xinputrc
, перезагрузиться и проверить еще раз. Да, скорее всего, причина.
Что касается вашего вопроса, почему ~ / .xinputrc
будет содержать это, это длинная история. Короче говоря, это о различных попытках исторически для достижения разумной конфигурации по умолчанию. Я предполагаю, что вы установили Ubuntu несколько лет назад, а позже обновили до 20.04.
Мой совет: просто удалить ~ / .xinputrc
и перезагрузите. Он не будет возвращаться, если вы не будете активно изменить конфигурацию метода ввода через E.g. Языковая поддержка .