XRDP添加布局

时间:2016-04-18 14:50:59

标签: xfce xrdp

在Debian 8上安装了XRDP + xfce4。没有可能在系统中添加新的布局 - "添加"按钮被禁用:登录后转到"应用程序菜单 - 设置 - 键盘"选择"布局"并看到以下图片:见screenshot

在目录/etc/xrdp/中有文件:

  • km-0407.ini
  • km-0409.ini
  • km-040c.ini
  • km-0410.ini
  • km-0419.ini
  • km-041d.ini
  • rsakeys.ini
  • sesman.ini
  • startwm.sh
  • xrdp.ini

km-0419.ini - 布局,我需要。

如何添加键盘布局?

我试图在终端会话(根目录下)命令中运行:

setxkbmap

xrdp-genkeymap /etc/xrdp/km-0419.ini

我回答第一个命令:

XKB extention not present on: 10.0
第二次默默执行,没有任何反应。

相同的命令是报告的终端会话(在主机上):

Can not open display «default display»

unable to open display ""

2 个答案:

答案 0 :(得分:0)

我在使用Debian 9 + xfce + xrdp时遇到了麻烦。

麻烦是当我通过RDP重新连接时,其他布局消失了。

我不确定这是否正是您要寻找的,如果不是,我深表歉意。 也许我的经验可以帮助您找出解决问题的方法。 另外我也不知道它是否适用于您的xrdp版本。

例如,这里是Russian keyboard的解决方案。

当您开始新的RDP会话时,它将所有键盘布局设置恢复为默认值。 因此,有两种解决方法。

任何RDP登录后,运行命令将设置更改为首选设置。

setxkbmap -layout us,ru -variant ',winkeys' -option 'grp:alt_shift_toggle,grp_led:scroll'

或更改xrdp配置,使其使用所需的设置。

帮助我纠正文件 /etc/xrdp/xrdp_keyboard.ini 的原因 (请注意[rdp_keyboard_ru]和[layouts_map_ru]部分)

您可以类推将其用于他人的语言。

这是我的/etc/xrdp/xrdp_keyboard.ini文件的示例。 您可以在文件末尾看到我使用的自定义集:

;
; RDP Keyboard <-> X11 Keyboard layout map
;
; How this file works:
;   1. load the file and scan each section to find matching "keyboard_type"
;      and "keyboard_subtype" based on the values received from the client.
;      If not found, then jump to default section.
;   2. in the selected section, look for "rdp_layouts" and "layouts_map".
;      Based on the "keylayout" value from the client, find the right x11
;      layout value.
;   3. model/variant are inferred based on the "keyboard_type" and
;      "keyboard_subtype", but they can be overridden. 
;

;
; RDP Keyboard Type (http://msdn.microsoft.com/en-us/library/cc240563.aspx)
;
; 0 is not a valid value
;
; 1 - IBM PC/XT or compatible (83-key) keyboard
; 2 - Olivetti "ICO" (102-key) keyboard
; 3 - IBM PC/AT (84-key) or similar keyboard
; 4 - IBM enhanced (101- or 102-key) keyboard
; 5 - Nokia 1050 and similar keyboards
; 6 - Nokia 9140 and similar keyboards
; 7 - Japanese keyboard
;
; RDP Keyboard Subtype is vendor dependent. XRDP defines as follows:
;
; 0 is not a valid value
;
; 1 - Standard
; 2 - FreeRDP JP keyboard
; 3 - Macintosh
; ... - < any vendor dependent subtype >
;
; The list can be augmented.
;


; default
[default]
; keyboard_type and keyboard_subtype is not read for default section. It
; is only a placeholder to keep consistency. Default model/variant are
; platform dependent, and could be overridden if needed.
keyboard_type=0
keyboard_subtype=0

; user could override variant and model, but generally they should be inferred
; automatically based on keyboard type and subtype
;variant=
;model=

; A list of supported RDP keyboard layouts
rdp_layouts=default_rdp_layouts
; The map from RDP keyboard layout to X11 keyboard layout
layouts_map=default_layouts_map

[default_rdp_layouts]
rdp_layout_us=0x00000409
rdp_layout_de=0x00000407
rdp_layout_fr=0x0000040C
rdp_layout_it=0x00000410
rdp_layout_jp=0x00000411
rdp_layout_jp=0xe0010411
rdp_layout_jp=0xe0200411
rdp_layout_jp=0xe0210411
rdp_layout_kr=0x00000412
rdp_layout_ru=0x00000419
rdp_layout_se=0x0000041D
rdp_layout_ch=0x00000807
rdp_layout_pt=0x00000816
rdp_layout_br=0x00000416
rdp_layout_pl=0x00000415

; <rdp layout name> = <X11 keyboard layout value>
[default_layouts_map]
rdp_layout_us=us
rdp_layout_de=de
rdp_layout_fr=fr
rdp_layout_it=it
rdp_layout_jp=jp
rdp_layout_kr=kr
rdp_layout_ru=ru
rdp_layout_se=se
rdp_layout_ch=ch
rdp_layout_pt=pt
rdp_layout_br=br(abnt2)
rdp_layout_pl=pl

; if two sections have the same keyboard_type and keyboard_subtype, then
; the latter could override the former.
[rdp_keyboard_mac]
keyboard_type=4
keyboard_subtype=3
rdp_layouts=default_rdp_layouts
layouts_map=rdp_layouts_map_mac

[rdp_keyboard_jp]
keyboard_type=7
keyboard_subtype=2
model=pc105
rdp_layouts=default_rdp_layouts
layouts_map=default_layouts_map

[rdp_layouts_map_mac]
rdp_layout_us=us
rdp_layout_de=de
rdp_layout_fr=fr
rdp_layout_jp=jp
rdp_layout_kr=kr
rdp_layout_it=it
rdp_layout_ru=ru
rdp_layout_se=se
rdp_layout_ch=ch
rdp_layout_pt=pt
rdp_layout_br=br(abnt2)
rdp_layout_pl=pl

[rdp_keyboard_ru]
keyboard_type=4
keyboard_type=7
keyboard_subtype=1
model=pc105
options=grp:lctrl_lshift_toggle,compose:ralt
variant=,
rdp_layouts=default_rdp_layouts
layouts_map=layouts_map_ru

[layouts_map_ru]
rdp_layout_us=us,ru
rdp_layout_ru=us,ru

答案 1 :(得分:0)

  1. 查看$ HOME / .config / xfce4 / xfconf / xfce-perchannel-xml / keyboard-layout.xml
  2. setxkbmap-布局我们,ru-变量','-选项'grp:win_space_toggle'