![使用 kvm 切换器切换到另一台计算机后,xsetwacom 的设置丢失。Ubuntu 22.04](https://linux22.com/image/1029035/%E4%BD%BF%E7%94%A8%20kvm%20%E5%88%87%E6%8D%A2%E5%99%A8%E5%88%87%E6%8D%A2%E5%88%B0%E5%8F%A6%E4%B8%80%E5%8F%B0%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%90%8E%EF%BC%8Cxsetwacom%20%E7%9A%84%E8%AE%BE%E7%BD%AE%E4%B8%A2%E5%A4%B1%E3%80%82Ubuntu%2022.04.png)
我有一些在启动时加载的 Wacom 设置,但当我关闭显示器以使用其他输入然后返回时,它们会丢失。我一直在想办法在那时再次触发脚本。如果我能找到某种方法让这些设置永久生效,我会很高兴。谢谢!
xsetwacom --set "Wacom Intuos S 2 Pen stylus" Button 2 "pan"
xsetwacom --set "Wacom Intuos S 2 Pen stylus" "PanScrollThreshold" 30
xsetwacom --set "Wacom Intuos S 2 Pen stylus" Area 0 0 15200 6000
答案1
在尝试了所有解决方案一个半星期后,我终于通过 udev 规则解决了这个问题。我需要设置 DISPLAY 和 XAUTORITY,但最初我使用了错误的设置。出于某种原因,我还需要通过中间脚本调用该脚本。
/etc/udev/rules.d/99-wacom.rules
ACTION=="add" SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="056a", ENV{ID_MODEL_ID}=="033b", RUN+="/usr/local/bin/wacomconfig.sh"
/usr/local/bin/wacomconfig.sh(设置为 chmod +x)
#!/bin/bash
/usr/local/bin/wacom.sh &
/usr/local/bin/wacom.sh(设置为 chmod +x)
#!/bin/bash
export XAUTHORITY=/run/user/501/gdm/Xauthority
export DISPLAY=:1
sleep 1
xsetwacom --set "Wacom Intuos S 2 Pen stylus" Button 2 "pan"
xsetwacom --set "Wacom Intuos S 2 Pen stylus" "PanScrollThreshold" 30
xsetwacom --set "Wacom Intuos S 2 Pen stylus" Area 0 0 15200 6000
我发现我的 DISPLAY 和 XAUTHORITY 正在使用这些:
ps -u $(id -u) -o pid= |
xargs -I{} cat /proc/{}/environ 2>/dev/null |
tr '\0' '\n' |
grep -m1 '^XAUTHORITY='
ps -u $(id -u) -o pid= |
xargs -I{} cat /proc/{}/environ 2>/dev/null |
tr '\0' '\n' |
grep -m1 '^DISPLAY='
并发现我的 ID_VENDOR_ID 和 ID_MODEL_ID 使用
lsusb