我在 ASUS TP200SA(一款二合一笔记本电脑)上使用 Ubuntu 16.04 LTS。我最近注意到一个关于触摸屏的错误,每当我将系统置于睡眠状态并唤醒它时,触摸屏都不起作用。由于我对 Linux 还很陌生,我只能通过输入以下内容来解决这个问题...
xinput disable (my touchscreen)
xinput enable (my touchscreen)
...将这些内容复制到终端。一段时间后,它变得非常累人,我正在寻找一种方法来自动执行每份简历中的这一过程。我搜索了网络并找到了一些教程,但我没有得到任何结果,因为我在 Linux 方面的经验非常少。我希望有人能以一种非常简单的方式解释如何做到这一点。
谢谢你!
答案1
我有同样的笔记本电脑,我刚刚用这种方法修好了它。
首先,我创建了一个脚本
sudo nano /usr/local/bin/reload_touchscreen.sh
使用此代码:
#!/bin/bash
export DISPLAY=:0.0
export XAUTHORITY=/home/username/.Xauthority
sleep 5s
xinput disable "SIS0457:00 0457:1136"
xinput enable "SIS0457:00 0457:1136"
您需要修改“/home/username/.Xauthority”以匹配您自己的计算机用户名。我还使用“xinput list”找到了我的触摸屏的名称。也更新它,或者使用数字 id。我暂停了 5 秒钟,这样我就有时间重新登录桌面,以防万一。确保使此文件可执行:
chmod +x /usr/local/bin/reload_touchscreen.sh
然后创建一个 systemd 服务,如下所示:
sudo nano /etc/systemd/system/reload_touchscreen.service
包含此内容:
[Unit]
Description=Reload touchscreen
After=suspend.target
#After=hibernate.target
#After=hybrid-sleep.target
[Service]
ExecStart=/usr/local/bin/reload_touchscreen.sh
[Install]
WantedBy=suspend.target
#WantedBy=hibernate.target
#WantedBy=hybrid-sleep.target
不确定是否需要,但我也使服务文件可执行。
然后使用以下命令启用该服务:
systemctl enable reload_touchscreen.service
希望它对你有用!PS:我已经在笔记本电脑上安装了 4.10 主线内核,现在亮度键也能正常工作了。我认为 Ubuntu 17.04 在这台笔记本电脑上运行良好。