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.0 和libgdk-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就可以打开了。