You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 24.04桌面共享(RDP)会话中Ctrl与Caps Lock键交换失效的解决咨询

Ubuntu 24.04桌面共享(RDP)会话中Ctrl与Caps Lock键交换失效的解决咨询

看起来你遇到的是Ubuntu默认桌面共享(Vino)不继承全局键盘键位交换设置的问题,我给你几个实用的排查和解决思路:

  • 优先尝试用户会话层面的配置
    全局的/etc/default/keyboard设置通常只对本地登录的会话生效,远程RDP连接的会话可能加载的是用户个人的XKB配置。你可以:

    1. 远程连接后,打开系统设置 → 键盘 → 滚动到“附加布局选项” → 找到“Caps Lock键的行为”,选择“交换Ctrl和Caps Lock”,应用后断开重连看看是否生效。
    2. 如果图形化设置不方便,也可以在远程会话里执行命令 setxkbmap -option ctrl:swapcaps,这个命令会立即生效。为了让每次远程登录都自动执行,你可以创建一个启动脚本:
      • 在~/.config/autostart/目录下新建文件swapcaps.desktop,内容如下:
        [Desktop Entry]
        Type=Application
        Exec=setxkbmap -option ctrl:swapcaps
        Hidden=false
        NoDisplay=false
        X-GNOME-Autostart-enabled=true
        Name=Swap Ctrl and Caps Lock
        Comment=Swap control and caps lock keys for remote session
        
      • 保存后,下次远程登录就会自动加载这个键位交换设置了。
  • 检查Vino桌面共享的配置
    默认的Vino服务没有单独的全局键盘配置文件,但你可以用dconf-editor查看它的相关设置,确认是否有干扰键位的选项:

    1. 先安装dconf-editor:sudo apt install dconf-editor
    2. 打开后导航到org.gnome.Vino,检查有没有和键盘布局、输入相关的配置项,如果发现有强制指定键盘布局的设置,尝试调整为默认或者和本地一致的选项。
  • 备用:排查xrdp的可能性
    如果你不是用系统自带的Desktop Sharing,而是装了xrdp,那xrdp有自己的键盘配置文件/etc/xrdp/xrdp_keyboard.ini,你需要在这个文件里添加对应的键位映射规则。不过看你的描述,应该是用的默认Vino,这条可以作为特殊场景的备用排查方向。

另外补充一点:虽然你的Windows本地已经交换了Ctrl和Caps,但RDP客户端一般是把键盘事件原封不动发送给Ubuntu端,所以最终还是需要Ubuntu的远程会话层面应用交换设置才行。

备注:内容来源于stack exchange,提问作者tim11g

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 11:43:13