X11でキーボードレイアウトを永続的に設定

X11でキーボードレイアウトを永続的に設定

私のPCには精神科医が必要です。

それは iMac だと確信しています (ある意味)。

真剣に言うと、どうやらどこからともなく突然現れた問題が発生しています。おそらく「副作用」を伴うアップグレードが原因です。しかし、何が起こったのか本当にわかりません。

確かに、私の設定はかなり複雑です。

  • Windows 7 を実行する X64 PC
  • バーチャルボックス頭のないDebian (stretch) を実行する仮想マシン
  • X11転送を使用してssh(KiTTY)経由でVMにアクセスします
  • 通常はコマンドラインで作業しますが、グラフィック プログラムを使用することもあります。
  • Xclients を提供するために、ホストに現在のバージョンの VcXserv をインストールしています。

これは何年も前から機能しています。

突然、X クライアントに対してのみキーボードが「異常な動作」をし始めました (通常の ssh ターミナルは影響を受けません)。

いろいろ調べた結果、あることが分かりました。

これは次の出力ですsetxkbmap -print -verbose 10:

Setting verbose level to 10
locale is C
Trying to load rules file ./rules/xorg...
Trying to load rules file /usr/share/X11/xkb/rules/xorg...
Success.
Applied rules from xorg:
rules:      xorg
model:      macintosh
layout:     it
options:    grab:break_actions
Trying to build keymap using the following components:
keycodes:   macintosh+aliases(qwerty)
types:      complete+numpad(mac)
compat:     complete+xfree86(grab_break)
symbols:    pc+macintosh_vndr/it+inet(apple)
geometry:   macintosh(macintosh)
xkb_keymap {
        xkb_keycodes  { include "macintosh+aliases(qwerty)"     };
        xkb_types     { include "complete+numpad(mac)"  };
        xkb_compat    { include "complete+xfree86(grab_break)"  };
        xkb_symbols   { include "pc+macintosh_vndr/it+inet(apple)"      };
        xkb_geometry  { include "macintosh(macintosh)"  };
};

確かにsetxkbmap -model pc105 -layout it問題は解決しましたが、次回の VM 起動時に問題が再発します。

~/.xinitrcこれを永続的に設定するにはどうすればよいですか? (VM にローカル xserver がないので、同様のファイルはありません)

私も何が起こったのか理解したいです。どこを調べればよいか誰か教えてもらえますか?

答え1

X のシステムデフォルトを設定してみます:

$ sudo localectl set-x11-keymap it pc105

... これはホスト上の Xserver にのみ影響する可能性がありますが、まずはこれを試してください。副作用として、同等のコンソール キーマップが設定され、これが不安定な検出の一部となる可能性があります。

それでもうまくいかない場合は、またはsetxkbmap | xkbcompで適切なルーチンを実行してください。~/.profile~/.bashrc

 if [ -n $DISPLAY ] ; then
   setxkbmap -model pc105 -layout it -print | xkbcomp - $DISPLAY
 fi

これは SSH セッションにログインしたときに実行されるため、その後に実行するグ​​ラフィカル プログラムには適切なキーマップが適用されるはずです。

関連情報