Ubuntu修改gsettings后Enter键失效,求助恢复默认设置
问题描述
尝试为zsh设置Enter与Ctrl+Enter的不同按键绑定过程中,通过gsettings将<Enter>绑定为启动nautilus,注销重登后Enter键完全失效(仅登录界面可用)。执行gsettings reset org.gnome.settings-daemon.plugins.media-keys custom-keybindings、gsettings reset-recursively org.gnome.settings-daemon.plugins.media-keys及sudo dpkg-reconfigure keyboard-configuration均无法恢复。当前执行showkey -a后,Enter、Ctrl+Enter、Alt+Enter的输出异常(仅Enter输出^M,其余输出包含ESC序列),期望恢复Enter键默认绑定为^M。
解决方案
1. 彻底清理GNOME自定义按键绑定
先确认并清除残留的自定义绑定条目:
- 查看当前自定义按键绑定列表:
gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings - 如果输出仍包含
/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/,将其设置为空数组:gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "[]" - 递归重置该自定义绑定的所有配置:
gsettings reset-recursively org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/
2. 重启GNOME设置守护进程
执行命令重启GNOME设置服务,使配置生效:
systemctl restart gnome-settings-daemon.service
若上述命令无效,可尝试重启GNOME Shell(适用于GNOME桌面环境):
gnome-shell --replace
3. 恢复zsh的Enter键默认绑定
检查并恢复zsh中Enter的默认行为:
- 在当前zsh会话中临时恢复:
bindkey '^M' accept-line - 永久生效,将上述命令添加到
~/.zshrc文件末尾,保存后执行:source ~/.zshrc
4. 重置XKB键盘布局设置
若仍存在键位异常,重置XKB配置:
setxkbmap -layout <你的键盘布局> # 替换为实际布局,例如us、cn gsettings reset org.gnome.desktop.input-sources xkb-options
5. 可视化清理残留配置(可选)
安装dconf-editor工具,通过界面检查并删除残留设置:
- 安装工具:
sudo apt install dconf-editor - 打开后导航到
/org/gnome/settings-daemon/plugins/media-keys/,确保custom-keybindings为空数组,且custom0相关条目已被删除。
6. 最终验证
执行showkey -a,依次按下Enter、Ctrl+Enter、Alt+Enter,确认三者均输出^M,且Enter键在系统及终端中恢复正常功能。
内容的提问来源于stack exchange,提问作者zeionara
相关产品推荐
相关产品推荐

