news 2026/11/3 2:34:29

让 Proton Drive Sync 开机自启:systemd 与 launchd 系统服务安装完全攻略

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
让 Proton Drive Sync 开机自启:systemd 与 launchd 系统服务安装完全攻略

【免费下载链接】proton-drive-sync

Local folders, automatically synced to Proton Drive. (Unofficial Sync Client)

项目地址:https://gitcode.com/gh_mirrors/pr/proton-drive-sync
点击查看免费下载

Proton Drive Sync 是一款非官方同步客户端,能把本地文件夹自动同步到 Proton Drive 云盘,支持 macOS、Linux 与 Windows。默认情况下它只是手动启动的命令行程序——本文教你用一条命令把它装成 Linux 的 systemd 服务或 macOS 的 launchd 代理,实现登录即启动、开机即同步、崩溃自动拉起,从此再也不用每次开机手动敲start。

三种启动模式,先做选择

运行 setup 向导 时,程序会问一个问题:“When should the sync service start?”,对应三种策略:

模式触发时机适用场景权限要求
不自动启动手动运行proton-drive-sync start偶尔使用无
user(登录自启)用户登录时启动个人电脑,绝大多数人选这个 ✅无
system(开机自启)系统启动即运行服务器、无头主机Linux 需要 sudo
  • Linux:两种范围都支持,user 级由systemctl --user管理,system 级写入/etc/systemd/system/,详见 service-linux.ts。
  • macOS:只有登录自启一种(launchd 的 LaunchAgent),写入~/Library/LaunchAgents/。
  • Flatpak 环境:仅支持 user 级,程序会通过flatpak-spawn --host在宿主系统上完成注册。

最快配置方法:一条 setup 命令搞定

如果你刚装好项目(可先git clone https://gitcode.com/gh_mirrors/pr/proton-drive-sync获取源码),推荐走交互式向导,认证、目录、自启一站式完成:

proton-drive-sync setup

向导中在启动时机界面选择 “On login(user service)” 即可。选择 “On boot(system service)” 时向导会自动用 sudo 重新执行安装,无需手动加前缀。

Linux systemd 安装步骤:登录自启(user 范围)

适合日常桌面使用的标准做法:

# 1. 安装并立即启动用户级服务 proton-drive-sync service install # 2. 验证服务状态 systemctl --user status proton-drive-sync # 3. 确认同步正在运行(JSON 输出 running / stopped) proton-drive-sync status

安装后程序会生成服务文件~/.config/systemd/user/proton-drive-sync.service并执行systemctl --user enable + start,下次登录自动拉起。服务模板长这样,注意Restart=on-failure表示进程崩溃后 5 秒自动重启:

[Service] ExecStart={{BIN_PATH}} start --no-daemon Restart=on-failure RestartSec=5 [Install] WantedBy=default.target

完整模板见 proton-drive-sync.service。

💡 通过 SSH 远程登录时 user 服务无法注册(没有图形登录会话),程序会提示改用 system 范围安装。

Linux 系统级服务:开机就同步(system 范围)

服务器、NAS 旁路机、无头 Linux 选这个,开机不依赖任何用户登录:

# 需要 sudo 权限 sudo proton-drive-sync service install --install-scope system # 验证 sudo systemctl status proton-drive-sync

system 范围会把服务文件写到/etc/systemd/system/proton-drive-sync.service,数据目录为/etc/proton-drive-sync,并以WantedBy=multi-user.target在开机阶段启动,同时在服务内指定User=<当前用户>确保数据归属正确(见 service-linux.ts 生成逻辑)。

两点提醒:

  • system 范围仅限 Linux,在 macOS 上执行会直接报错退出(index.ts 中的校验);
  • 卸载时两种范围会同时检查并清理,若存在系统级服务同样需要 sudo。

macOS launchd 安装步骤

macOS 上直接执行:

proton-drive-sync service install

程序会创建~/Library/LaunchAgents/com.damianb-bitflipper.proton-drive-sync.plist并调用launchctl bootstrap gui/<uid>加载。plist 模板中两个关键配置:RunAtLoad=true(登录后立即启动)、KeepAlive.SuccessfulExit=false(异常退出自动拉起):

<key>RunAtLoad</key> <true/> <key>KeepAlive</key> <dict><key>SuccessfulExit</key><false/></dict>

模板全文见 proton-drive-sync.plist,实现逻辑在 service-macos.ts。macOS 下 launchd 会把标准输出/错误分别写入~/Library/Logs/proton-drive-sync.out.log和.err.log,排查问题时可先看这两个文件。

日常运维:查看、暂停、卸载服务

安装完成后,这几个命令基本够用:

命令作用
proton-drive-sync status查看服务是否在运行(JSON 格式)
proton-drive-sync logs -f实时跟踪同步日志
proton-drive-sync logs clear清空日志文件
proton-drive-sync pause/resume暂停 / 恢复同步(进程不停)
proton-drive-sync service load重新启用开机自启
proton-drive-sync service unload停止并关闭开机自启
proton-drive-sync service uninstall停止并彻底删除服务

load/unload适合临时关闭自启(比如换机器前想保留配置);uninstall会删除 user 和 system 两个位置的.service文件。另外,浏览器打开http://localhost:4242的 Dashboard 也能可视化管理自启开关,命令定义集中在 src/index.ts。

常见问题速查

Q1:重装或升级二进制后服务启动失败?先proton-drive-sync service uninstall再重新service install,让服务文件里的ExecStart路径刷新为当前二进制位置。

Q2:user 服务在 SSH 会话里装不上?systemd 的 user 单元需要图形登录会话。远程机器请改用--install-scope system(见上文 Linux 系统级一节)。

Q3:Flatpak 版能用 system 范围吗?不能。Flatpak 沙箱内无法使用 sudo,setup 向导会隐藏 system 选项,只保留登录自启。

Q4:如何彻底卸载?运行proton-drive-sync reset --purge,它会停止服务、删除凭据并清空所有配置与同步历史;再按包管理器方式(brew / apt / dnf)移除程序本体即可。

小结

Proton Drive Sync 把“开机自启”封装成了四条子命令:service install(含--install-scope user/system两种 Linux 范围)、service load、service unload、service uninstall,配合Restart=on-failure的自愈能力,个人电脑选user 登录自启、服务器选system 开机自启,两条命令就能让云盘同步彻底“无感运行”。相关实现源码可参考 src/cli/service/ 目录。

【免费下载链接】proton-drive-sync

Local folders, automatically synced to Proton Drive. (Unofficial Sync Client)

项目地址:https://gitcode.com/gh_mirrors/pr/proton-drive-sync
点击查看免费下载

相关推荐

上一篇:刚刚破 21 万星:OpenCode 24 小时又吸了近 500 星,终端智能体还在加速
下一篇:如何基于VideoChat3-4B开发自定义应用:接入视频理解模型的开发者完整指南 🎬

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/3 2:31:26

Rust重写开源版PowerPoint来了!支持PPTX读写和AI Agent控制

DeckCraft 是一个使用 Rust 编写的开源 PowerPoint 替代方案&#xff0c;支持 PPTX 文件读写、主题与母版设计、动画与转场、演讲者视图&#xff0c;以及 AI Agent 自动化控制。 DeckCraft 属于 ArtCraft Crafting Apps 项目生态的一部分&#xff0c;目标是在不依赖微软组件的情…

作者头像 李华