Ubuntu 24.04桌面共享(RDP)会话中Ctrl与Caps Lock键交换失效的解决咨询
Ubuntu 24.04桌面共享(RDP)会话中Ctrl与Caps Lock键交换失效的解决咨询
看起来你遇到的是Ubuntu默认桌面共享(Vino)不继承全局键盘键位交换设置的问题,我给你几个实用的排查和解决思路:
优先尝试用户会话层面的配置
全局的/etc/default/keyboard设置通常只对本地登录的会话生效,远程RDP连接的会话可能加载的是用户个人的XKB配置。你可以:- 远程连接后,打开系统设置 → 键盘 → 滚动到“附加布局选项” → 找到“Caps Lock键的行为”,选择“交换Ctrl和Caps Lock”,应用后断开重连看看是否生效。
- 如果图形化设置不方便,也可以在远程会话里执行命令
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查看它的相关设置,确认是否有干扰键位的选项:- 先安装dconf-editor:
sudo apt install dconf-editor - 打开后导航到
org.gnome.Vino,检查有没有和键盘布局、输入相关的配置项,如果发现有强制指定键盘布局的设置,尝试调整为默认或者和本地一致的选项。
- 先安装dconf-editor:
备用:排查xrdp的可能性
如果你不是用系统自带的Desktop Sharing,而是装了xrdp,那xrdp有自己的键盘配置文件/etc/xrdp/xrdp_keyboard.ini,你需要在这个文件里添加对应的键位映射规则。不过看你的描述,应该是用的默认Vino,这条可以作为特殊场景的备用排查方向。
另外补充一点:虽然你的Windows本地已经交换了Ctrl和Caps,但RDP客户端一般是把键盘事件原封不动发送给Ubuntu端,所以最终还是需要Ubuntu的远程会话层面应用交换设置才行。
备注:内容来源于stack exchange,提问作者tim11g
相关产品推荐
相关产品推荐

