Unityの外部から標準のubuntuキーボードレイアウトを使用する方法があるかどうか知りたいのですが。別のWM(Fluxbox)を使用しています。
総当たり攻撃のアプローチは、xkbを使用することです。できます。しかし、そのルートを進む前に、他のオプションを検討したいと思います。私はibus-daemonを直接実行しようとしましたが、これは機能しているようですが、提供されるキーボードレイアウトは標準のubuntuのものとは異なります(そしてそれらの数ははるかに少ないです)。
ただ走れないことに気づいた
/usr/lib/x86_64-linux-gnu/indicator-keyboard/indicator-keyboard-service &
何か案は?
Ubuntuのバージョンは15.10です。
それで、私は不可能を止めて、Unityの断片をFluxboxに引き出すことにしました。代わりに、実際にsetxkbmapに依存する、はるかに多くのfluxboxyソリューションがあります。 このUNIXスタック交換の回答 を参照して、米国のキーボードでセルビア語(ラテン)とドイツ語の同様のサブメニュー設定を行いました。
.fluxbox/menuで、
[begin] (fluxbox)
[include] (/etc/X11/fluxbox/fluxbox-menu)
[submenu] (keyboards)
[exec] (us) {setxkbmap us}
[exec] (de) {setxkbmap de qwerty}
[exec] (rs) {setxkbmap rs latinunicodeyz}
[end]
上記のスニペットは、異なるキーボードレイアウトに対応する3つのアイテムを設定します。
物事をより柔軟にするために、.fluxbox/keysにキーボードショートカットも追加しました。
Mod4 Shift 1 :Exec chkb.sh us
Mod4 Shift 2 :Exec chkb.sh rs latinunicodeyz
Mod4 Shift 3 :Exec chkb.sh de qwerty
ここで、chkb.shは、次の内容のスクリプトです。
#!/bin/bash
langsel="$1"
varant="$2"
setxkbmap "$1" "$2"
xmodmap "/home/user/.Xmodmap"
。私はEmacsユーザーなので、Caps LockをCtrl機能(およびCtrlをCaps Lock)にバインドすることを好みます。キーボードレイアウトを変更するたびに、.Xmodmap定義を読み直してバインドプロセスを繰り返す必要があります。これは、:Execディレクティブによって直接呼び出されるよりも、スクリプトにパックされている方が優れています。
多分誰かがまだ別の解決策を持っています...