1

I wrote script for disabling finger touch for my notebook lenovo x230 tablet. I want to run it at startup so i used systemd service for triggering this script at start, but however i am unable to start this script even manually. Any help ?

Script

[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

Here is output of status command for this service

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.
M.Puk
  • 762
  • 9
  • 25

1 Answers1

0

I had the same problem. You have to do this before executing xinput:

export DISPLAY=:0.0

The systemd script will be:

[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
Ali
  • 931
  • 10
  • 22