您的位置:首页 >麒麟操作系统怎么设置开机自启动脚本 麒麟OS高级技巧
发布于2026-05-06 阅读(0)
扫一扫,手机访问
麒麟系统脚本开机自启有五种方法:一、图形界面添加.desktop启动项;二、部署.desktop文件至~/.config/autostart;三、配置systemd用户级服务;四、配置systemd系统级服务;五、通过rc.local兼容方式。

在麒麟操作系统中配置脚本开机自启,如果发现脚本没有按计划跑起来,问题往往出在几个关键环节:启动时机没卡准、执行权限没给够,或者干脆是启动机制选错了。别担心,下面这几种经过验证的方法,总有一款能解决你的问题。
这个方法最适合桌面用户,全程点点鼠标就能搞定,完全不用碰命令行。它依赖UKUI这类桌面环境,在用户登录后初始化会话时,会自动去调用那些.desktop文件。所以,如果你的脚本需要弹出个图形窗口,或者依赖X11环境才能运行,选它就对了。
具体操作起来,也就几步的事儿:
1、首先,点开左下角那个熟悉的“开始菜单”,找到并打开“设置”。
2、在设置窗口里,一眼就能看到“系统”选项,点进去。
3、接下来,在左侧或者顶部的导航栏里,切换到“开机启动”这个选项卡。
4、这时候,一个“添加自启动程序”的按钮就在那儿等着你了,点击它,会弹出一个添加窗口。
5、在窗口里,给程序起个名字,比如“我的监控脚本”。最关键的一步,是在“命令”栏里填上脚本的完整路径,格式像这样:/bin/bash /home/kylin/scripts/monitor.sh。记住,路径一定要写全。
6、最后点击“添加”,大功告成。新加的条目会出现在自启动列表里,旁边还有个开关,可以随时启用或禁用,非常方便。
如果你想绕过图形界面,用更“脚本化”的方式批量部署,这个方法就派上用场了。它直接向符合XDG标准的用户自启动目录里扔一个.desktop文件,仅对当前用户生效。好处是能确保脚本在桌面环境完全准备好之后才执行,避免了环境依赖的问题。
操作流程如下:
1、先创建一个标准的.desktop文件,比如命名为myscript.desktop,内容可以这么写:
[Desktop Entry]
Name=自启监控脚本
Type=Application
Exec=/bin/bash -c "/home/kylin/scripts/monitor.sh"
Terminal=false
Hidden=false
StartupNotify=false
2、接着,确保目标目录存在。执行命令mkdir -p ~/.config/autostart,如果目录不存在就创建它。
3、然后,把刚才创建的.desktop文件复制过去:cp myscript.desktop ~/.config/autostart/。
4、这里有个细节要注意:Exec字段里的命令,最好使用绝对路径,并且显式地调用/bin/bash,这样可以确保脚本里的shell特性(比如变量、重定向)都能正常使用。
5、最后,别忘了给文件设置合适的权限:chmod 644 ~/.config/autostart/myscript.desktop,让它可读就行。
当你的脚本不需要图形界面,但需要像守护进程一样在后台长期运行(比如做日志轮转或者网络探测),并且希望它在用户登录之前就启动,那么systemd的用户级服务就是专业之选。它功能强大,支持进程守护、失败自动重启,还能声明依赖关系。
来看看怎么配置:
1、创建服务单元文件。执行mkdir -p ~/.config/systemd/user && nano ~/.config/systemd/user/monitor-script.service。
2、在打开的文件里,填入以下内容(记得把路径换成你实际的脚本路径):
[Unit]
Description=监控脚本服务
After=graphical-session.target
[Service]
Type=oneshot
ExecStart=/bin/bash /home/kylin/scripts/monitor.sh
RemainAfterExit=yes
User=kylin
[Install]
WantedBy=default.target
3、接下来是关键一步:启用linger。执行loginctl enable-linger kylin,这能确保即使用户没有登录,他的用户级systemd实例也会启动。
4、最后,重新加载配置并启用服务:systemctl --user daemon-reload && systemctl --user enable --now monitor-script.service。
有些脚本比较特殊,比如负责硬件初始化或者安全审计的,它们需要在系统启动的早期阶段就运行起来,而且不依赖任何用户会话。这时候,就该请出systemd的系统级服务了,它由root用户管理,拥有完整的系统控制能力。
配置方法大同小异,但位置不同:
1、创建系统级服务单元文件:sudo nano /etc/systemd/system/early-monitor.service。
2、文件内容可以参考下面这个例子(假设脚本需要在网络就绪后执行):
[Unit]
Description=早期监控脚本
After=network.target
Wants=network.target
[Service]
Type=oneshot
ExecStart=/bin/bash /opt/scripts/early-check.sh
RemainAfterExit=yes
User=root
Group=root
[Install]
WantedBy=multi-user.target
3、设置文件权限:sudo chmod 644 /etc/systemd/system/early-monitor.service。
4、重载systemd并启用服务:sudo systemctl daemon-reload && sudo systemctl enable --now early-monitor.service。
如果你手头有一些年代比较久远的“遗留”脚本,一时半会儿没法改造成systemd服务,或者只是想临时适配一下,那么传统的rc.local方式依然可用。它会在所有基础服务启动之后、用户登录之前执行脚本。不过要提醒一下,这种方式的环境变量可能不完整,需要留意。
使用方法如下:
1、首先,确认rc-local服务在系统里是可用的:sudo systemctl list-unit-files | grep rc-local。
2、然后,编辑rc.local文件:sudo nano /etc/rc.d/rc.local。
3、在文件末尾的exit 0这行之前,添加上你的启动命令。建议使用完整路径,并且最好把输出重定向到日志文件,方便排查问题,例如:/bin/bash /home/kylin/scripts/legacy.sh > /var/log/legacy-startup.log 2>&1 &。
4、别忘了给这个文件加上可执行权限:sudo chmod +x /etc/rc.d/rc.local。
5、最后,启用并启动rc-local服务:sudo systemctl enable rc-local && sudo systemctl start rc-local。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9