问题:
我有一台平板电脑。手写笔。我希望每当通过 USB 连接平板电脑时都能进行一些配置。我快到了,我的配置脚本已在 systemctl 中注册为一次性服务,并且该服务在我第一次连接平板电脑时被触发。但是,后续连接时不会触发该服务:换句话说,如果我断开平板电脑并重新连接它,则不会触发触发器。我必须systemctl --user daemon-reload
在触发器再次激活之前执行此操作。我缺少什么?
系统:操作系统:Ubuntu 20.04.1 LTS x86_64 内核:5.4.0-52-lowlatency
这是我的触发器:
文件名:/etc/udev/rules.d/10-wacom.rules
ACTION=="add", SUBSYSTEMS=="usb",
ATTR{idVendor}=="256c",
ATTR{idProduct}=="006d",
MODE="0666",
TAG+="systemd",
ENV{SYSTEMD_USER_WANTS}="tablet-conf.service"
(实际文件中没有换行符,我只是将它们放入以便于阅读)
这是我的服务定义:
文件名:~/.config/systemd/user/tablet-conf.service
[Service]
Type=oneshot
ExecStart=/usr/local/bin/huion-inspiroy-950d-connect.sh
[Install]
WantedBy=xsession.target
这是我的配置脚本:
文件名:~/bin/system/devices/huion-inspiroy-950d-connect.sh
通过符号链接调用/usr/local/bin/huion-inspiroy-950d-connect.sh
#!/bin/bash
touch /home/esm/bin/system/devices/a-connected-waiting
sleep 2
touch /home/esm/bin/system/devices/a-connected-waited
xsetwacom set "HID 256c:006d stylus" MapToOutput HEAD-0 2>> /home/esm/bin/system/devices/a-configured
xsetwacom set "HID 256c:006d stylus" rotate HALF 2>> /home/esm/bin/system/devices/a-configured
(如您所见,我在配置过程中创建了一些空文件并记录一些信息。所有这些当然不是必需的,但当我弄清楚如何让触发器工作时我需要它。我将删除它,一旦我弄清楚如何让整个事情正常运转)
所以问题是...
如何才能实现在每个平板电脑连接上触发触发器,而不仅仅是第一个连接?