Artix Linux 上使用 WPS¶
从 Arch Linux 迁移到 Artix Linux 后,某次编辑文档时我发现从 AUR 安装的 WPS365 无法运行了,终端运行也不输出任何有效信息,只能算一卦猜测原因所在。而这两个发行版最大的区别就是 init 系统,很容易想到 WPS 可能依赖 systemd,于是去 bing 了一下,发现还真有相关讨论:
我贫瘠的大脑完全无法理解 WPS 为什么依赖 systemd,但是文档还是要写的,然而该帖只提到了存在这个依赖,并没有相关的解决方法,只能自己想办法解决。
Flatpak¶
Flatpak 是一个比较简便的解决方法,只需要一行命令即可安装 WPS:
然而 Flatpak 会把所有依赖库都下载下来而不使用系统库,这样做确实保证了兼容性,但是会狠狠肘击寸土寸金的存储空间😢,参见某次更新的输出:
$ flatpak update cn.wps.wps_365
Looking for updates…
ID Branch Op Remote Download
1. [✓] org.freedesktop.Platform.GL.default 25.08 u flathub 52.4 MB / 142.3 MB
2. [✓] org.freedesktop.Platform.GL.default 25.08-extra u flathub 24.4 MB / 142.4 MB
3. [✓] org.freedesktop.Platform.GL.nvidia-595-58-03 1.4 u flathub 3.3 kB / 304.1 MB
4. [—] org.freedesktop.Platform.GL.nvidia-595-71-05 1.4 i flathub 142.7 MB / 304.3 MB
5. [ ] org.freedesktop.Platform.Locale 25.08 u flathub < 379.1 MB
6. [ ] org.freedesktop.Platform.VAAPI.Intel 25.08 u flathub < 13.8 MB
7. [ ] org.freedesktop.Platform.VAAPI.nvidia 25.08 u flathub < 50.3 kB
8. [ ] org.freedesktop.Platform.codecs-extra 25.08-extra u flathub < 14.4 MB
9. [ ] org.freedesktop.Platform 25.08 u flathub < 252.6 MB
10. [ ] cn.wps.wps_365 stable u flathub < 906.4 MB
Updating 10/10… ████████████████████ 100% 2.7 MB/s 00:0009
可以看到 Flatpak 甚至拉下来了一套 NVIDIA 驱动。这个做法要求系统驱动程序更新后一同更新 Flatpak 里的驱动,否则就用不了了。。。单在处理 NVIDIA 驱动这一点上,有群友提到 Snap 做的比 Flatpak 好,但是 Snap 本身问题也比较多,而且除了 Ubuntu,还有哪个发行版会跑去用 Snap 呀......
软链接¶
实际上我最开始使用 Flatpak 的时候并没有注意到拉下来了独立的 NVIDIA 驱动(注意力惊人🤣),直到群友提到 Flatpak 的问题,我才发现这几大坨,这下不得不扔掉 Flatpak 了。
由于是从 Flatpak 换成其他方案,我最开始想到的也是容器,有 distrobox 可用。不过我个人还是偏好不要容器,于是去问了万能的 Gemini(AI Mode)有没有其他方案。
Gemini 提到了常规的容器方法,还另外提到了 elogind 继承了 systemd 的大部分接口,可以尝试把 libelogind.so 链接到 libsystemd.so.0。欸,我之前怎么就没想到呢?
AI 说的不能全信,但是用来提供思路还是很好的。我先尝试了链接到 libsystemd.so,未果;再尝试了 libsystemd.so.0,这次 WPS 成功跑起来了!哈 Gemi 赛高!
接下来就是愉快清理 Flatpak 啦,命令在此不再赘述。