2026/4/17 4:45:40
网站建设
项目流程
网站建设公司不赚钱,方特网站是谁做的,济南网app,陕西建设网官网证查询给普通用户看的开机启动教程#xff0c;看不懂算我输
你是不是也遇到过这种情况#xff1a;写好了一个小工具、一个监控脚本#xff0c;或者一个自动备份程序#xff0c;每次重启电脑后都得手动点开终端、cd到目录、再敲一遍./start.sh#xff1f;烦不烦#xff1f;累不…给普通用户看的开机启动教程看不懂算我输你是不是也遇到过这种情况写好了一个小工具、一个监控脚本或者一个自动备份程序每次重启电脑后都得手动点开终端、cd到目录、再敲一遍./start.sh烦不烦累不累更糟的是——忘了运行结果该做的事全没干。别急。这篇教程就是为你写的。不是给运维工程师不是给Linux老手而是专门给刚学会用ls和cd、看到sudo会犹豫三秒、复制粘贴都怕少敲一个字母的普通用户准备的。全程不用记命令不用背原理只讲“哪一步点哪里、敲什么、为什么这么敲”连错一步都能立刻发现、马上回退。如果你照着做下来还卡在某个地方那真不是你问题——是我没写清楚。欢迎回来截图问我我帮你一行行看。1. 先搞明白我们到底要做什么开机启动说白了就一件事让电脑一打开就自动帮你把某个脚本跑起来。比如每次开机自动启动你的Python爬虫抓天气、抓新闻自动开启一个本地Web服务比如用Flask搭的个人笔记页自动执行定时备份把桌面文件拷到U盘或NAS自动启动一个硬件检测脚本比如监控树莓派温度注意这不是让你改系统内核也不是让你编译驱动。你只需要写一个简单的.sh文件告诉电脑“开机后请帮我执行这几行命令”。整个过程分三步像煮泡面一样简单写个“菜谱”就是那个.sh脚本把它放进“厨房固定位置”系统认得的地方告诉厨房“每天早上7点准时开火”注册为开机任务下面我们就按这个顺序一步一步来。2. 第一步写一个谁都能看懂的启动脚本别被“脚本”吓到。它就是一个纯文本文件后缀是.sh内容全是中文注释几行命令就像写备忘录。2.1 创建脚本文件用图形界面操作零命令行压力推荐方式最安全打开你的文件管理器就是双击就能打开的“图标”进入主目录通常是/home/你的用户名/比如/home/john右键 → “新建文档” → “空文件”把文件名改成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_COMMANDpython3 # ———————————————————————————————— # 下面这些代码普通用户请不要改动 # 系统会自动读取上面两行然后执行 # ———————————————————————————————— # 切换到脚本所在目录避免路径出错 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 21 # 可选弹个提示仅限有桌面环境时不影响开机 if [ -n $DISPLAY ]; then (sleep 3 notify-send 开机启动成功 已运行$(basename $PROGRAM_PATH)) fi改完后长这样示例PROGRAM_PATH/home/lin/桌面/backup.sh RUN_COMMANDbash改完保存关掉编辑器。现在你已经有了一个“开机菜谱”。3. 第二步把它放进系统认得的“厨房固定位置”Linux系统只信任放在特定文件夹里的启动脚本。我们要做的就是把刚才写的myboot.sh放进/etc/init.d/这个“官方厨房”。注意这一步需要管理员权限也就是sudo但我们会用最稳妥的方式不手敲复杂命令。3.1 图形化操作法推荐给所有人打开文件管理器在地址栏输入/etc/init.d/→ 回车如果提示“权限不足”别慌这是正常现象点击右上角菜单 → “以管理员身份打开” 或 “用root权限打开”不同系统叫法略有不同Ubuntu通常显示为“在终端中以管理员身份打开”这时会弹出一个要求输入密码的窗口 → 输入你登录电脑的密码输的时候不显示字符正常成功进入/etc/init.d/文件夹后把刚才写的myboot.sh文件拖进来右键点击myboot.sh→ “属性” → “权限”选项卡 → 勾选“允许作为程序执行”这一步等同于命令chmod x myboot.sh但点一下就搞定完成脚本已就位。3.2 命令行备用法如果你习惯终端如果上面图形方式打不开或者你想确认是否成功可以打开终端CtrlAltT依次敲# 把脚本复制过去替换 /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 sequencing和Adding system startup for /etc/init.d/myboot.sh ...就代表注册成功。小知识defaults是个“傻瓜模式”它会自动把你的脚本安排在大多数服务之后启动比如网络已经连上了适合95%的普通需求。不用纠结数字、不用记优先级。4.2 验证是否注册成功两招保底方法一查列表sudo ls /etc/rc*.d/ | grep myboot如果看到类似S20myboot.sh的结果说明已加入开机队列SStart20是启动顺序号。方法二手动触发测试不重启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 directory→PROGRAM_PATH路径写错了Permission denied→ 忘了勾选“允许作为程序执行”Command not found→RUN_COMMAND写错了比如该写python3却写了py5.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.sh、myboot2.sh重复本文流程即可。系统会按字母顺序启动它们。7.4 提示“sudo: no tty present”怎么办这是脚本里用了sudo导致的。普通用户启动脚本绝大多数情况根本不需要sudo。请检查你的PROGRAM_PATH是否指向了需要root权限的程序比如监听80端口。如果不是必要请去掉脚本里的所有sudo改用普通用户权限运行。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。