Ubuntu开机自启动服务怎么玩?-满久琦的个人网站

Ubuntu开机自启动服务怎么玩?

3 人参与

要说Ubuntu系统里最让人又爱又恨的功能,开机自启动服务绝对排得上号。不少新手第一次接触这玩意儿,要么是照着教程一顿操作发现服务没起来,要么是设置完才发现把自己锁门外了——就像那个经典的qbittorrent案例,要是没先手动运行一次获取随机密码,等设置了自启动就只能干瞪眼了。

自启动服务的三种打开方式

其实让程序开机自启没那么玄乎,主要有三条路子可走。最正经的是systemd服务,适合正经八百的后台程序;rc.local像是给怀旧派留的后门,往里塞命令就行;而桌面启动项就比较适合图形界面程序,比如天气插件或者翻译软件。

systemd:专业选手的首选

这个方法虽然要写配置文件,但胜在稳定可靠。就像给程序安排了个贴身管家,不仅能控制开机启动,还能随时查看状态、重启服务。有个朋友之前部署网站时图省事用了其他方法,结果服务时不时掉线,换成systemd后终于能睡个安稳觉了。

systemctl enable 服务名  # 开启自启动
systemctl status 服务名  # 查看状态
systemctl disable 服务名 # 关闭自启动

rc.local:懒人专属通道

要是你只是想开机时自动挂个硬盘或者跑个简单脚本,rc.local简直是天赐良方。不用记复杂命令,打开文件把要执行的命令往里一扔就行。不过要注意,这个文件默认没执行权限,得先chmod +x一下,不然就等于白忙活。

桌面启动项:图形党的福利

对于那些必须在图形界面下运行的程序,比如某些笔记软件或者下载工具,把它们丢进~/.config/autostart/文件夹最省心。这相当于Windows里的启动文件夹,简单粗暴但有效。

避坑指南:新手常犯的三种错误

见多了翻车现场,发现大家最容易在三个地方栽跟头:权限问题排第一,很多服务需要特定用户才能正常运行;环境变量排第二,桌面环境下能用的命令,到了启动服务里可能就找不到路了;依赖关系排第三,有些服务必须等网络准备好了才能启动,顺序搞错就全乱套。

有个哥们儿设置完自启动后兴冲冲重启电脑,结果发现服务没起来,查了半天日志才发现是没加After=network.target这一行。这种细节就像炒菜忘放盐,看起来啥都做了,就是差点意思。

玩转Ubuntu自启动其实就一句话:选对方法,注意细节。systemd虽然学习曲线陡了点,但学会了真的香。rc.local适合应急,桌面启动项专治图形程序。下次设置前先想清楚这服务要干嘛,再决定走哪条路,保准比你瞎试强。

参与讨论

3 条评论

延伸阅读