除非我手动运行,否则我的触摸板无法正确识别
rmmod psmouse
modprobe psmouse
每次启动时。肯定有更好的方法吧?
笔记:这个问题似乎相关,但在这种情况下,添加特定设置即可解决问题。在我的例子中,没有额外的参数可以添加。
答案1
添加到/etc/modules
,每行一个模块。
答案2
在 Ubuntu 16.04 之前的版本中,人们可以简单地将这些行添加到文件中/etc/rc.local
,然后启动服务就会获取它。
从那时起,systemd 仅提供启动此文件作为向后兼容性离合器。Unix.SE 问题如何为 SystemD 编写启动脚本?很好地总结了如何实现“在登录之前,在启动过程中只运行一次脚本”。
问题显示了更多选项,但对于只有 1-2 行的简单情况,可以这样写:
/etc/systemd/system
在文件夹中创建一个名为 的文件<name-of-your-service>.service
。
我选择了fix-touchpad.service
。用以下内容填充它。实际的有效载荷在行中
ExecStart
作为参数传递给/bin/sh
:
# /etc/systemd/system/fix-touchpad.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/sh -c "rmmod psmouse && modprobe psmouse"
[Install]
WantedBy=multi-user.target
- 重新启动系统。
- 使用以下命令检查新服务的状态
sudo systemctl status fix-touchpad.service
:
Loaded: loaded (/etc/systemd/system/fix-touchpad.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2021-11-01 10:29:19 CET; 31min ago
Main PID: 654 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 4504)
Memory: 0B
CPU: 0
CGroup: /system.slice/fix-touchpad.service
Nov 01 10:29:19 my-machine systemd[1]: Starting fix-touchpad.service...
Nov 01 10:29:19 my-machine systemd[1]: Finished fix-touchpad.service.