Ubuntu 18.10
每次插入鼠标(Razer Deathadder)时,触摸板速度都会显著降低。我可以通过进入触摸板设置来暂时修复此问题,它会显示以下消息:
“活动设置与已保存的设置不匹配。您当前看到的是已保存的设置。”
然后只需按“应用”即可。我该如何修复此问题,或者编写一个脚本,每次插入鼠标时都重新应用设置?
编辑:使用 xinput,我发现了正在更改的属性。最初,accel 设置为:
libinput Accel Speed (292): 0.000000
插上鼠标后设置为:
libinput Accel Speed (292): -0.780000
因此,我可以使用以下方式通过终端设置加速度:
xinput set-prop --type=float 18 "libinput Accel Speed" 0.000000
我查找了如何在插入鼠标时运行脚本。我制定了一条 udev 规则/etc/udev/rules.d/100-reset-touchpad-accel.rules
:
ACTION=="add", ATTRS{idVendor}=="1532", ATTRS{idProduct}=="0037", OWNER="tuna", RUN+="/home/tuna/bin/reset_touchpad_accel.sh"
并编写了一个脚本/home/tuna/bin/reset_touchpad_accel.sh
:
#!/bin/bash
xinput set-prop --type=float 18 "libinput Accel Speed" 0.000000
但它不起作用。
编辑 2:我了解到我可以使用它tail -f /var/log/syslog
进行调试。看来我必须重新启动 udev 才能使更改生效sudo service udev restart
查看系统日志,我发现了一个权限问题,我通过将其添加/usr/bin/sudo -u tuna
到我的 udev 规则中解决了该问题。
ACTION=="add", ATTRS{idVendor}=="1532", ATTRS{idProduct}=="0037", RUN+="/usr/bin/sudo -u tuna /usr/local/bin/reset_touchpad_accel_udev.sh"
但是,它仍然无法运行。系统日志显示
Feb 1 19:11:00 tuna-Latitude-3350 systemd-udevd[21199]: Process '/usr/bin/sudo -u tuna /usr/local/bin/reset_touchpad_accel_udev.sh' failed with exit code 1.
编辑 3:我尝试使用ENV{SYSTEMD_WANTS}+="/etc/systemd/system/reset-touchpad-accel.service"
而不是RUN+=
并创建了一个 .service 文件
[Unit]
Type=oneshot
[Service]
ExecStart=/usr/local/bin/reset_touchpad_accel.sh
这也不起作用。