Chcę uruchomić przy starcie systemu programik evdev-rce wg instrukcji poniżej :
# Required interval in ms for a touch event to be considered a long press
# default = 1000ms
LONG_CLICK_INTERVAL=1000
# Allowed margin of error (in px) for a long press event
# i.e. the finger is considered still if its movement is within this range
# Note: the px here is not physical pixels on the screen. It's the physical
# pixels of the touch devices, which may have a different resolution.
# default = 100px
LONG_CLICK_FUZZ=100
# Uncomment to set a blacklist of devices that `evdev-rce` will not
# listen on for touch events. The names can be retrived by using `xinput`
# or simply by reading the output of `evdev-rce`
# (it will print out the names of all touch devices when starting,
# e.g. "Found touch screen at <some_path>: <device_name>)
TOUCH_DEVICE_BLACKLIST="Synaptics T Pad V 01.31 Touchpad"
# Uncomment to set a whitelist of devices that `evdev-rce` will ONLY
# listen on. This overrides the blacklist - when whitelist is present,
# any device not in this list will be ignored.
#TOUCH_DEVICE_WHITELIST="device1 name|device2 name|..."
```
So you can run the program like
```
LONG_CLICK_INTERVAL=500 LONG_CLICK_FUZZ=50 evdev-rce
W związku z tym ,że program potrzebuje dostępu do /dev/input/event1 system woła o hasło.
Więc przez systemd będzie chyba łatwiej , można by też pewnie zrobić to regułami w udev .
Tak czy siak znalazłem obejście problemu.
systemd odpala zwykły skrypt nie wymagający podawania żadnych zmiennych który zawiera ścieżkę do właściwego skryptu
sudo systemctl status ppm.service
[sudo] hasło użytkownika dell:
● ppm.service - ppm
Loaded: loaded (/etc/systemd/system/ppm.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-01-17 10:52:26 CET; 20min ago
Main PID: 731 (blacklist_touchpad.s)
Tasks: 2 (limit: 4531)
CGroup: /system.slice/ppm.service
├─731 /bin/sh /home/dell/.ppm/blacklist_touchpad.sh
└─741 /home/dell/.ppm/evdev-rce
```