當我從 Windows 7 電腦到 Ubuntu 電腦開啟 xrdp 會話時,將使用美式鍵盤佈局。但是,我的預設鍵盤佈局在 Ubuntu 電腦上有所不同,我想在 xrdp 會話期間使用它。我怎樣才能解決這個問題?
答案1
我想在這裡做出貢獻,因為似乎沒有任何說明。
從中尋找您需要的語言/鍵盤輸入這裡
例如 fr-be 法文(比利時)是 080C。
然後執行這些命令為您選擇的輸入產生鍵盤映射。
xrdp-genkeymap km-080C.ini
將其複製到 xrdp 資料夾中
sudo mv km-080C.ini /etc/xrdp
請記住,您必須更改文件的權限,以便可以使用它
sudo chown root:root /etc/xrdp/km-080C.ini
重新啟動服務,它應該可以工作
sudo service xrdp restart
答案2
對我來說,執行下一個命令就足夠了,以便在 X 中設定正確的鍵盤映射
setxkbmap be
您必須將“be”替換為您的土地代碼。您可以使用以下命令查看目前值
setxkbmap -query
答案3
不幸的是,上述答案都沒有完全解決我的問題。
查看目錄後,sudo ls /etc/xrdp/
我發現.ini
檔案有更多 0 前綴,因此我必須執行以下操作才能使其正常工作。
sudo xrdp-genkeymap /etc/xrdp/km-00000424.ini
(斯洛維尼亞佈局)
然後另外編輯文件sudo vi /etc/xrdp/xrdp-keyboard.ini
並在每個部分後面添加以下行:
[default_rdp_layouts]
rdp_layout_si=0x00000424
; <rdp layout name> = <X11 keyboard layout value>
[default_layouts_map]
rdp_layout_si=si
[rdp_layouts_map_mac]
rdp_layout_si=si
我希望這對某人有幫助。
答案4
不幸的是,使用 ini 檔案進行操作對我來說不起作用。我能得到的最多的是額外的佈局,也是英文的。所以我最終得到了 3 個奇怪的命名英文佈局。有幫助的是將此添加到開始第一行之後的/etc/xrdp/startwm.sh
和/etc/xrdp/reconnectwm.sh
右側,例如:
( sleep 3; setxkbmap -model pc105 -layout us,ru -option grp:alt_shift_toggle )&
或者,如果您想從系統範圍的設定檔設定 XRDP 鍵盤佈局/etc/default/keyboard
(這可能正是您想要的),則可以將其改為:
. /etc/default/keyboard
( sleep 3; setxkbmap ${XKBMODEL:+-model "$XKBMODEL"} ${XKBLAYOUT:+-layout "$XKBLAYOUT"} ${XKBVARIANT:+-variant "$XKBVARIANT"} ${XKBOPTIONS:+-option "$XKBOPTIONS"} )&
順便說一句,設定係統範圍的鍵盤設定檔/etc/default/keyboard
本身可以透過以下方式完成:
- 手動編輯
- 使用設定實用程式:
dpkg-reconfigure keyboard-configuration
- 使用命令列實用程式:
localectl set-x11-keymap us,ru pc105 , grp:alt_shift_toggle