gnome 3.22.1を使用していますが、3.18から問題があります。
これまでは、(正確なバージョンを覚えていません)、次のようにキーボードレイアウトを切り替えることができました。xkbitch、内部的にX.orgバインディングを使用するシンプルなアプリケーションです。
3.18以降にxkb-switchを実行すると、gnomeのキーボードレイアウトは切り替えられません。さらなる調査は、レイアウトの切り替えが有効でしたが、寿命が短いことを示しました。
このスクリプトを実行する場合:
for i in $(seq 1000); do
lang=$(xkb-switch -s ru; xkb-switch);
if [[ "$lang" == "ru" ]]; then
echo $lang;
fi;
done
運がどれほど良いかによって、3〜20の「成功した」レイアウトスイッチを得ることができます。
この問題をインターネットで検索した後、次のようになりました。提案:
gsettings set org.gnome.desktop.input-sources current 0
設定は変更されますが、レイアウトは変わりません。
レイアウトを変更する「ハッキング」方法が見つかりました。
setxkbmap us,ru
setxkbmap ru,us
しかし、gnome Shellは変更を知らず、レイアウトインジケータに間違った言語を表示します。
この問題について投稿しました(申し訳ありませんが、評判が不十分です。https://bbs.archlinux.org/viewtopic.php?pid=1657582 https://github.com/ierton/xkb-switch/issues/15 )、しかし良い答えを得ることができる幸運はありません。
この時点で私は詰まった。私はGNOMEシェルコードの問題を識別するのに十分技術的にはうまくいきません。私はこれが(gnome shell)の問題であるかどうかはわかりません。
私が望むものは一つです。GNOMEセンス端末でキーボードレイアウトを切り替える方法。誰もが正しい方向に私を指すことができますか?これをバグとして報告する必要がありますか(特にgsettingsを介してキーボードレイアウトを変更できないという事実)。
答え1
gnome-shell はすべての変数にアクセスできる DBus に JS 評価インタフェースを公開するので、この機能は以下を使用して達成できます。
gdbus call --session --dest org.gnome.Shell \
--object-path /org/gnome/Shell \
--method org.gnome.Shell.Eval \
"imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()"
これにより、0番目のレイアウトがアクティブになります。使用率の低い無変換日本語キーボードにこれらのコマンドを簡単に割り当てることができます変換。
最後に使用した入力方法(コメントから)に切り替える方法は次のとおりです。
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell \
--method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager()._mruSources[1].activate()"
答え2
IBusを入力方式(デフォルト)として使用する場合は、次のように入力を変更できますibus
。
# Set the layout to US English
ibus engine xkb:us::eng
# Set the input method to Japanese Mozc IME
ibus engine mozc-jp
# Set the layout to Russian
ibus engine xkb:ru::rus
このコマンドを使用すると、利用可能なすべてのレイアウトを表示できますibus list-engine
。
このアプローチは次のとおりです。いいえ安定して動作していても、言語インジケータを変更してください。
答え3
以前にマウスで入力方法を設定したことがなくても、コマンドラインで設定して切り替えることができます。
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'ru')]"
Dvořákの場合us+dvorak
(またはgb+dvorak
英国または他の地域にいる場合)を使用してください。
答え4
私の考えでは、あなたが試してみる必要があると思います。sudo dpkg-reconfigure keyboard-configuration