麒麟OS怎么设置开机启动脚本的优先级

胖杰同学_8068

胖杰同学_8068

2026-07-09

682人浏览

原创

麒麟os中需按场景选择启动依赖控制方法:systemd用户服务适用于严格时序的后台脚本,x-gnome-autostart-phase用于gui程序分阶段启动,rc.local加sleep仅作粗粒度延时兼容方案。

麒麟os怎么设置开机启动脚本的优先级

您已在麒麟OS中配置了开机自启动脚本,但发现它总在网卡初始化完成前就执行,导致依赖网络的服务连接失败;或脚本A必须等脚本B写完配置文件后才能读取——此时单纯添加自启并不够,需明确控制执行先后顺序与依赖关系。

通过systemd用户服务设置启动依赖

该方法适用于需要严格时序控制的后台脚本,比如监控脚本必须等数据库服务就绪后再拉起,或日志清理脚本需在系统日志服务启动后运行。

第一步:创建服务单元文件,路径必须为~/.config/systemd/user/your-script.service,例如:
mkdir -p ~/.config/systemd/user && pluma ~/.config/systemd/user/db-check.service

第二步:填入以下内容(关键字段不可省略):
[Unit]
Description=数据库连通性检查脚本
After=postgresql.service
Wants=postgresql.service

[Service]
Type=oneshot
ExecStart=/bin/bash /home/kylin/scripts/db-check.sh
RemainAfterExit=yes

[Install]
WantedBy=default.target

第三步:启用linger确保用户级systemd在登录前已运行:
loginctl enable-linger $USER

第四步:重载并启用服务:
systemctl --user daemon-reload && systemctl --user enable --now db-check.service

注意:After=仅声明启动顺序,不保证目标服务已“完全就绪”;若需等待服务进入active状态,应改用Requires=并配合After=。

用X-GNOME-Autostart-Phase控制GUI程序启动阶段

此方法专用于桌面会话中的图形化脚本,如启动托盘图标、自动挂载网盘、或弹窗提醒类程序。它不控制底层服务依赖,而是按桌面环境初始化阶段分层加载。

Gaga
Gaga

一款AI视频创作工具,主要用于曹越团队开发的AI视频生成工具,适合需要提升相关任务效率的用户。

下载

方法一:复制.desktop文件到用户autostart目录
cp /usr/share/applications/nautilus.desktop ~/.config/autostart/nautilus.desktop

方法二:编辑该文件,在末尾新增一行:
X-GNOME-Autostart-Phase=core

可选phase值有:core(最早,桌面核心组件加载时)、desktop(桌面面板就绪后)、applications(所有基础应用启动完毕后)。设为core时,脚本将在窗口管理器启动前执行,【若脚本依赖X11显示则会失败】。

通过rc.local添加sleep延时实现粗粒度排序

当脚本无systemd服务封装、又必须等某些内核模块或硬件设备就绪时,可用此兼容方式。它不精确,但简单有效,适合临时调试或老旧脚本迁移。

① 编辑rc.local:
sudo pluma /etc/rc.local

② 在exit 0前插入两行:
sleep 5
/bin/bash /home/kylin/scripts/hw-init.sh > /dev/null 2>&1

③ 确保rc.local有执行权限:
sudo chmod +x /etc/rc.local

这一步操作起来很简单,直接把sleep命令加进去就行。但要注意:sleep时间过短可能仍抢在设备就绪前执行,过长则拖慢整个启动流程;【不要对关键系统服务使用此法】。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

麒麟os

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

2026.10.08

0

20

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

120

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

100

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

80

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

80

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

100

15

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

300

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

180

15

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

2026.09.23

140

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习