如何跨多台机器同步本地托管的 Greasemonkey 脚本?

How to sync locally hosted Greasemonkey scripts across multiple machines?

我希望能够在我使用的所有机器上访问我的 Greasemonkey 脚本。我已经在 Greasemonkey 的设置对话框中启用了“为用户脚本启用 Firefox 同步”设置,但后来我读到它仅 同步外部托管脚本.

然后我尝试使用以下方法设置同步:

  1. 我将 Greasemonkey 的“gm_scripts”文件夹(位于 %appdata%\Mozilla\Firefox\Profiles\<profile name>)移动到 OneDrive 文件夹。
  2. 我在原来的地方创建了一个指向上面提到的 OneDrive 文件夹的符号链接:mklink /D gm_scripts "%userprofile%\SkyDrive\App Profile Synching\GreaseMonkey\gm_scripts"
  3. 我在另一台机器上设置了相同的符号链接,并检查了符号链接是否有效。

因此,我的脚本在原来的机器上继续正常显示。 但是它们根本没有出现在第二台机器上。这似乎表明 Greasemonkey 在另一个位置有一些脚本列表。

如何解决这个问题,或者还有什么其他方法可以实现我自己的 Greasemonkey 脚本在多台机器上的同步?

只是跟进:在将 'gm_scripts' 文件夹明确设置为 之后,问题中提出的原始方法最终运行良好'available offline'。我现在使用这种方法大约一个月了,编辑的脚本在两台机器之间快速同步,没有任何问题。

所以,我最初怀疑 Greasemonkey 将一些配置数据存储在另一个地方被证明是错误的(或者它与同步目的无关)。

因此:如果有人正在寻找自己的同步方法,本地托管的用户脚本(据我所知,Greasemonkey 的 Firefox 配置文件同步不支持 特征):

  • 将 'gm_scripts' 文件夹移动到云存储文件夹,并在原始位置设置符号链接是一个可行的解决方案。

重要提示:唯一测试并发现在这个 Q/A 中工作的场景是当 'gm_scripts' 文件夹仅包含本地存储的用户脚本和 Greasemonkey 的 Firefox 配置文件时同步功能已关闭。我没有测试如果 'gm_scripts' 文件夹同时包含本地存储的用户脚本和外部托管的用户脚本的副本会发生什么。