Ubuntu 23.04下USB键盘间歇性失灵及虚拟键盘回车键失效问题求助
Ubuntu 23.04下USB键盘间歇性失灵及虚拟键盘回车键失效问题求助
看起来你在从Ubuntu 22.04一路升级到23.04后,遇到了两个挺闹心的键盘问题——USB键盘解锁桌面后时不时失灵,重启才好;虚拟键盘能用但回车键完全失效,终端操作都成了难题。我来给你分享几个排查和解决的实用方法:
一、解决USB键盘解锁后间歇性失灵的问题
临时修复:重新加载USB驱动模块
如果当下键盘失灵又不想重启,可以试试卸载并重新加载USB HID驱动模块,终端执行(要是现在没法用物理键盘,试试用鼠标打开终端,用虚拟键盘输入命令,或者复制粘贴):sudo modprobe -r usbhid && sudo modprobe usbhid这个操作相当于给USB外设“刷新”一下识别状态,很多时候能快速恢复键盘功能。
禁用USB端口节能优化
Ubuntu默认的USB节能设置可能导致唤醒桌面后设备休眠,你可以通过TLP工具调整:- 先安装TLP(如果没装的话):
sudo apt install tlp - 编辑TLP配置文件:
sudo nano /etc/default/tlp - 找到
USB_AUTOSUSPEND选项,把它的值改成0(关闭USB自动休眠),按Ctrl+O保存,Ctrl+X退出。 - 重启TLP服务生效:
sudo systemctl restart tlp
- 先安装TLP(如果没装的话):
添加udev规则强制识别键盘
可以通过udev规则让系统更稳定地识别你的USB键盘:- 先获取键盘的厂商和产品ID,插着键盘执行:
找到你的USB键盘条目,比如lsusbBus 001 Device 003: ID 1234:5678 XXX Keyboard,这里的1234是idVendor,5678是idProduct。 - 创建udev规则文件:
sudo nano /etc/udev/rules.d/99-usb-keyboard.rules - 写入以下内容(替换成你自己的ID):
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1234", ATTR{idProduct}=="5678", RUN+="/bin/sh -c 'echo 1 > /sys/bus/usb/devices/$kernel/power/control'" - 重载udev规则:
sudo udevadm control --reload-rules && sudo udevadm trigger
- 先获取键盘的厂商和产品ID,插着键盘执行:
二、解决虚拟键盘回车键失效的问题
重置屏幕键盘设置
打开系统设置,进入“无障碍”->“屏幕键盘”,先关闭屏幕键盘再重新打开,或者看看有没有“重置默认设置”的选项,恢复初始配置试试。重置GNOME键盘配置(GNOME桌面适用)
如果是GNOME桌面环境,可能是键盘映射配置出了问题,终端执行:dconf reset -f /org/gnome/desktop/input-sources/执行完后注销再登录,或者重启GNOME桌面:
gnome-shell --replace更换终端模拟器测试
要是只有在默认终端里虚拟键盘回车失效,可以试试安装其他终端工具,比如:sudo apt install konsole打开Konsole后用虚拟键盘试试回车键是否正常,以此判断是终端的问题还是系统虚拟键盘的问题。
如果以上方法都没解决,建议你收集一些日志信息帮助进一步排查:
- 当USB键盘失灵时,执行
dmesg | grep -i usb查看USB相关的错误日志; - 查看系统启动后的键盘相关日志:
journalctl -b | grep -i keyboard。
备注:内容来源于stack exchange,提问作者user1051028




