基于 GUI 的鼠标加速控制不足以驯服我的鼠标,因此我通过运行以下命令来纠正此问题:
xinput set-prop 10 "Device Accel Constant Deceleration" 2.9
从终端手动运行此脚本时(每次)都会产生预期的效果。但是我还没有找到在每次登录时运行它的方法。尝试通过 rc.local 执行它或使用系统设置中的脚本启动选项都无济于事。
您有什么建议我还可以尝试吗?我应该直接修改 X11 配置文件吗?与此主题相关的几篇帖子建议不要这样做。
答案1
一种方法是使用带有reboot
指令的 cron 作业,该作业将在每次系统启动(和重启)时运行。
要做到这一点:
- 在 root 的 crontab 中输入
sudo crontab -e
cron 任务 - 在新行中输入
@reboot xinput set-prop 10 "Device Accel Constant Deceleration" 2.9 2>&1 >> /var/log/my_xinput.log
如果作业没有运行,您可能需要将完整路径指向 xinput 命令。
通过说出命令的完整路径(xinput
),我的意思是,cron 需要知道在哪里找到需要运行的可执行脚本。这可以通过以下方式完成:
- 将 cron 指向需要执行的完整路径,例如我有一个位于 的脚本
~/bin/myscript.sh
;为了确保 cron 知道在哪里找到我的脚本,我必须输入它的完整路径到 cronjob,即/home/username/bin/myscript.sh
。 - 或者通过在 crontab 文件中设置环境变量并前我的 cronjob,例如:
SHELL=/bin/sh
指定要使用的 shell,
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/home/username/bin
注意最后一项,等等
对于您的问题,请尝试:
/usr/bin/xinput set-prop 10 "Device Accel Constant Deceleration" 2.9
最后,您可能需要查看有关 Cron 的参考资料:
- Cron如何操作(Ubuntu 社区维基)
- 类似情况
- StackOverflow 答案
答案2
没有任何运气定时任务我也能够让脚本在每次登录时启动。但是,这是 KDE 特定的解决方案,因此我不确定它是否适用于 AskUbuntu。
无论如何,这是我的解决方案:
修复鼠标加速.sh
#!/bin/bash
/usr/bin/xinput set-prop 10 "Device Accel Constant Deceleration" 2.9
确保文件是可执行的:
chmod 755 fix_mouse_accel.sh
然后转到系统设置>启动和关闭。 点击添加脚本并指向您的脚本。除非您想在某处保留本地副本,否则请取消选中符号链接框;就我个人而言,我更喜欢让文件“消失”到 KDE 配置文件夹中,因为我不会再碰它了。