Ubuntu中setxkbmap命令修改键盘布局不生效及特定按键异常问题求助
Ubuntu中setxkbmap命令修改键盘布局不生效及特定按键异常问题求助
你好呀,针对你遇到的这两个问题,咱们一步步来解决:
一、解决setxkbmap设置重启后失效的问题
setxkbmap命令本身只是临时生效的,系统重启后就会回到默认配置,所以得做永久设置才行,给你两种实用方法:
方法1:通过图形界面操作(适合桌面版Ubuntu)
- 打开系统设置(Settings),找到「键盘」(Keyboard)选项
- 切换到「输入源」(Input Sources)标签页,点击右下角的「+」号
- 在搜索框里输入「Portuguese (Brazil)」或者直接搜「巴西」,找到带ABNT2标识的布局选项并添加
- 把刚添加的巴西ABNT2布局拖到列表最顶部,设为默认输入源
- 重启系统后,布局就会自动生效了
方法2:命令行配置(适合偏好终端操作的用户)
- 打开终端,编辑系统键盘配置文件:
sudo nano /etc/default/keyboard - 修改文件内的参数,确保和以下内容一致:
XKBMODEL="abnt2" XKBLAYOUT="br" XKBVARIANT="abnt2" XKBOPTIONS="" - 按
Ctrl+O保存文件,Ctrl+X退出编辑器 - 执行命令让配置生效:
sudo dpkg-reconfigure keyboard-configuration - 重启系统后,键盘布局就会永久保持巴西ABNT2格式了
二、解决问号/斜杠按键无响应的问题
这个问题大概率是按键映射未正确加载,咱们按以下步骤排查修复:
- 先完成上面的永久布局设置,重启后再测试该按键,如果还是异常,继续下一步
- 打开终端,运行
xev命令,弹出小窗口后,将鼠标移至窗口内 - 点击那个有问题的按键,查看终端输出的
keycode和keysym字段,正常情况下应对应slash(斜杠)和question(问号) - 如果映射错误,假设按键的keycode是53(以你的实际xev输出为准),运行以下命令临时调整:
此时再测试按键,应该就能正常输入了xmodmap -e "keycode 53 = slash question" - 要让该映射永久生效,将上述命令添加到
~/.xprofile文件中:
重启系统后,配置会自动加载echo 'xmodmap -e "keycode 53 = slash question"' >> ~/.xprofile
如果按以上步骤操作后仍未解决,也可以检查下键盘硬件是否存在故障,但你提到任何语言下该按键都无效,软件层面的问题可能性更大,先试试上面的方案~
备注:内容来源于stack exchange,提问作者Elias Prado




