运行“unison -repeat watch”会产生文件系统观察器错误

运行“unison -repeat watch”会产生文件系统观察器错误

我正在尝试将主机 OSX 中的文件夹同步到运行 Ubuntu 的虚拟机。 (拉拉维尔/家园)。这是我在主机上运行的命令:

$ unison ssh://[email protected]//home/vagrant/www ~/unison/www -repeat watch

产生以下输出

Contacting server...
Connected [...]
Looking for changes
  Waiting for changes from server
Fatal error: Server: Unexpected response 'Usage: unison-fsmonitor [options] root [path] [path]...' from the filesystem watcher (expected VERSION)

在我的本地主机上:

$ unison -version
unison version 2.48.3
$ unison-fsmonitor
VERSION 1

在我的虚拟机上:

$ unison -version
unison version 2.48.3
$ unison-fsmonitor
Usage: unison-fsmonitor [options] root [path] [path]...
This program monitors file system changes on all given (relative to root) paths
and dumps paths (relative to root) files to a file. When launched, this file is
recreated. While running new events are added. This can be read by UNISON
to trigger a sync on these files. If root is a valid unison profile, we attempt
to read all the settings from there.

对于我的本地主机,我通过自制软件安装了 unison,并下载了unox.py文件来自 github并将其安装到/usr/local/bin/unison-fsmonitor.

对于我的虚拟机,我使用了ppa:eugenesan/ppa一致,并下载了版本 2.48.3 的来源从一致网站获取副本fsmonitor.py,我将其放在下面/usr/bin/unison-fsmonitor

没有-repeat watch作品的齐奏没有问题。

如果我尝试在虚拟机内部运行相同的命令(反转 ssh),我会得到相同的输出。我读到 unison-fsmonitor 应该遵守描述的协议,/src/fswatch.ml但默认脚本似乎并非如此fsmonitor.py。我是不是漏掉了什么?是否有其他脚本可以代替 unison-fsmonitor 可执行文件使用?

答案1

当您从源代码编译 Unison 时,会unison-fsmonitor创建一个单独的可执行文件。当您运行它时,unison-fsmonitor它会打印VERSION 1然后按预期等待。只需在虚拟机上编译 Unison 并使用该可执行文件而不是脚本即可fsmonitor.py

您可以在Unison 2.48.3 的变更日志他们创建了一个新的文件观察器实用程序。fsmonitor.py如果您应该使用新实用程序,我不清楚为什么会包含在此版本中。或者也许新的实用程序和 python 脚本实际上执行不同的任务......?

相关内容