以服务方式运行

平时的 SyncThemAll 是一个应用:你打开它,它工作,你关掉它。服务模式让它成为这台计算机的一部分——它随计算机一同启动,早于任何人登录,并且在没有窗口、完全没有用户会话的情况下让你的例程继续运行。

正是这一点,把一台备用计算机变成了一台小型的同步服务器。

首先:你真的需要它吗?

对大多数用户而言并不需要,而且应用中已经提供了更简单的选项。这里常被混为一谈的是两件不同的事:

你的需求推荐选项
只要我处于登录状态,同步就一直进行,不必让窗口开着开机自启 —— 设置 → 系统 → 在后台运行 和 登录时启动。免费,不需要管理员权限,无需任何配置。
在无人登录时同步也必须继续——计算机自动重启后继续工作服务模式 —— 也就是本页。需要 Business 许可证。

如果第一行说的就是你,打开这两个开关即可,本页到此为止。服务是专为无人值守的计算机设计的。

实际安装的是什么

一个真正的操作系统服务,以你所用平台的原生方式注册:

系统机制名称
Windows服务(SCM),启动类型为自动SyncThemAllService
macOS位于 /Library/LaunchDaemons 的 LaunchDaemoncom.neowise.syncthemall.service
Linuxsystemd 单元,WantedBy=multi-user.targetsyncthemall.service

它随计算机一同启动,崩溃后自动重启。安装、启动、停止和移除都需要管理员权限——应用程序只会在真正需要时才请求这些权限。

安装

打开左侧栏的服务,点击安装为服务,确认管理员提示。

服务在安装完成后会自动启动。成功运行后,状态行会显示正在端口 8328 上运行——与应用自身的 8327 不同,因为两者可以同时运行,各自需要自己的端口。

安装时有一个复选框:立即将我的账户复制到服务。除非有确切的理由,否则请保持勾选——下面会解释服务为什么需要一份自己的副本。

你的许可证会自动转移到服务。你不需要重复激活:许可证绑定的是这台计算机,而服务就在同一台计算机上。

在 macOS 上还有一个强制性的额外步骤——需要你手动授予服务访问文件的权限。应用会在安装前提醒你,macOS 服务访问你的文件一文解释了原因和做法。

服务为什么有自己的账户和例程

因为只能如此。服务在无人登录的状态下运行,因此无法访问存放在你个人用户配置文件中的任何数据。它拥有计算机级别的独立存储空间:

  • Windows —— %ProgramData%\Neowise\SyncThemAll\service
  • macOS —— /Library/Application Support/Neowise/SyncThemAll/service
  • Linux —— /var/lib/neowise/syncthemall

自己的账户、自己的例程、自己的加密密钥。正因如此,迁移你的工作是一个需要明确执行的步骤,而不是自动发生的过程。

迁移你的工作

在服务对话框的迁移数据一节:

复制账户到服务 —— 你的云连接是被复制的。它们同时保留在你自己的会话中,应用照旧工作。两边都能连接你的云。

将例程移动到服务 —— 例程是被移动的,会从你的会话中删除。这是有意为之,而且刻意不做复制:同一条定时例程若同时存在于两处,就会运行两次,把相同的文件传输两遍。被移动的例程所依赖的账户会随之自动复制过去。

日常管理

一切都在同一个对话框里——左侧栏的服务:

  • 启动 / 停止 —— 服务保持已安装状态;停止只是让它暂停。
  • 卸载 —— 把服务从操作系统中移除。
  • 切换到服务 —— 让当前窗口指向服务而不是你自己的会话,从而查看它的例程和历史。窗口标题会带上**(服务)**标记,你随时知道自己在看哪一个。
  • 打开服务窗口 —— 同样的视图放在第二个窗口里,与你自己的并排。

服务安装之后,侧栏图标上会出现一个小状态灯:绿色表示正在运行,橙色表示已安装但已停止。

管理操作只在你自己的会话中可用。当你正看着服务时,能看到状态并可以返回——从服务自己的窗口里停止服务,等于停掉正在绘制这个窗口的那个东西。

移除

卸载会把服务从操作系统的注册中移除并停止它。你的数据会保留:服务自己的账户和例程仍在上面列出的文件夹中,因此重新安装可以接着之前继续。

如果想彻底清除,请在卸载后自行删除那个文件夹。这需要管理员权限——这也正是应用程序不会静默替你执行此操作的原因。

遇到问题时

刚装完状态却显示「未安装」。 稍等几秒——应用程序在等待操作系统确认,随后会自动更新。如果状态一直不变,说明安装未完成:请重试,并留意管理员权限提示。

在我自己的文件夹上出现「Permission denied」(macOS)。 这是预期行为,一分钟即可解决:见 macOS 服务访问你的文件。

服务正在运行,却什么都不同步。 它有自己的例程——请确认你已经把例程搬过去,并且它们所需的账户存在于服务自己的账户列表中。

仍然遇到问题? 请联系我们,并附上你的操作系统以及服务对话框中显示的内容——通常这足以让我们立即定位原因。