linux - 唤醒时执行 bash 脚本

标签 linux ubuntu xserver

一段时间以来,我的 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 $1/$2 in
  pre/*)
    echo "Going to $2..."
    # Place your pre suspend commands here, or `exit 0`
    # if no pre suspend action required
    exit 0
    ;;
  post/*)
    echo "Waking up from $2..."

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

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

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

+ case $1/$2 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 被列入黑名单。 从黑名单中删除此模块后,我的触摸板在待机模式下现在可以正常工作。

关于linux - 唤醒时执行 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58507531/

相关文章:

linux - 使用自定义名称创建 screen session

linux - 如何从 Linux 设备驱动程序访问 USB 总线号?

c - 临时数据存放在哪里(嵌入式C)

json - 如何过滤位于 [ 和 ] 内的零件?

php - Mongo/PHP 包装器错误 - 我如何让包装器工作?

Xvfb - 启动或附加一个窗口管理器到 xvfb

c++ - 我需要在共享内存对象上使用 shm_unlink 吗?

ubuntu - 编译 ffmpeg 和 opencv 时出错

linux - 在 Ubuntu 服务器上运行 QT-GUI 程序

ssh - Docker 在通过 SSH 连接时运行 X 应用程序