【问题标题】:XRDP add layoutXRDP 添加布局
【发布时间】:2016-08-10 09:26:54
【问题描述】:

在 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 - 布局,我需要。

如何添加键盘布局?

我尝试在终端会话中运行(在 root 下)命令:

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 ""

【问题讨论】:

    标签: xfce xrdp


    【解决方案1】:

    我在使用 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
    

    【讨论】:

      【解决方案2】:
      1. 查看 $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/keyboard-layout.xml
      2. setxkbmap -layout us,ru -variant ',' -option 'grp:win_space_toggle'

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-04-20
        • 1970-01-01
        • 2021-09-01
        • 2015-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多