syncthing开机自启需按系统选择配置:linux推荐systemd用户级服务(systemctl --user enable --now syncthing.service),系统级服务适用于服务器;windows可用任务计划程序或启动文件夹;macos通过launchd plist实现登录自启。

如果您已安装 Syncthing 并希望其在系统启动后自动运行,避免每次手动执行命令或点击图标启动,则需将其配置为后台常驻服务。以下是适用于不同操作系统的多种开机自启配置方法:
一、Linux 系统使用 systemd 用户级服务
该方式无需 root 权限,适配桌面环境,服务随用户登录自动启动,且与用户会话生命周期一致,安全性高、管理便捷。
1、创建用户服务目录(如不存在):
mkdir -p ~/.config/systemd/user
2、复制 Syncthing 提供的用户级服务模板:
cp /usr/lib/systemd/user/syncthing.service ~/.config/systemd/user/
3、启用并立即启动服务:
systemctl --user daemon-reload
systemctl --user enable --now syncthing.service
4、验证服务状态:
systemctl --user status syncthing.service
5、确保用户级 systemd 在登录时激活(必要时执行):
loginctl enable-linger $USER
二、Linux 系统使用 systemd 系统级服务(多用户共享)
该方式以指定用户身份运行 Syncthing,服务在系统启动阶段即加载,不依赖用户登录,适合服务器或无图形界面场景。
1、复制模板服务文件到系统服务目录:
sudo cp /usr/lib/systemd/system/syncthing@.service /etc/systemd/system/
2、重载 systemd 配置:
sudo systemctl daemon-reload
3、启用并启动服务(将 your_username 替换为实际用户名):
sudo systemctl enable --now syncthing@your_username.service
4、检查运行状态:
sudo systemctl status syncthing@your_username.service
三、Windows 使用任务计划程序配置启动
此方法绕过用户交互限制,支持“系统启动时”或“用户登录时”触发,可静默运行且兼容所有 Windows 版本。
1、按下 Win + R,输入 taskschd.msc,回车打开任务计划程序
2、右侧点击“创建任务”,在“常规”选项卡中:输入名称“Syncthing AutoStart”,勾选“不管用户是否登录都要运行”和“不存储密码”
3、切换至“触发器”选项卡,点击“新建”,选择“在系统启动时”或“登机时”,设延迟 30 秒以避开系统负载高峰
4、切换至“操作”选项卡,点击“新建”,在“程序或脚本”中填入 Syncthing 安装路径(例如:C:\Program Files\Syncthing\syncthing.exe),参数栏填入:--no-console --no-browser
5、在“条件”选项卡中,取消勾选“只有在计算机使用交流电源时才启动此任务”(适用于笔记本)
四、Windows 使用启动文件夹快捷方式
该方式最轻量,仅需标准用户权限,适用于单用户桌面环境,Syncthing 将随资源管理器启动而运行。
1、右键 Syncthing 可执行文件(如 syncthing.exe),选择“发送到 → 桌面快捷方式”
2、按下 Win + R,输入 shell:startup,回车打开当前用户的启动文件夹
3、将桌面上生成的快捷方式拖入该文件夹
4、右键该快捷方式 → “属性” → “快捷方式”选项卡 → 在“目标”末尾添加空格后追加:--no-console --no-browser
五、macOS 使用 launchd 配置开机自启
该方式符合 macOS 原生服务规范,通过 plist 文件定义启动行为,支持用户登录即运行及崩溃自动重启。
1、创建用户级 launchd 配置文件:
mkdir -p ~/Library/LaunchAgents
touch ~/Library/LaunchAgents/net.syncthing.syncthing.plist
2、用文本编辑器打开该文件,填入以下内容(请将 /opt/homebrew/bin/syncthing 替换为您的实际路径):
3、加载并启动服务:
launchctl load ~/Library/LaunchAgents/net.syncthing.syncthing.plist
launchctl start net.syncthing.syncthing
4、验证状态:
launchctl list | grep syncthing











