![在 ubuntu 启动时运行 sudo 命令而无需交互(无需提供密码)?](https://linux22.com/image/177933/%E5%9C%A8%20ubuntu%20%E5%90%AF%E5%8A%A8%E6%97%B6%E8%BF%90%E8%A1%8C%20sudo%20%E5%91%BD%E4%BB%A4%E8%80%8C%E6%97%A0%E9%9C%80%E4%BA%A4%E4%BA%92%EF%BC%88%E6%97%A0%E9%9C%80%E6%8F%90%E4%BE%9B%E5%AF%86%E7%A0%81%EF%BC%89%EF%BC%9F.png)
每次启动 Ubuntu (20.04) 时,我总是需要启动终端并运行:
echo 2 | sudo tee /sys/module/hid_apple/parameters/fnmode
由于出于某种原因不可能在系统设置中永久配置功能键行为(请参阅 在 Linux 下的 Apple 键盘上,如何在没有 fn 修饰键的情况下使功能键正常工作?)
但是我至少可以将上面的命令添加到每次 Ubuntu 启动时自动执行的初始化脚本中,即使它需要 sudo/root 权限吗?
答案1
您的命令实际上为内核模块设置了一个参数hid_apple
。
如果模块未编译到内核中,您可以只创建一个名为/etc/modprobe.d/hid_apple.conf
以下内容的文本文件:
options hid_apple fnmode=2
这是持久设置模块参数的标准方法。
您可以将文件命名为任何您想要的名称,只要将其放入/etc/modprobe.d/
目录中并且名称带有.conf
后缀即可。
答案2
您可以将以下内容添加到 root 的 cron 中(使用sudo crontab -e
):
@reboot echo 2 > /sys/module/hid_apple/parameters/fnmode
答案3
你可以
启用 rc.localhttps://linuxmedium.com/how-to-enable-etc-rc-local-with-systemd-on-ubuntu-20-04/并将此命令添加到
/etc/rc.local
创建一个 systemd 单元/服务:网上有多个指南如何做到这一点。