Ubuntu 24.04.1 LTS下设置开机自动以root权限启动re-Link程序并免密码验证的问题
Ubuntu 24.04.1 LTS下设置开机自动以root权限启动re-Link程序并免密码验证的问题
嘿,我太懂你现在的困扰了——想让re-Link开机自动以root权限启动,还不想每次输密码,试了各种方法要么不管用,要么直接启动失败,连rc.local都找不到对吧?咱们一步步来把这个问题捋顺解决掉。
首先,先搞准最关键的一个信息:你得确认re-Link的真实安装路径,别想当然。打开终端跑下面这个命令,输出的就是它的准确路径:
which re-Link
很多时候sudo免密码配置无效,全都是因为路径写错了,这步可不能偷懒。
接下来是配置sudo免密码的正确操作,一定要用visudo工具,绝对不能直接编辑sudoers相关文件,不然语法错了会直接搞崩你的sudo权限,到时候哭都来不及:
- 终端输入这条命令,专门编辑sudoers.d目录下的配置文件(Ubuntu官方推荐这么做,比改主sudoers文件安全):
sudo visudo -f /etc/sudoers.d/re-link-nopasswd
- 在打开的编辑界面里,写入下面内容(把
your_username换成你自己的登录用户名,比如你平时开机用的名字,只给你自己授权免密码,比给所有用户开权限安全多了):
your_username ALL=(root) NOPASSWD: /usr/bin/re-Link
- 按
Ctrl+O回车保存,再按Ctrl+X退出就行,visudo会自动帮你检查语法,有错误会直接提示,这时候一定要修正,别硬退。
然后给这个配置文件设置正确的权限,不然sudo会直接忽略它:
sudo chmod 0440 /etc/sudoers.d/re-link-nopasswd
现在先在终端手动测试免密码是否生效:直接跑sudo /usr/bin/re-Link,如果不用输密码就能启动,说明sudo的配置没问题了。
接下来搞定开机自动启动:
- 打开系统的「开机启动应用」(Startup Applications),点「添加」
- 名称随便填,比如「re-Link(Root权限)」,命令栏填
sudo /usr/bin/re-Link,注释可以写「开机自动启动root权限的re-Link」 - 保存后重启测试,如果还是启动不了,大概率是开机时GUI环境变量没跟上,把命令改成这个试试:
bash -c "DISPLAY=:0 sudo /usr/bin/re-Link"
要是还不行,就用桌面启动文件的方式更稳妥:
- 终端输入创建文件的命令:
nano ~/.config/autostart/re-link-root.desktop
- 粘贴下面的内容(注意把
Exec行里的路径换成你之前用which查到的真实路径):
[Desktop Entry] Type=Application Name=re-Link (Root) Exec=sudo /usr/bin/re-Link Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true Comment=Start re-Link with root privileges on boot
- 按
Ctrl+O回车保存,Ctrl+X退出,再重启测试就好。
要是还是踩坑,你可以检查这几个点:
- 有没有把re-Link的路径写错?再用
which确认一次 - sudoers配置里的用户名、路径有没有打错字或者多了空格?
- 是不是没通过
visudo编辑配置文件?直接编辑会跳过语法检查,很容易出问题
备注:内容来源于stack exchange,提问作者Morten Telling Nielsen
相关产品推荐
相关产品推荐

