开机自启与作为服务运行

一台远程机器只有在你需要时它的代理正在运行,才算有用——而这通常意味着:停电之后、更新之后,或者你 不在场的那次重启之后。每个平台的解法都不一样。

有三个词经常被混用,所以先说清楚:

  • 已安装 —— 文件在磁盘上。
  • 已启用 —— 下一次会自己启动。
  • 正在运行 —— 此刻正在提供文件。

代理可以既已安装又已启用,却并没有在运行。这正是「为什么我的设备离线」最常见的答案。

Windows

安装程序提供登录时启动 Filemote,默认不勾选。勾选它会为你的 Windows 用户添加一条启动项,在 登录时启动 Filemote 应用;如果应用被设置为启动代理,代理随后就会自行启动。

需要知道的后果:

  • 它是按用户的。只要没有人登录,就没有任何人的代理在运行。
  • 一台重启后停在登录界面的机器,在有人登录之前都是离线的。
  • 便携版和 ClickOnce 版根本不会添加启动项。

如果你需要一台无人登录也能提供文件的 Windows 机器,诚实的回答是:Windows 版并不是为此设计的——请改 用 Linux 主机,或者让机器保持登录状态并锁屏。

Linux —— systemd 单元

安装脚本会创建 filemote-agent 单元,并且只启用、不启动它。这个组合是有意的:启用让它熬过 重启,而保持停止则让全新安装不会以半配置状态跑起来。

sudo systemctl start filemote-agent      # 立即启动
sudo systemctl status filemote-agent     # 是否在运行
sudo systemctl stop filemote-agent       # 停止
sudo systemctl disable filemote-agent    # 让它重启后不再自动起来
sudo systemctl enable filemote-agent     # 撤销上一条

该单元以你的用户身份运行而非 root,失败五秒后重启,内存上限 8 GB、CPU 上限 80%,日志写入 journald。

用 --no-autostart 安装会完全跳过这个单元;那时由你自己运行 FilemoteAgent,或者自己写一个单元。

macOS —— launchd 代理

安装脚本会写入 ~/Library/LaunchAgents/com.filemote.agent.plist 并加载它,于是代理在每次登录时 启动,崩溃后也会自行重启。

launchctl start com.filemote.agent
launchctl stop  com.filemote.agent
launchctl list | grep com.filemote.agent    # 是否已加载

与 Windows 一样,这也是按登录的:停在登录窗口的 Mac 什么都不会提供。--no-autostart 会跳过 plist,那么这两条命令都不适用。

验证它确实能熬过重启

不要相信设置——实测一次:

  1. 重启机器。
  2. 在 Windows 和 macOS 上登录。
  3. 到网站上查看设备列表。

回来了就完事。没回来,就按 设备显示为离线逐条排查——它的第一条就能抓住 大多数情况。

之后如何关闭自启

  • Windows —— 重新运行安装程序取消勾选,或者删除你用户下的那条启动项。
  • Linux —— sudo systemctl disable filemote-agent。
  • macOS —— launchctl unload ~/Library/LaunchAgents/com.filemote.agent.plist,然后删除该 文件。

以上都不会卸载任何东西,也不会动到你的设置;它们只是让代理不再自己起来。彻底移除请见 卸载 Filemote。

更新于 2026-08-06

没有解决 —— 联系支持团队