news 2026/4/15 14:45:56

给普通用户看的开机启动教程,看不懂算我输

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
给普通用户看的开机启动教程,看不懂算我输

给普通用户看的开机启动教程,看不懂算我输

你是不是也遇到过这种情况:写好了一个小工具、一个监控脚本,或者一个自动备份程序,每次重启电脑后都得手动点开终端、cd到目录、再敲一遍./start.sh?烦不烦?累不累?更糟的是——忘了运行,结果该做的事全没干。

别急。这篇教程就是为你写的。不是给运维工程师,不是给Linux老手,而是专门给刚学会用lscd、看到sudo会犹豫三秒、复制粘贴都怕少敲一个字母的普通用户准备的。全程不用记命令,不用背原理,只讲“哪一步点哪里、敲什么、为什么这么敲”,连错一步都能立刻发现、马上回退。

如果你照着做下来还卡在某个地方,那真不是你问题——是我没写清楚。欢迎回来截图问我,我帮你一行行看。


1. 先搞明白:我们到底要做什么

开机启动,说白了就一件事:让电脑一打开,就自动帮你把某个脚本跑起来

比如:

  • 每次开机自动启动你的Python爬虫(抓天气、抓新闻)
  • 自动开启一个本地Web服务(比如用Flask搭的个人笔记页)
  • 自动执行定时备份(把桌面文件拷到U盘或NAS)
  • 自动启动一个硬件检测脚本(比如监控树莓派温度)

注意:这不是让你改系统内核,也不是让你编译驱动。你只需要写一个简单的.sh文件,告诉电脑:“开机后,请帮我执行这几行命令”。

整个过程分三步,像煮泡面一样简单:

  1. 写个“菜谱”(就是那个.sh脚本)
  2. 把它放进“厨房固定位置”(系统认得的地方)
  3. 告诉厨房“每天早上7点准时开火”(注册为开机任务)

下面我们就按这个顺序,一步一步来。


2. 第一步:写一个谁都能看懂的启动脚本

别被“脚本”吓到。它就是一个纯文本文件,后缀是.sh,内容全是中文注释+几行命令,就像写备忘录。

2.1 创建脚本文件(用图形界面操作,零命令行压力)

推荐方式(最安全):

  1. 打开你的文件管理器(就是双击就能打开的“图标”)
  2. 进入主目录(通常是/home/你的用户名/,比如/home/john
  3. 右键 → “新建文档” → “空文件”
  4. 把文件名改成myboot.sh(注意:必须带.sh后缀)

小提醒:

  • 不要用Word、WPS保存!必须用系统自带的文本编辑器(如Ubuntu的“文本编辑器”,或Windows的记事本)
  • 保存时,编码选UTF-8(无BOM)—— 大多数编辑器默认就是,不用改

2.2 往里面填内容(直接复制,改两处就行)

用文本编辑器打开myboot.sh,把下面整段内容完全复制进去,然后只改两个地方:

#!/bin/bash # ============================================= # 【开机启动脚本】—— 普通用户友好版 # 功能:开机后自动运行你指定的程序 # 作者:你(填你的名字或昵称,可选) # 最后修改:今天日期(比如 2024-06-15) # ============================================= # 👇👇👇【你唯一要改的第1处】👇👇👇 # 请把下面这行里的 "/home/john/myscript.py" 换成你自己的程序路径! # 例如:你的Python脚本在桌面,就写 "/home/john/桌面/myscript.py" # 例如:你的Shell脚本在文档里,就写 "/home/john/文档/start_server.sh" PROGRAM_PATH="/home/john/myscript.py" # 👇👇👇【你唯一要改的第2处】👇👇👇 # 请把下面这行里的 "python3" 换成你实际用的命令 # 如果是Python脚本,一般就是 "python3" 或 "python" # 如果是Shell脚本,就写 "bash" 或直接 "./" # 如果是可执行文件(比如 ./myapp),就写 "./" RUN_COMMAND="python3" # ———————————————————————————————— # 下面这些代码,普通用户请不要改动! # 系统会自动读取上面两行,然后执行 # ———————————————————————————————— # 切换到脚本所在目录(避免路径出错) cd "$(dirname "$PROGRAM_PATH")" || exit 1 # 检查程序是否存在 if [ ! -f "$PROGRAM_PATH" ]; then echo "❌ 错误:找不到程序文件 $PROGRAM_PATH" echo "请检查上面 PROGRAM_PATH 的路径是否写对了!" exit 1 fi # 尝试运行(加 & 让它后台运行,不卡住开机流程) echo " 正在启动:$PROGRAM_PATH" $RUN_COMMAND "$PROGRAM_PATH" > /tmp/myboot.log 2>&1 & # 可选:弹个提示(仅限有桌面环境时,不影响开机) if [ -n "$DISPLAY" ]; then (sleep 3 && notify-send "开机启动成功" "已运行:$(basename "$PROGRAM_PATH")") & fi

改完后长这样(示例):

PROGRAM_PATH="/home/lin/桌面/backup.sh" RUN_COMMAND="bash"

改完保存,关掉编辑器。
现在你已经有了一个“开机菜谱”。


3. 第二步:把它放进系统认得的“厨房固定位置”

Linux系统只信任放在特定文件夹里的启动脚本。我们要做的,就是把刚才写的myboot.sh放进/etc/init.d/这个“官方厨房”。

注意:这一步需要管理员权限(也就是sudo),但我们会用最稳妥的方式,不手敲复杂命令

3.1 图形化操作法(推荐给所有人)

  1. 打开文件管理器
  2. 在地址栏输入:/etc/init.d/→ 回车
    (如果提示“权限不足”,别慌,这是正常现象)
  3. 点击右上角菜单 → “以管理员身份打开” 或 “用root权限打开”
    (不同系统叫法略有不同,Ubuntu通常显示为“在终端中以管理员身份打开”)
  4. 这时会弹出一个要求输入密码的窗口 → 输入你登录电脑的密码(输的时候不显示字符,正常)
  5. 成功进入/etc/init.d/文件夹后,把刚才写的myboot.sh文件拖进来
  6. 右键点击myboot.sh→ “属性” → “权限”选项卡 → 勾选“允许作为程序执行”
    (这一步等同于命令chmod +x myboot.sh,但点一下就搞定)

完成!脚本已就位。

3.2 命令行备用法(如果你习惯终端)

如果上面图形方式打不开,或者你想确认是否成功,可以打开终端(Ctrl+Alt+T),依次敲:

# 把脚本复制过去(替换 /home/你的用户名/ 为你的实际路径) sudo cp /home/你的用户名/myboot.sh /etc/init.d/ # 加上可执行权限 sudo chmod +x /etc/init.d/myboot.sh # 检查是否成功(应该能看到绿色的 myboot.sh) ls -l /etc/init.d/myboot.sh

出现类似-rwxr-xr-x 1 root root ... myboot.sh就说明权限设置成功。


4. 第三步:告诉系统“每天开机自动做这件事”

现在脚本在厨房里了,但系统还不知道它该什么时候开火。我们需要“注册”它。

4.1 用最稳的方法:update-rc.d(亲测可用,优先推荐)

继续在终端里(或新开一个终端窗口),输入:

sudo update-rc.d myboot.sh defaults

看到输出update-rc.d: using dependency based boot sequencingAdding system startup for /etc/init.d/myboot.sh ...就代表注册成功。

小知识:defaults是个“傻瓜模式”,它会自动把你的脚本安排在大多数服务之后启动(比如网络已经连上了),适合95%的普通需求。不用纠结数字、不用记优先级。

4.2 验证是否注册成功(两招保底)

方法一:查列表

sudo ls /etc/rc*.d/ | grep myboot

如果看到类似S20myboot.sh的结果,说明已加入开机队列(S=Start,20是启动顺序号)。

方法二:手动触发测试(不重启!)

sudo /etc/init.d/myboot.sh start

如果看到正在启动:...和日志提示,说明脚本本身能跑通。

至此,全部配置完成。


5. 测试与排错:三分钟定位问题

别急着重启。先用最安全的方式验证:

5.1 快速测试(不重启,不中断当前工作)

在终端里运行:

sudo /etc/init.d/myboot.sh start

观察:

  • 是否打印正在启动:xxx
  • 是否在/tmp/myboot.log里生成日志(用cat /tmp/myboot.log查看)
  • 你的程序是否真的跑起来了(比如网页能打开、进程在运行)

如果失败,看/tmp/myboot.log里的错误信息,90%的问题出在这里:

  • No such file or directoryPROGRAM_PATH路径写错了
  • Permission denied→ 忘了勾选“允许作为程序执行”
  • Command not foundRUN_COMMAND写错了(比如该写python3却写了py

5.2 重启前最后检查清单

检查项正确样子错误例子
脚本路径是否绝对完整/home/lin/文档/myscript.py文档/myscript.py(缺开头)
脚本是否有执行权限ls -l /etc/init.d/myboot.sh显示x显示-rw-r--r--(没x)
是否注册成功sudo ls /etc/rc2.d/ | grep myboot有结果什么也不输出
日志里有没有报错cat /tmp/myboot.log有内容文件为空或不存在

全部打钩,就可以放心重启了。

sudo reboot

重启后,等桌面完全加载完毕(约30秒),去/tmp/myboot.log看一眼,如果有新内容,说明它真的自己跑起来了。


6. 卸载方法:后悔了?3秒撤回

万一你试完发现不需要,或者想换别的脚本,随时可以取消:

sudo update-rc.d -f myboot.sh remove sudo rm /etc/init.d/myboot.sh

两行命令,干净利落,不留痕迹。


7. 常见问题直答(都是真实用户问过的)

7.1 为什么不用rc.local?听说更简单?

rc.local确实看起来简单,但它有个致命问题:Ubuntu 18.04+ 默认禁用它,且启用后容易和桌面环境冲突。很多用户按网上教程改了/etc/rc.local,结果开机卡在黑屏、进不了桌面。我们不拿你的日常使用冒险。

update-rc.d是Ubuntu官方支持的、稳定运行十几年的老方法,兼容性最好,出问题也容易排查。

7.2 我的程序需要图形界面(比如弹窗、打开浏览器),能行吗?

可以,但要加个小判断。我们在脚本里已经预留了这段代码:

if [ -n "$DISPLAY" ]; then (sleep 3 && notify-send "开机启动成功" "...") & fi

你只要把notify-send换成你想要的图形命令就行,比如:

if [ -n "$DISPLAY" ]; then (sleep 5 && firefox https://example.com &) & fi

(注意:加sleep 5是为了让桌面完全就绪后再执行)

7.3 能不能开机启动多个脚本?

当然可以。每个脚本单独命名(myboot1.shmyboot2.sh),重复本文流程即可。系统会按字母顺序启动它们。

7.4 提示“sudo: no tty present”怎么办?

这是脚本里用了sudo导致的。普通用户启动脚本,绝大多数情况根本不需要sudo。请检查你的PROGRAM_PATH是否指向了需要root权限的程序(比如监听80端口)。如果不是必要,请去掉脚本里的所有sudo,改用普通用户权限运行。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/10 6:23:47

MinerU多语言提取能力:中英文混合文档实战评测

MinerU多语言提取能力:中英文混合文档实战评测 PDF文档的结构化信息提取一直是个让人头疼的问题,尤其是当文档里混着中英文、夹杂公式表格、还有多栏排版时。你是不是也经历过:复制粘贴后格式全乱、OCR识别错字连篇、表格变成一坨文字、数学…

作者头像 李华
网站建设 2026/4/4 5:51:59

语音标注效率提升50%:FSMN-VAD辅助标注系统实战

语音标注效率提升50%:FSMN-VAD辅助标注系统实战 你是否经历过这样的场景:手头有3小时的客服通话录音,需要人工听写并标出每一段有效对话的起止时间?光是定位语音片段就要花掉近1小时,更别说后续的文本转录和质检。在语…

作者头像 李华
网站建设 2026/4/12 21:01:28

AI配音新选择:Sambert多情感合成+公网访问部署实战

AI配音新选择:Sambert多情感合成公网访问部署实战 1. 开箱即用的Sambert中文语音合成体验 你有没有遇到过这样的场景:要给一段产品介绍视频配个自然的人声,却卡在了语音合成环节——要么声音干巴巴像机器人,要么选来选去找不到带…

作者头像 李华
网站建设 2026/4/10 7:41:11

JSON配置文件解析:超详细版入门指南

以下是对您提供的博文《JSON配置文件解析:超详细版入门指南——面向嵌入式与功率电子系统的工程实践分析》的 深度润色与重构版本 。本次优化严格遵循您的全部要求: ✅ 彻底去除AI痕迹,语言自然、专业、有“人味”,像一位在电源…

作者头像 李华
网站建设 2026/4/15 13:10:32

Qwen-Image-Layered调优实践,推理速度提升2倍

Qwen-Image-Layered调优实践,推理速度提升2倍 Qwen-Image-Layered 不是又一个“生成即结束”的图像模型,而是一套面向专业图像编辑工作流的底层表示引擎。它不直接输出最终图片,而是将一张输入图像智能解构为多个语义清晰、边界可控的RGBA图…

作者头像 李华
网站建设 2026/4/7 7:12:41

麦橘超然Flux参数详解:提示词、种子、步数调优指南

麦橘超然Flux参数详解:提示词、种子、步数调优指南 1. 什么是麦橘超然Flux控制台 麦橘超然Flux控制台不是另一个需要反复折腾环境的AI绘图工具,而是一个开箱即用的离线图像生成服务。它基于DiffSynth-Studio构建,专为中低显存设备优化&…

作者头像 李华