在 Ubuntu 23.04 上禁用戴尔 XT3 触摸屏

在 Ubuntu 23.04 上禁用戴尔 XT3 触摸屏

笔记本电脑品牌和型号

  • 戴尔 Latitude XT3
  • 内存:4 GB
  • 处理器:Intel® Core™ i5-2520M CPU @ 2.50GHz × 4
  • 显卡:Mesa Intel® HD Graphics 3000 (SNB GT2)

问题

  • 触摸屏出现故障,随意点击,并且无法控制鼠标光标。

  • 因此,有时我无法登录,因为我无法在登录时在密码框中输入密码。

  • 登录后,我通常使用以下命令禁用笔记本电脑上的故障触摸屏

    xinput set-prop "N-Trig 触摸屏" "设备已启用" 0 xinput set-prop "N-Trig 多点触控" "设备已启用" 0 xinput set-prop "N-Trig 触控笔" "设备已启用" 0 xinput set-prop "N-Trig 笔橡皮擦" "设备已启用" 0

我创建了一个 .sh 脚本文件,用于在启动时执行所有这些命令。该文件的内容是

#!/bin/bash

xinput set-prop "N-Trig Touchscreen" "Device Enabled" 0
xinput set-prop "N-Trig MultiTouch" "Device Enabled" 0
xinput set-prop "N-Trig Pen stylus" "Device Enabled" 0
xinput set-prop "N-Trig Pen eraser" "Device Enabled" 0
  • 当我将此脚本添加到启动应用程序时,它仅在登录后运行。
  • 我希望脚本在登录屏幕上禁用触摸屏。在启动过程中。

因此我创建了一个包含以下内容的 .service 文件

[Unit]
Description=Disable touchscreen on startup
After=lightdm.service

[Service]
Type=oneshot
ExecStartPre=/bin/sleep 6
ExecStart=/usr/local/bin/disable-touchscreen.sh

[Install]
WantedBy=multi-user.target

当我使用 /usr/local/bin/disable-touchscreen.sh 手动运行脚本时,它可以正常工作。但是当我检查 .service 文件的状态时,它显示一条错误消息,提示“无法连接到 X 服务器”

有人能帮我排除故障吗?为什么当服务调用脚本时,它无法连接到 X 服务器。谢谢。

答案1

xinput命令配置 X 服务器的键盘视图。在登录并启动 X 服务器(或 Wayland)之前运行该命令是没有意义的。

可以登录到您的 GUI,打开终端并echo "$DISPLAY"。尝试将此定义 ( export DISPLAY=...) 复制到 /usr/local/bin/disable-touchscreen.sh或包装器脚本。

相关内容