这篇文章上次修改于 441 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

软件只适配到Ubuntu18.04,20.04需要弄一点东西

后续补充:多次使用后,安装软件的方法使用多次后会提示版本不符,需要再次安装,然后用了几次后又提示版本不符,很麻烦
docker版本推荐使用vnc版本的7.6.7,纯命令行的可能会有问题,windows使用docker的话建议把docker desktop设置为开机自启动,不然会有问题

Ubuntu20.04如何使用EasyConnect进入校园网

前言:首先下载一下软件,64位Ubuntu sudo dpkg -i EasyConnect_x64.deb 安装 其他版本

但软件本体只适配到Ubuntu18.04
吐槽一下:这官网上我是真没找到Linux版本,我们学校提供的网站的Linux下载又放了个空连接,麻
找了半天谷歌上搜到了天津大学的下载界面,但是最抽象的是,从主界面进去,根本找不到这个下载界面

安装后无法打开,原因是Harfbuzz版本太低

  • 单击打开easyconnect没有反应

    /usr/share/applications 中找到EasyConnect.desktop后发现它的命令行启动方式是/usr/share/sangfor/EasyConnect/EasyConnect

    执行后报错

    $ /usr/share/sangfor/EasyConnect/EasyConnect
    
    (EasyConnect:64314): Pango-ERROR **: 15:45:06.256: Harfbuzz version too old (1.3.1)
    
    [1]    64314 trace trap (core dumped)  /usr/share/sangfor/EasyConnect/EasyConnect
    

    提示Harfbuzz版本太低,论坛上有人提出这个问题,但目前也只适配ubuntu也至适配到18.04,原因可能是electron太老,最终提出的解决方案是把pango的版本降低,为了不对系统造成影响,因此只把低版本的pango给easyconnect用即可

  • 解决:降级pango

    先查看easyconnect目前使用的pango

    $ ldd /usr/share/sangfor/EasyConnect/EasyConnect | grep pango
        libpangocairo-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 (0x00007f9713518000)
        libpango-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007f971337e000)
        libpangoft2-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 (0x00007f97116d8000)
    

    下载适配ubuntu18.04的libpangocairolibpangolibpangoft2,解压deb,然后解压里面的data.tar.xz,找到上述所写三个文件移入/usr/share/sangfor/EasyConnect目录下即可

    为了方便,可以使用我已下载好的压缩包https://wwcm.lanzoub.com/ifd9c0kfvgmf 解压后放置在主目录下

    输入下面的指令把三个文件移入/usr/share/sangfor/EasyConnect

    sudo cp ~/usr/lib/x86_64-linux-gnu/libpango-1.0.so.0 ~/usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 ~/usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 /usr/share/sangfor/EasyConnect/
    

    再次查看即会发现发生变化

    $ ldd /usr/share/sangfor/EasyConnect/EasyConnect | grep pango
        libpangocairo-1.0.so.0 => /usr/share/sangfor/EasyConnect/libpangocairo-1.0.so.0 (0x00007f1538cd4000)
        libpango-1.0.so.0 => /usr/share/sangfor/EasyConnect/libpango-1.0.so.0 (0x00007f153893c000)
        libpangoft2-1.0.so.0 => /usr/share/sangfor/EasyConnect/libpangoft2-1.0.so.0 (0x00007f1536a95000)
    

    然后点击图标启动命令行启动/usr/share/sangfor/EasyConnect/EasyConnect都是可以的


下面是使用docker运行EasyConnect的一些探索

现有docker容器docker-easyconnect

docker!yyds!一键部署

配合SwitchyOmega会有比较好的体验,不然一直切换有点麻烦 SwitchyOmega讲解

我捯饬了半天,最后发现只需要选http协议即可,选择8888端口,auto switch里面匹配你要访问的校园网(比如说我要访问的是基地的网站),默认情景模式我选择到7890端口,这样可以让clash再来一次规则代理

这样就可以实现上基地网站/翻墙自动切换

不过后来又发现SwitchyOmega会导致谷歌页面翻译出问题,所以现在还是老实改系统代理了

使用 export https_proxy=http://127.0.0.1:8888可以让终端走代理

不过用ssh的git clone无法克隆下来仓库,不太懂

$ git clone https://git.x.git
正克隆到 'x'...
^C
(base) 
# magic @ magic in ~ [19:35:20] C:130
$ export https_proxy=http://127.0.0.1:8888                   
(base) 
# magic @ magic in ~ [19:35:25] 
$ git clone https://git.x.git
正克隆到 'x'...
Username for 'https://git.x': ^C
(base) 
# magic @ magic in ~ [19:35:32] C:130
$ git clone git@git.x.git    
正克隆到 'x'...
^C

但如果使用proxychains填写http 127.0.0.1 8888则可克隆ssh的仓库 怪

$ proxychains4 git clone git@git.x.git
[proxychains] config file found: /etc/proxychains4.conf
[proxychains] preloading /usr/lib/x86_64-linux-gnu/libproxychains.so.4
[proxychains] DLL init: proxychains-ng 4.14
正克隆到 'x'...
[proxychains] DLL init: proxychains-ng 4.14
[proxychains] Dynamic chain  ...  127.0.0.1:8888  ...  git.x:22  ...  OK
[proxychains] DLL init: proxychains-ng 4.14
remote: Enumerating objects: 1817, done.
remote: Counting objects: 100% (32/32), done.
remote: Compressing objects: 100% (31/31), done.

自行配置docker

起初的想法是,既然Ubuntu20.04版本不匹配,那就用一个Ubuntu18.04的镜像来安装easyconnect,然后把画面传到电脑上,但直接运行可能会有流量无法代理的可能,浅试了一下,先搁置了

参考链接:https://www.cnblogs.com/cocode/p/12890684.html

https://unix.stackexchange.com/questions/589993/pango-error-harfbuzz-version-too-old

https://www.cnblogs.com/panpanwelcome/p/12877902.html

https://packages.ubuntu.com/