我在 19 年尝试完全转到 Linux 环境办公,后来由于部分办公软件支持不好,公司的 VPN 客户端又不支持 Linux 因此几度装回 Windows。最近几年得益于国家的政策支持,很多办公软件都开始支持 Linux 系统了。其中包括公司用的 VPN 客户端,但是因为 Linux 发行版的问题,难免会遇到一些小问题。
Ubuntu 22.04 更新
unbuntu 22.04 下除了需要替换 libgdk_pixbuf-2.0.so.0
之外,还需要替换 libsecret-1.so.0
,做法和之前一样,将对应的动态链接库拷贝到 lib
目录下即可。
解决方法:
- 下载并该 so 文件,将
.so
文件复制到/opt/TopSAP/lib
下;
TL;DR
ubuntu 21.10 下使用天融信 TopSAP
出现 /opt/TopSAP/TopSAP: symbol lookup error: /lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0: undefined symbol: g_task_set_name
报错;
解决方法:
分析
公司用的是天融信的 VPN 产品,对应的 VPN 客户端可从这里下载,目前针对 Linux 支持三种 cpu 架构,下载对应的 tar 包就好了。
下载后解压可以看到两个安装包,一个是 .deb
一个是 .rpm
选择对应的包安装即可:
1 |
|
TopSAP 会安装到 /opt/TopSAP
目录下,同时可以看到 TopSAP 应用已经添加。
如果你使用的 Linux 发行版恰好是 TopSAP 支持的,那么你直接用就没问题了(你应该不会找到这里来 )。
我们到 shell 里运行一下,看会报什么错:
1 |
|
根据报错的信息,我们知道,问题是在 /lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
这个动态链接库里没有符号 g_task_set_name
。由于我用的是最新的 ubuntu 21.10:
1 |
|
可以猜测大概是由于这个动态链接库有一些改动,移除了 g_task_set_name
方法。那么我们找个老一点的版本给它换上就好了。
1 |
|
在 TopSAP.sh
中指定了首要的动态链接库地址,若指定的路径下没有对应的动态链接库则会从默认的路径下查找
1 |
|
同理,我们把找到的老版本的 libgdk_pixbuf-2.0.so.0
放进来就好啦。
老版本的 so 可以通过 docker 建一个 ubuntu 18.04 container 然后从对应的地方拷贝过来改个名字就好了。这里就不展开讲,直接提供链接下载
下载完成之后,将解压出来的两个 so 直接拷贝到 /opt/TopSAP/lib
目录下。再次运行。
我已经重新打包了一个 .deb
文件,有需要的人可以直接下载
超长的碎碎念
随着国际形式的变化和政策上的推动,现在很多国内办公软件都已经开始支持 Linux 系统了。我认为其中做的最好的非
钉钉
莫属了,我从很早开始就加入了 Linux 钉钉试用组织,看着钉钉 Linux 版本一步一步地完善,快速地迭代,现在使用起来日常办公完全没有问题,在这里要感谢钉钉技术人员。相比之下微信
就是个垃圾。幸运的是我们公司用的就是钉钉。再者, win11 完全抛弃了我的笔记本,
TPM
不是个可选项。作为一个更新强迫症患者,这真的无法忍受。仔细想想,除了打游戏,我在 windows 上要做的事情,现在在 Linux 上做也完全没问题。更何况,
SteamOS
is comming!!!感谢 G 胖。