游乐游手机版
首页/系统平台/文章详情

麒麟系统开机自启动脚本设置方法详解

时间:2026-05-25 12:00
麒麟系统设置脚本开机自启的五种方法包括:图形界面添加 desktop项、部署 desktop至用户autostart目录、配置systemd用户级或系统级服务,以及通过rc local兼容方式。这些方法分别适用于图形界面启动、用户登录后执行、后台守护进程及系统早期启动等场景。操作时需注意脚本路径、执行权限与启动时机,以确保自启成功。
麒麟系统脚本开机自启有五种方法:一、图形界面添加.desktop启动项;二、部署.desktop文件至~/.config/autostart;三、配置systemd用户级服务;四、配置systemd系统级服务;五、通过rc.local兼容方式。

麒麟操作系统怎么设置开机自启动脚本 麒麟OS高级技巧

在麒麟操作系统中设置脚本开机自启动时,若脚本未能如期运行,通常源于几个核心原因:启动时机选择不当、执行权限配置不足或启动机制本身不匹配。本文将系统性地介绍五种经过验证的麒麟系统开机自启动方法,涵盖从图形化操作到命令行配置,帮助您根据脚本特性和需求选择最佳方案,彻底解决开机自启失效问题。

一、通过图形界面添加.desktop启动项(适合桌面用户)

此方法操作最为简便,全程通过麒麟系统UKUI等桌面环境的图形化设置完成,无需接触命令行。它适用于用户登录后、桌面会话初始化阶段自动执行。特别适合需要调用图形界面(如弹出窗口)或依赖X11显示环境的脚本程序。

具体操作步骤如下:

1、点击屏幕左下角的“开始菜单”图标,在弹出的菜单中找到并点击“系统设置”。

2、在打开的设置主窗口中,定位并点击进入“系统”配置模块。

3、在系统设置界面,通过左侧或顶部的导航栏,切换到“开机启动”或“自启动程序”管理选项卡。

4、点击界面中的“添加自启动程序”或“+”按钮,系统将弹出程序添加对话框。

5、在对话框中,为您的脚本程序命名(例如“系统监控脚本”)。最关键的是在“命令”或“执行”输入框中,填写脚本的完整绝对路径,标准格式为:/bin/bash /home/用户名/脚本路径/脚本名.sh。务必确保路径准确无误。

6、点击“确定”或“添加”按钮保存。新添加的项目将出现在自启动程序列表中,通常伴有启用/禁用开关,便于后续管理。

二、部署.desktop文件至用户级autostart目录(脚本化部署)

此方法通过直接创建并放置符合XDG标准的.desktop文件到用户专属的自启动目录,实现更灵活、可批量脚本化管理的自启动配置。它仅对当前配置的用户生效,并确保脚本在用户桌面环境完全就绪后执行,有效避免了因环境变量或依赖未加载而导致的执行失败。

配置流程如下:

1、使用文本编辑器创建一个标准的.desktop桌面入口文件,例如命名为my_auto_script.desktop,其内容模板如下:

[Desktop Entry]
Name=自定义开机脚本
Type=Application
Exec=/bin/bash -c “/home/用户名/脚本目录/脚本.sh”
Terminal=false
Hidden=false
StartupNotify=false

2、确保用户级的自启动目录存在。在终端执行命令:mkdir -p ~/.config/autostart。该命令会创建目录(若不存在)。

3、将创建好的.desktop文件复制到上述目录:cp my_auto_script.desktop ~/.config/autostart/

4、关键细节:Exec字段中的命令,强烈建议使用绝对路径,并显式指定Shell解释器(如/bin/bash),以确保脚本内的所有Shell语法和特性(如环境变量、管道、重定向)都能正确解析执行。

5、设置正确的文件权限,通常644即可:chmod 644 ~/.config/autostart/my_auto_script.desktop

三、配置systemd用户级服务(登录前后台守护)

当您的脚本无需图形界面,但需要作为后台守护进程在用户登录前就启动并持续运行(例如执行系统监控、日志处理或定时任务),配置systemd用户级服务是最专业、功能最强大的选择。它支持进程守护、失败自动重启、依赖关系声明和精细的状态管理。

详细配置步骤:

1、创建用户级systemd服务单元文件。执行命令:mkdir -p ~/.config/systemd/user && nano ~/.config/systemd/user/my-script.service

2、在编辑器中,输入以下服务配置内容(请根据实际情况替换脚本路径和描述):

[Unit]
Description=用户级监控脚本服务
After=graphical-session.target

[Service]
Type=oneshot
ExecStart=/bin/bash /home/用户名/脚本路径/脚本.sh
RemainAfterExit=yes
User=用户名

[Install]
WantedBy=default.target

3、启用用户linger功能,确保即使用户未登录,其用户级systemd实例也能运行:loginctl enable-linger 用户名

4、重新加载systemd用户管理器配置,并启用、立即启动该服务:systemctl --user daemon-reload && systemctl --user enable --now my-script.service

四、配置systemd系统级服务(系统早期启动)

对于需要在系统启动早期阶段运行、不依赖于任何用户登录会话的系统级脚本(如硬件初始化、内核模块加载、安全基线检查或网络审计),必须使用systemd系统级服务。该服务由root权限管理,拥有最高的系统控制权,可在多用户目标(multi-user.target)等早期阶段启动。

系统级服务配置方法:

1、以root权限创建系统服务单元文件:sudo nano /etc/systemd/system/system-early-script.service

2、编辑文件内容,示例如下(假设脚本需在网络服务就绪后执行):

[Unit]
Description=系统早期启动脚本
After=network.target
Wants=network.target

[Service]
Type=oneshot
ExecStart=/bin/bash /usr/local/bin/early-boot-script.sh
RemainAfterExit=yes
User=root
Group=root

[Install]
WantedBy=multi-user.target

3、设置正确的文件权限:sudo chmod 644 /etc/systemd/system/system-early-script.service

4、重新加载systemd系统管理器并启用服务:sudo systemctl daemon-reload && sudo systemctl enable --now system-early-script.service

五、通过rc.local兼容方式启动遗留脚本(传统方法)

为了兼容那些为传统SysVinit系统编写的遗留脚本,或作为临时过渡方案,麒麟系统保留了rc.local启动方式。它会在系统基础服务启动完毕、但用户登录之前执行。请注意,此方式执行时的系统环境变量可能不如systemd服务完整,需在脚本中自行处理路径和依赖。

使用rc.local配置开机自启的步骤:

1、首先检查系统是否支持并启用了rc-local服务:sudo systemctl list-unit-files | grep rc-local

2、编辑/etc/rc.d/rc.local文件(或/etc/rc.local,视系统版本而定):sudo nano /etc/rc.d/rc.local

3、在文件末尾、exit 0这一行之前,添加您需要开机执行的命令。强烈建议使用命令的绝对路径,并将标准输出和错误输出重定向到日志文件,便于后期排错。例如:/bin/bash /path/to/legacy_script.sh > /var/log/my-script-startup.log 2>&1 &

4、为rc.local文件添加可执行权限:sudo chmod +x /etc/rc.d/rc.local

5、启用并启动rc-local服务:sudo systemctl enable rc-local && sudo systemctl start rc-local

来源:https://www.php.cn/faq/2408081.html
上一篇麒麟系统安装IntelliJ IDEA插件扩展开发功能 下一篇Linux系统修改默认网关命令与永久生效配置教程
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
微软详解Win11时间点还原 默认每24小时创建恢复点
系统平台 · 2026-06-30

微软详解Win11时间点还原 默认每24小时创建恢复点

微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验
系统平台 · 2026-06-30

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext

Win11六月可选更新KB5095093修复回收站弹窗异常
系统平台 · 2026-06-30

Win11六月可选更新KB5095093修复回收站弹窗异常

微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞
系统平台 · 2026-06-30

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M

微软加速Win11 25H2推送 覆盖所有符合条件家用PC
系统平台 · 2026-06-30

微软加速Win11 25H2推送 覆盖所有符合条件家用PC

近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送