xrdp - 如何更改鍵盤佈局

xrdp - 如何更改鍵盤佈局

當我從 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

相關內容