1

我为我的笔记本联想 x230 平板电脑编写了禁用手指触摸的脚本。我想在启动时运行它,所以我使用 systemd 服务在启动时触发这个脚本,但是我什至无法手动启动这个脚本。有什么帮助吗?

脚本

[Unit]
Description=Turn-off finger touch

[Service]
Type=oneshot
ExecStart=/bin/sh -c "xinput set-prop 'Wacom ISDv4 E6 Finger touch' 'Device Enabled' 0"

[Install]
WantedBy=multi-user.target

这是此服务的状态命令的输出

systemctl status finger-touch-off.service
● finger-touch-off.service - Turn-off finger touch
Loaded: loaded (/etc/systemd/system/finger-touch-off.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Ut 2016-02-23 21:03:46 CET; 6s ago
Process: 2992 ExecStart=/bin/sh -c xinput set-prop 'Wacom ISDv4 E6 Finger touch' 'Device Enabled' 0 (code=exited, status=1/FAILURE)
Main PID: 2992 (code=exited, status=1/FAILURE)

feb 23 21:03:46 xxx-thinktablet systemd[1]: Starting Turn-off finger touch...
feb 23 21:03:46 xxx-thinktablet sh[2992]: Unable to connect to X server
feb 23 21:03:46 xxx-thinktablet systemd[1]: finger-touch-off.service: main process exited, code=exited, status=1/FAILURE
feb 23 21:03:46 xxx-thinktablet systemd[1]: Failed to start Turn-off finger touch.
feb 23 21:03:46 xxx-thinktablet systemd[1]: Unit finger-touch-off.service entered failed state.
feb 23 21:03:46 xxx-thinktablet systemd[1]: finger-touch-off.service failed.
4

1 回答 1

0

我有同样的问题。您必须在执行 xinput 之前执行此操作:

export DISPLAY=:0.0

systemd 脚本将是:

[Unit]
Description=Turn-off finger touch

[Service]
Type=oneshot
ExecStart=/bin/sh -c "export DISPLAY=:0.0 && xinput set-prop 'Wacom ISDv4 E6 Finger touch' 'Device Enabled' 0"

[Install]
WantedBy=multi-user.target
于 2016-08-29T10:02:48.387 回答