跳到主要内容

Ubuntu 26.04安装EasyConnect

· 阅读需 4 分钟

今天在Ubuntu 26.04上安装EasyConnect遇到了些问题,不过好在都解决了,所以记录一下,免得后面又碰到这样的问题。

首先下载安装EasyConnect,下载地址根据自己实际的地址来。我的EasyConnect版本为7.6.3.7

$ wget -c http://download.sangfor.com.cn/download/product/sslvpn/pkg/linux_01/EasyConnect_x64.deb
$ mv EasyConnect_x64.deb /tmp/
$ sudo apt install /tmp/EasyConnect_x64.deb

然后就可以在开始菜单里找到EasyConnect的快捷方式了,不过此时应该打不开,没有什么反应。

可以从控制台打开,不过此时报错:

$ /usr/share/sangfor/EasyConnect/EasyConnect --enable-transparent-visuals --disable-gpu
/usr/share/sangfor/EasyConnect/EasyConnect: error while loading shared libraries: libdbus-glib-1.so.2: cannot open shared object file: No such file or directory

修复缺失库

错误原因是缺少libdbus-glib-1.so.2 库。其实不止缺少这个库,查看缺少的库:

$ ldd /usr/share/sangfor/EasyConnect/EasyConnect | grep 'not found'
libgtk-x11-2.0.so.0 => not found
libgdk-x11-2.0.so.0 => not found
libdbus-glib-1.so.2 => not found

libdbus-glib-1.so.2这个库在源里有,可以直接安装:

$ sudo apt install libdbus-glib-1-2

再次从控制台打开,此时还会报错:

$ /usr/share/sangfor/EasyConnect/EasyConnect --enable-transparent-visuals --disable-gpu
/usr/share/sangfor/EasyConnect/EasyConnect: error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory

libgtk-x11-2.0.so.0libgdk-x11-2.0.so.0 在Ubuntu 26.04的源里没有了,需要手动下载,然后复制到EasyConnect的目录:

$ wget -c https://cn.archive.ubuntu.com/ubuntu/pool/main/g/gtk+2.0/libgtk2.0-0_2.24.33-2ubuntu2.1_amd64.deb
$ dpkg -x libgtk2.0-0_2.24.33-2ubuntu2.1_amd64.deb libgtk2.0-0_2.24.33-2ubuntu2.1_amd64/
$ sudo cp -v libgtk2.0-0_2.24.33-2ubuntu2.1_amd64/usr/lib/x86_64-linux-gnu/* /usr/share/sangfor/EasyConnect/

这里我们只复制lib 目录下的文件,就是下面这些:

lrwxrwxrwx 1 jack jack 27 Jul 16 2024 libgdk-x11-2.0.so.0 -> libgdk-x11-2.0.so.0.2400.33
-rw-r--r-- 1 jack jack 768K Jul 16 2024 libgdk-x11-2.0.so.0.2400.33
lrwxrwxrwx 1 jack jack 27 Jul 16 2024 libgtk-x11-2.0.so.0 -> libgtk-x11-2.0.so.0.2400.33
-rw-r--r-- 1 jack jack 4.5M Jul 16 2024 libgtk-x11-2.0.so.0.2400.33

修复段错误

不过,即使补全了库文件,打开EasyConnect时依然会出现错误:

$ /usr/share/sangfor/EasyConnect/EasyConnect --enable-transparent-visuals --disable-gpu
Segmentation fault (core dumped) /usr/share/sangfor/EasyConnect/EasyConnect --enable-transparent-visuals --disable-gpu

这个段错误是因为系统里一些库的版本太高了,就是libpango 开头的一些库:

$ ldd /usr/share/sangfor/EasyConnect/EasyConnect | grep 'libpango'
libpangocairo-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 (0x00007150eab9b000)
libpango-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007150e922d000)
libpangoft2-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 (0x00007150e798d000)

此时,需要如法炮制,下载旧版本库文件,然后复制到EasyConnect的目录:

# 下载
$ wget http:/cn.archive.ubuntu.com/ubuntu/pool/main/p/pango1.0/libpango-1.0-0_1.40.14-1_amd64.deb
$ wget http://cn.archive.ubuntu.com/ubuntu/pool/main/p/pango1.0/libpangocairo-1.0-0_1.40.14-1_amd64.deb
$ wget http://cn.archive.ubuntu.com/ubuntu/pool/main/p/pango1.0/libpangoft2-1.0-0_1.40.14-1_amd64.deb

# 解压
$ dpkg -x libpango-1.0-0_1.40.14-1_amd64.deb libpango-1.0-0_1.40.14-1_amd64/
$ dpkg -x libpangocairo-1.0-0_1.40.14-1_amd64.deb libpangocairo-1.0-0_1.40.14-1_amd64/
$ dpkg -x libpangoft2-1.0-0_1.40.14-1_amd64.deb libpangoft2-1.0-0_1.40.14-1_amd64/

# 复制
$ sudo cp -v libpango-1.0-0_1.40.14-1_amd64/usr/lib/x86_64-linux-gnu/* /usr/share/sangfor/EasyConnect/
$ sudo cp -v libpangocairo-1.0-0_1.40.14-1_amd64/usr/lib/x86_64-linux-gnu/* /usr/share/sangfor/EasyConnect/
$ sudo cp -v libpangoft2-1.0-0_1.40.14-1_amd64/usr/lib/x86_64-linux-gnu/* /usr/share/sangfor/EasyConnect/

这样EasyConnect就可以打开了。

image

参考链接

Ubuntu 24.04 LST 无法打开深信服 EasyConnect:模块缺失和库版本不匹配问题 - 知乎