Linux 鼠标在暂停后冻结

Linux 鼠标在暂停后冻结

今天我终于决定从Windows切换到Ubuntu。我完全安装了 Ubuntu,但是每次我的笔记本进入睡眠模式并唤醒时,我的鼠标都将不再工作。当我重新启动时,它工作正常,直到我让它进入睡眠状态(即使是 10 秒)。

所以我尝试切换到 Mint,但是即使使用 Mint,我也遇到了同样的问题。我一整天都在尝试修复它但没有成功。

笔记本电脑:华硕笔记本电脑

在类似的论坛帖子上,这是修复:

sudo apt-get install --reinstall xserver-xorg-input-all

然而这对我不起作用。

答案1

我可以在运行 Ubuntu 18.04 的 HP ProBook 450 G6 上确认我的触摸板也存在类似问题,暂停后非常迟缓。

对我有用的:创建/lib/systemd/system-sleep/touchpad

#!/bin/sh

case $1 in
  post)
    /sbin/rmmod i2c_hid && /sbin/modprobe i2c_hid 
  ;;
esac

使文件可执行chmod +x /lib/systemd/system-sleep/touchpad 并测试(挂起计算机并再次唤醒)

答案2

这个问题至少可以追溯到几年前。对于许多华硕用户来说,这是一个问题,但这并不完全是华硕设备特有的。另外,它不是特定于 Debian 的——尽管在你的例子中 Ubuntu 和 Mint 都有 Debian 根源。

这是一个棘手的问题,因为似乎每个人的里程都随着每个提议的解决方案而变化(并且它们都有轻微的硬件差异)。有无数线程试图解决它。

Launchpad 上值得注意的错误线程(取决于您的华硕型号):

Kernel.org 上适用的错误线程:

假设您不想修补内核,您可以尝试一些潜在的运行时解决方案。

(注意:您可以使用 打开终端Ctrl+Alt+T

禁用/启用鼠标驱动程序:

您可以使用以下命令删除然后重新插入鼠标驱动程序模块:

sudo modprobe -r psmouse
sudo modprobe psmouse

通过 Xinput 禁用/启用:

使用以下命令查找您的触控板 ID:

xinput --list

一旦您获得了设备 ID(我将12在本示例中调用它),请尝试使用以下命令禁用和启用设备:

xinput --disable 12
xinput --enable 12

(替换12为您的触控板的设备 ID)

选择:

顺便说一句,您可能想尝试休眠而不是挂起。据推测,冬眠时问题并不那么普遍。

答案3

我重新启动触摸板驱动程序的方法与 Tom Hale 的建议类似。我创建了一个名为 touch_restart.sh 的脚本:

#!/bin/bash
$sudo rmmod i2c_hid && $sudo modprobe i2c_hid

然后您始终可以使用以下命令快速执行它: echo "su_pass"|sudo -S sh touch_restart.sh

另外,禁用“打字时禁用触摸板”似乎会增加每次触摸板冻结之间的时间间隔(在我的华硕笔记本电脑上经常冻结)。

答案4

我称这个脚本为mouse-reset.它先删除然后删除与modprobe鼠标相关的模块列表:

#!/bin/bash

modules=(psmouse hid_multitouch elan_i2c)

for mod in "${modules[@]}"; do
    sudo rmmod "$mod" 2> /dev/null
    sudo modprobe -v "$mod" 2> /dev/null
done

相关内容