アップグレード後にGTKアプリケーションで機能しない(作成)キーが機能しない

アップグレード後にGTKアプリケーションで機能しない(作成)キーが機能しない

私はKubuntuを実行し、KDEをデフォルトのデスクトップ環境として使用しています。

しばらく前に、中国語のピンインと他のアクセント文字と特殊文字を入力できるようにデッドキーを設定しました。

ところで、私は漢字の入力方法を設定する最も簡単な方法だと思い、IBUSを使用しています。

アップデート前は、すべてのアプリでデッドキー/キーの組み合わせが正しく機能していました。

QTアプリケーションでは動作しますが、GTKアプリケーション(このブラウザなど)では動作しません。私がタイピングを最も多くするところなので不幸なことです。現在の解決策は、KDEランチャーにアクセント文字を入力してコピーすることです(Alt + F2、デッドキーを使用して入力、Ctrl + X、Esc、Ctrl + V)。これは少し面倒です。

これらすべてを設定したかどうかはかなり古いので、どの情報がデバッグに役立つのかわかりません。

興味深いことに、環境変数$ QT_IM_MODULEには値はありません。 $GTK_IM_MODULEにはximがあります。

ibus-gtk3をインストールしました。診断に役立つ可能性がある他の情報を投稿できますか?

インストールスクリプトをさまざまな場所(en_US、/etc/X11/xinit/xinput.d/ibusなど)に貼り付けました。どちらが優先するのかわかりませんが、エコー時にQT_IM_MODULEに値がないため、どちらかが実行されているかどうかはわかりません。どちらもibusではない場合、デフォルトでは「xim」でなければならないことを提案します。

また、下記のライブラリ(im-ibus.soなど)がなく、そのライブラリを取得する方法やライブラリへのリンクが見つからないことも言及する必要があります。実際、私のgtk-3.0.0/とqt4/ディレクトリにはinputmethod/またはプラグイン/ディレクトリもありません。それは問題の一部かもしれませんが、更新前にも機能していたのでよくわかりません。

# start IBus
# vim: set sts=4 expandtab:

# start IBus daemon
#/usr/bin/ibus-daemon --daemonize --xim
XIM=ibus
XIM_PROGRAM=/usr/bin/ibus-daemon
XIM_ARGS="--xim"

# set variables for the plain XIM
XMODIFIERS=@im=ibus

GTK_IM_MODULE=xim
# use immodule only when available for both GTK 2.0 and 3.0
IM_CONFIG_MARKER2=0
for IM_CONFIG_MARKER in /usr/lib/*/gtk-2.0/*/immodules/im-ibus.so \
                        /usr/lib/gtk-2.0/*/immodules/im-ibus.so ; do
    if [ -e $IM_CONFIG_MARKER ]; then
        IM_CONFIG_MARKER2=1
        break
    fi
done

IM_CONFIG_MARKER3=0
for IM_CONFIG_MARKER in /usr/lib/*/gtk-3.0/*/immodules/im-ibus.so \
                        /usr/lib/gtk-3.0/*/immodules/im-ibus.so ; do
    if [ -e $IM_CONFIG_MARKER ]; then
        IM_CONFIG_MARKER3=1
        break
    fi
done
if [ $IM_CONFIG_MARKER2 = 1 ] && [ $IM_CONFIG_MARKER3 = 1 ] ; then
    GTK_IM_MODULE=ibus
fi

QT_IM_MODULE=xim
# use immodule when available for Qt4 (Qt3 has been long dead)
for IM_CONFIG_MARKER in /usr/lib/*/qt4/plugins/inputmethods/libqtim-ibus.so\
                        /usr/lib/qt4/plugins/inputmethods/libqtim-ibus.so ; do
    if [ -e $IM_CONFIG_MARKER ]; then
        QT_IM_MODULE=ibus
        break
    fi
done

CLUTTER_IM_MODULE=xim
# use immodule when available for clutter
for IM_CONFIG_MARKER in /usr/lib/*/clutter-imcontext/immodules/im-ibus.so \
                        /usr/lib/clutter-imcontext/immodules/im-ibus.so; do
    if [ -e $IM_CONFIG_MARKER ]; then
        CLUTTER_IM_MODULE=ibus
        break
    fi
done

DEPENDS="ibus, ibus-gtk|ibus-qt4|ibus-clutter"

ベストアンサー1

X11レベルで入力モジュールを使用する場合(たとえば、定義された入力モジュールによってXMODIFIERS=…)、X11はもはやデッドキーまたは組み合わせを処理しませんが、入力モジュールはこれを行います。

あなたに必要なのは、との間XMODIFIERS="@im=ibus"を切り替える方法ですXMODIFIERS="@im=none"(X11に作業をさせてください)。おそらく、これを行うためのGtk設定がすでにあり、入力方法の右クリックメニューに表示されるようにすることもできます。そうでなければ、これはGtk / Gnomeチームにとって良い提案です。

おすすめ記事