在 X11 中永久設定鍵盤佈局

在 X11 中永久設定鍵盤佈局

我的電腦需要一位精神科醫生。

它確信它是一台 iMac(某種程度上)。

說真的:我有一個明顯不知從何而來的問題,很可能是由於某些帶有「副作用」的升級,但我真的不知道發生了什麼。

當然,我有一個相當複雜的設定:

  • 運行 Windows 7 的 X64 電腦
  • 虛擬盒子無頭的運行 Debian 的虛擬機器(延伸)
  • 我透過 ssh (KiTTY) 使用 X11 轉發訪問虛擬機
  • 通常我使用命令列工作,但有時我會使用圖形程式。
  • 我在主機上安裝了目前版本的 VcXserv 來為 Xclient 提供服務。

這多年來一直在發揮作用。

現在突然我的鍵盤開始對 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問題解決了,但下次虛擬機器啟動時又會出現這個問題。

我怎樣才能永久設定這個? (注意我在虛擬機器上沒有本地xserver,所以我沒有~/.xinitrc類似的檔案)

我也想了解到底發生了什麼事。有人可以建議去哪裡看嗎?

答案1

嘗試為 X 設定係統預設值:

$ sudo localectl set-x11-keymap it pc105

……這可能只會影響主機上的 Xserver,但請先嘗試一下;作為副作用,它會設定一個等效的控制台鍵盤映射,這可能是不穩定檢測的一部分。

如果這不起作用,只需在orsetxkbmap | xkbcomp中運行適當的例程:~/.profile~/.bashrc

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

當您登入 SSH 會話時,它將運行,因此您之後運行的任何圖形程式都應該獲得正確的鍵盤映射。

相關內容