查看鼠标的usb设备
$ lsusbBus 003 Device 002: ID 8087:8000 Intel Corp. Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hubBus 001 Device 003: ID 17ef:6050 Lenovo Bus 001 Device 002: ID 09da:054f A4Tech Co., Ltd. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
在/sys/bus/usb/devices/中找到对应的设备,如上面的
Bus 001 Device 003: ID 17ef:6050 Lenovo
是我的usb鼠标 总线1上,是设备3,在该文件夹中,查看目录
$ ls /sys/bus/usb/devices/1-0:1.0 1-1:1.0 1-32-0:1.0 3-1usb1 usb31-11-1:1.1 1-3:1.0 3-0:1.0 3-1:1.0 usb2
可以看到有3个usb总线,执行下面命令确认一下,是该设备
cat /sys/bus/usb/devices/usb1/1-3/idVendor
17ef
和上面的设备ID能对应上。
$ cat /sys/bus/usb/devices/usb1/1-3/power/autosuspend2
当前状态是自动挂起,执行下面命令改为禁止自动挂起。
$ sudo echo '-1' > /sys/bus/usb/devices/usb1/1-3/power/autosuspend
以上只能临时解决问题,要永久解决问题,可以把上面一句命令加到系统启动脚本里。
以下是自己写的一段自动化脚本,加到系统启动脚本里就可以了,其中第一行的Lenovo是lsusb命令看到的鼠标的名称。
usbl=`lsusb | sed -n '/Lenovo/p'`busid=`echo $usbl | cut -d " " -f2`deviceid=`echo $usbl | cut -d " " -f6`busid=`echo $busid | cut -b 3`deviceid=`echo $deviceid | cut -d ":" -f1`echo $deviceidfor((i=0;i<10;i++))doif [ -f "/sys/bus/usb/devices/$busid-$i/idVendor" ]; thenidvendor=`cat /sys/bus/usb/devices/$busid-$i/idVendor`echo "idvendor: $idvendor"if [ "$idvendor"="$deviceid" ];thenecho "will change it:$idvendor i is:$i"sudo echo -1 > /sys/bus/usb/devices/$busid-$i/power/autosuspendfifidone
如果觉得《解决ubuntu鼠标自动休眠引起鼠标失灵的问题》对你有帮助,请点赞、收藏,并留下你的观点哦!