web-dev-qa-db-ja.com

コンソールコマンドによるキーボードレイアウトの追加/削除

13.10にアップグレードした後、レイアウト設定と入力言語の切り替えにXKBを使用しなくなったように見えるため、質問があります。

場合によっては、1つまたは2つ以上の入力言語を追加し、少し後にそれらを削除する必要があります。操作は頻繁に行われ、パスには次のように簡単にする方法がありました。

setxkbmap -layout "us,ru,de"

そのため、このようなコマンドをホットキーにバインドし、必要な言語を非常に迅速かつ簡単に追加または削除できました。

今のところsetxkbmapはレイアウトにまったく影響しません。

私は次のようなことをしようとしました:

gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'ru'), ('xkb', 'ar')]"

キーボードインジケーターにレイアウトを追加しましたが、入力をまったく変更しないため、GUI設定ツールを開いても新しい言語が見つかりません。

私もやろうとしました:

gsettings set org.gnome.libgnomekbd.keyboard layouts "['us', 'ru', 'de']"

しかし、それはまったく効果がありません。

guiからの新しいレイアウトを追加する前と後のorg.gnome.desktop.input-sourcesのソースを除き、gsettingsの差分はリスト再帰で、gconftool-2 --recursive-listの差分はinsn'tの前後すべての違いを示しています。

それを機能させるためのソリューションをお願いします。それを行うためのコンソールコマンド、またはAPI呼び出しです。シンプルなアプリの作成は問題ないと思います。

2
user2819650

私はそれが何であるかを見つけました。これはネーミングの問題です。アラビア語の言語は( 'xkb'、 'ara')でなくてはなりません。奇妙なことに、setxkbmap表記とは違います。

2
user2819650