X内でXephyrを起動すると、ほとんどの場合、印刷されていない文字の場合にキーボードマップが不安定になります。矢印キーが使えません。 xevによると、下矢印はSuper_Rにマップされます。上矢印はPrintScreenです。 PgDownは「メニュー」にマップされます。私のキーボードは元のXディスプレイ(:0)で正常に動作しますが、Xephyrサブディスプレイ(:1)では、他にまったく正しく動作しません。
私が知っているメインのXディスプレイで、ファンキーなxmodmapの処理が行われていません。私が本当にしているのはsetxkbmap -option ctrl:swapcaps
。
私は見つけました Bug 19365 これは私の問題を解決しました:
Xnest/Xephyrを-kbで開始します。
-kbオプションはUbuntu10.04では機能しません。これが私のために働いたものです:
Xephyr -keybd ephyr,,,xkbmodel=evdev -ac -screen 800x600 -br -reset -terminate :1
setxkbmap -model evdev -print | xkbcomp :100 :200
XpraでXephyrを使用していて、キーボードマップが正しくない場合。奇妙な状況が見られる場合:下キーはEnterキーとして機能し(下矢印はブレークラインとして)、上矢印は機能しません-そのコマンドを使用してtrue xkbmapを設定します。
:100-xpraを制御して数値を表示
:200-Xephyrの表示番号制御
X2goを使用してデスクトップ環境をメイトする場合(クライアントのx2go設定キーボードがオフになっている場合)、そのコマンドヘルプである可能性があります
Xephyrが開始されたXセッションでxkbcomp $DISPLAY :1
を実行することもできます。このコマンドは、キーボードマップを現在のサーバーから新しく作成したサーバーにコピーします。私はそれを次のように使用します:
Xephyr -screen 800x600 :1 > /dev/null &
sleep 2 && xkbcomp $DISPLAY :1
DISPLAY=":1" ./runcommand
グーグルがさらに失敗した後、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
オプションは、キーボードのトラブルシューティングに役立ちます( 対応するパッチログ を参照)。
私の場合(ドイツ語キーボードを使用)、 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
オリジナルのポスターに感謝します!
これにはSSHを使用していないようですよね?それでも、次のことがあなたを始めるかもしれません。 ssh -Y
を使用する際のキーボードの問題をトラブルシューティングするために書き留めたものです。
次を使用して、現在のキーボードマッピングを保存できます(Xephyrを実行していない場合)。
xmodmap -pke > ~/my_xmodmap
次に、Xephyrで、次のことを明示的にロードしてみてください。
xmodmap ~/my_xmodmap
また、xev
を使用すると、キーボードイベントを監視できます。それだけではおそらくあまり役に立ちませんが、そのコマンドがそのような記事で時々言及されているので、より役立つ記事をグーグルで検索するのに役立つかもしれません。