飞牛OS应用软件无法开机自启的解决方法

飞牛OS

前言

  • 适用场景:使用USB外接硬盘作为存储空间,开机后 Docker 正常,但应用中心的所有应用(如相册、飞牛同步、frpc等)均未启动,需要手动启动

问题分析

  • 飞牛OS 开机速度很快,系统服务迅速拉起
  • USB 硬盘通电、自检、挂载的速度相对较慢
  • 结果:trim_app_center 服务启动时,尝试读取存储卷(Volume),但硬盘还没准备好。服务因读取超时(TRPC Timeout)报错并强制停止,导致应用没能跟着起动

解决方案

修改服务文件,强制让应用中心服务“睡 30~60 秒”再干活,等硬盘完全就绪

一、修改服务文件

  1. 登录终端 (SSH)
    使用 SSH 工具(如 FinalShell, Putty, Windows终端等)登录你的飞牛OS
  2. 打开配置文件
    在命令行输入以下指令,使用 nano 编辑器直接打开服务文件
nano /etc/systemd/system/trim_app_center.service

注:如果提示文件不存在或为空,请尝试路径 /usr/lib/systemd/system/trim_app_center.service

二、加入延时指令

在编辑器中,向下滚动找到 [Service] 区域,在下方插入一行 ExecStartPre 指令
修改前的代码片段如下:

[Service]
Type=simple
ExecStart=/usr/bin/trim_app_center ...
...

修改后的代码片段如下:

[Service]
TimeoutStartSec=300
ExecStartPre=/bin/sleep 30
Type=simple
ExecStart=/usr/bin/trim_app_center ...

参数详解:

  • TimeoutStartSec:设置超时,否则大于超时,进程会被杀死
  • ExecStartPre:表示在主程序启动 之前 先执行的命令
  • /bin/sleep 30:强制系统等待 30 秒。如果你的硬盘是老式机械盘,启动特别慢,可以改为 60

三、保存并退出 (关键)

  1. 按 Ctrl + O (保存修改)
  2. 看到底部出现文件名提示时,直接按 Enter 回车键 (确认写入)
  3. 按 Ctrl + X (退出编辑器)

四、重载配置并生效

修改完文件后,系统还不知道配置变了,需要手动刷新并重启服务

  1. 重载系统守护进程:
systemctl daemon-reload
  1. 重启应用中心服务:
systemctl restart trim_app_center

注意:输入这条重启命令后,终端会卡住 30~60 秒,这是因为服务正在执行我们刚才设置的 sleep 30,耐心等待光标跳动结束即可

五、验证与完成

输入 reboot 命令重启你的飞牛OS主机

预期效果:系统网络通畅后,应用中心不会立即启动,而是会等待 30 秒左右后,你进入网页端,会发现所有应用都已自动变为绿色的 “已启动” 状态

附:给 USB 存储用户的建议

为了确保存储极度稳定,除了软件设置,硬件上也建议注意:

  1. 独立供电:USB 硬盘盒强烈建议接上 12V 独立电源,不要仅靠主机 USB 口供电,防止高负载掉盘
  2. 避免集线器:硬盘请直接插在主板背后的 USB 接口,不要经过 USB Hub
  3. 关闭休眠:如果硬盘盒支持物理开关或固件关闭休眠,建议关闭

END

评论