唤醒时执行 bash 脚本

Executing bash script on wakeup

一段时间以来,我的 Linux 发行版 (Kubuntu 18.04) 出现了问题。每次我的 linux 从待机模式恢复时,触摸板不再正常工作(无法抓取和拖动文件或其他对象)。

我已经为我的问题找到了解决方案:

modprobe psmouse -r
modprobe psmouse

这段代码确实解决了问题。但是,在此之后,我总是在启动时禁用的右键单击区域再次启用。 我有一个在启动时运行的脚本,它执行以下内容:

synclient RightButtonAreaLeft=0
synclient RightButtonAreaTop=0

我现在想做的是编写一个脚本,只要系统从待机模式唤醒,该脚本就会运行。 我写的脚本是这样的:

#!/bin/bash
exec 1> /home/luc/Schreibtisch/update.log 2>&1
set -x

case / in
  pre/*)
    echo "Going to ..."
    # Place your pre suspend commands here, or `exit 0`
    # if no pre suspend action required
    exit 0
    ;;
  post/*)
    echo "Waking up from ..."

    sh /home/luc/Schreibtisch/test.sh
    sh /home/luc/Schreibtisch/test2.sh
    ;;
esac

其中 test.sh 运行 modprobe 命令,test2.sh 运行 synclient 命令。

进入待机模式并再次醒来后,我收到以下日志:

+ case / in
+ echo 'Waking up from suspend...'
Waking up from suspend...
+ sh /home/luc/Schreibtisch/test.sh
+ sh /home/luc/Schreibtisch/test2.sh
Failed to connect to X Server.
Failed to connect to X Server.

文件的抓取和拖动工作正常,但右键单击仍然可用。

我现在的问题是,是否可以在 X 服务器准备好后执行 synclient 命令?

亲切的问候 百事隆

看来我找到了解决唤醒后触摸板无法正常工作问题的解决方法。

在我的 /etc/modprobe.d/blacklist.conf 中,模块 i2c_i801 被列入黑名单。 从黑名单中删除此模块后,我的触摸板在待机模式后现在可以正常工作。