web-dev-qa-db-ja.com

Xephyrのキーボードマッピングをどのように整理できますか?

X内でXephyrを起動すると、ほとんどの場合、印刷されていない文字の場合にキーボードマップが不安定になります。矢印キーが使えません。 xevによると、下矢印はSuper_Rにマップされます。上矢印はPrintScreenです。 PgDownは「メニュー」にマップされます。私のキーボードは元のXディスプレイ(:0)で正常に動作しますが、Xephyrサブディスプレイ(:1)では、他にまったく正しく動作しません。

私が知っているメインのXディスプレイで、ファンキーなxmodmapの処理が行われていません。私が本当にしているのはsetxkbmap -option ctrl:swapcaps

8
qedi

私は見つけました Bug 19365 これは私の問題を解決しました:

Xnest/Xephyrを-kbで開始します。

5
qedi

-kbオプションはUbuntu10.04では機能しません。これが私のために働いたものです:

Xephyr -keybd ephyr,,,xkbmodel=evdev -ac -screen 800x600 -br -reset -terminate :1

2
Jim Hunziker
setxkbmap -model evdev -print | xkbcomp :100 :200    

XpraでXephyrを使用していて、キーボードマップが正しくない場合。奇妙な状況が見られる場合:下キーはEnterキーとして機能し(下矢印はブレークラインとして)、上矢印は機能しません-そのコマンドを使用してtrue xkbmapを設定します。

:100-xpraを制御して数値を表示

:200-Xephyrの表示番号制御

X2goを使用してデスクトップ環境をメイトする場合(クライアントのx2go設定キーボードがオフになっている場合)、そのコマンドヘルプである可能性があります

1

Xephyrが開始されたXセッションでxkbcomp $DISPLAY :1を実行することもできます。このコマンドは、キーボードマップを現在のサーバーから新しく作成したサーバーにコピーします。私はそれを次のように使用します:

Xephyr -screen 800x600 :1 > /dev/null &
sleep 2 && xkbcomp $DISPLAY :1
DISPLAY=":1" ./runcommand
1
Tomasz

グーグルがさらに失敗した後、man setxkbmapついに私にもっと簡単な解決策を教えてくれました:

Xkbcompでの使用

Xserverとクライアントシェルが異なるコンピューターで実行されていて、それらのマシンのXKB構成ファイルが異なる場合、モデル、レイアウト、オプション名でキーボードマップを指定する際に問題が発生する可能性があります。[...]実行することでこの問題を解決できます。クライアント側のxkbcompも。[..]たとえば、コマンド

setxkbmap us -print | xkbcomp- $ DISPLAY

両方のステップを同じ(クライアント)マシンで実行し、キーボードマップをサーバーにロードします。

あれは、

  • xephyrを起動します。

    Xephyr -ac -reset -screen 800x600 -retro :50 &
    

    (キーボード情報を提供する必要はありません)

  • 新しいxsessionを構成します。

    setxkbmap de -print | xkbcomp - :50
    

    (キーボードのレイアウトを知っている必要があります)

注:setxkbmapはあなたの友達であり、 バージョン1.2. から便利な-queryオプションは、キーボードのトラブルシューティングに役立ちます( 対応するパッチログ を参照)。

1
Alberto

私の場合(ドイツ語キーボードを使用)、 Arjan が指す以前のソリューションと panzi が指すソリューションの組み合わせでのみ機能します。 ) Xephyrキーボードレイアウト 、つまり:

Xephyrを開始します。

Xephyr -keybd ephyr,,,xkbmodel=evdev,xkblayout=de -ac -reset -screen 800x600 -retro :1 &

現在のキーボードマッピングを保存し、マッピングのロードを開始します。

xmodmap -pke > /tmp/my_modmap ; xterm -display :1 -ls -e "xmodmap /tmp/my_modmap; bash" &

Xephyrサーバー:xserver-xephyr 2:1.9.5-1

オリジナルのポスターに感謝します!

0
Alberto

これにはSSHを使用していないようですよね?それでも、次のことがあなたを始めるかもしれません。 ssh -Yを使用する際のキーボードの問題をトラブルシューティングするために書き留めたものです。

次を使用して、現在のキーボードマッピングを保存できます(Xephyrを実行していない場合)。

xmodmap -pke > ~/my_xmodmap

次に、Xephyrで、次のことを明示的にロードしてみてください。

xmodmap ~/my_xmodmap

また、xevを使用すると、キーボードイベントを監視できます。それだけではおそらくあまり役​​に立ちませんが、そのコマンドがそのような記事で時々言及されているので、より役立つ記事をグーグルで検索するのに役立つかもしれません。

0
Arjan