为Flatpak版WPS Office安装Zotero-WPSJS

WPS for Linux 可借助 Zotero-WPSJS 来调用 Zotero,管理文档中的参考文献。这个插件也可以安装到 Flatpak 版的 WPS 中,不过需要一些特殊操作。

:warning: 注意:

本文所指的 Flatpak 版 WPS 的包名是 cn.wps.wps_365。Flathub 中有两个 WPS,另一个是已经停止维护的旧版本 WPS,请注意区别。

1 准备工作

要在 Flatpak 版的 WPS 上安装 Zotero 插件,首先需要先授予 WPS 一些必要的权限。而管理这些权限,需要用到 Flatseal 这个软件。

可以在终端中执行如下命令进行安装:

flatpak install flathub com.github.tchx84.Flatseal

安装好后,打开 Flatseal(一般位于主菜单的 “附件” 分类中),在左侧窗格中选中 “WPS 365”,然后到右侧窗格中,调整如下选项:

  • Share 栏目:
    • 确保 “网络” 权限是打开的状态。
    • Zotero-WPSJS 插件需要通过局域网与本机的 Zotero 软件进行通讯。
  • Filesystem 栏目:
    • 根据实际需求,授予 WPS 访问特定目录的权限。
    • 建议遵守最小权限原则,尽量不要启用 “全部文件系统” 这一选项。
  • Persistent 栏目:
    • 点击右侧的新建文件夹图标,在弹出的条目中输入 .local
    • 这一步的目的,是为 Flatpak 中的 WPS 创建一个存放 Zotero-WPSJS 插件的文件夹。

2 下载并安装 Zotero-WPSJS

先进入一个 WPS 有读取权限的文件夹,然后打开终端,执行如下命令,下载 Zotero-WPSJS 插件:

git clone https://gitee.com/wangrui5015/Zotero-WPSJS

下载完毕后,执行如下命令,进入存放安装程序的目录:

cd ./Zotero-WPSJS/Linux

这个文件夹下有 Zotero-WPSJS 的安装程序。但是,Flatpak 版 WPS 运行于一个与宿主机隔离的容器中,因此为了让这个插件对容器中的 WPS 生效,我们需要在容器中运行安装程序,而不是直接在宿主机中运行。

执行如下命令,进入 WPS 所在容器的 shell:

flatpak run --command=bash cn.wps.wps_365

接下来,我们会发现终端的命令提示符变成如下形式,表明我们已经成功进入了 WPS 所在的容器:

[📦 cn.wps.wps_365 Linux]$ 

在WPS 所在容器的 shell 中,运行如下命令:

python3 install.py

执行后,终端中显示 All done, enjoy!,即代表已经成功安装 Zotero-WPSJS 插件。

3 调整 WPS 的安全设置

为了让 Zotero-WPSJS 正常工作,我们还需要调整 WPS 的安全设置。

:warning: 警告:

进行如下操作,可能会降低 WPS 的安全性,比如可能会感染宏病毒。为保证您的安全,请勿运行任何来路不明的文档中的宏。

具体操作为:首先,打开 WPS 文字,然后依次调整如下选项:

  1. “工具” 选项卡 → “宏安全性” 按钮,在弹出窗口中,
    • “安全性” 选项卡,设置为 “低”
    • “可靠发行商” 选项卡,勾选 “信任对于 ‘WPS JS 项目’ 的访问”
  2. “工具” 选项卡 → “开发工具” 按钮 → “WPS 宏编辑器” 按钮,然后在弹出窗口中,点击菜单栏中的 “工具” → “选项”,在弹出窗口的 “编译” 栏目中,取消勾选 “禁止全局作用域表达式” 和 “禁止全局作用域标识符重复定义”,最后点击 “确定”

最后,重新启动 WPS 文字,就会看到多出一个 “Zotero” 选项卡,通过其中的功能即可调用 Zotero,管理参考文献引用了。

参考资料

https://gitee.com/wangrui5015/Zotero-WPSJS