我的電腦需要一位精神科醫生。
它確信它是一台 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 會話時,它將運行,因此您之後運行的任何圖形程式都應該獲得正確的鍵盤映射。