默认分类 manjaro 滚动升级20.0.3后 electron-ssr 无法启动 # 问题描述 今天,我随手滚动升级了一下我的 manjaro,也就是从 20.0.2 升级到了 20.0.3,结果我的 electron-ssr 就无法启动了,运行程序后,它的启动框一闪而过,一如从未来过。 于是,我用命令行运行了下它,结果他打印了如下错误: ``` electron4: error while loading shared libraries: libre2.so.7: cannot open shared object file: No such file or directory ``` 于是我就开始查了,查了一圈,并没有完全一样的错误场景,提出的修复方案感觉与我的问题也不搭嘎。经过了十分钟的挣扎后,我开始了自我救赎之路。 首先,根据报错信息,搜索系统中是否存在 libre.so 之类的文件,为了避免漏查,名字不输全,采用模糊搜索。 ```bash [dogify@dogify-pc ~]$ sudo find / -name libre2* /usr/lib/libre2.so /usr/lib/libre2.so.8.0.0 /usr/lib/libre2.so.8 find: ‘/run/user/1000/doc’: 权限不够 find: ‘/run/user/1000/gvfs’: 权限不够 ``` 根据搜索结果可知,系统中并不存在 `libre2.so.7` 的文件,但存在 `libre2.so`,`libre2.so.8.0.0` 和 `libre2.so.8`。 猜测是因为系统升级时,把这个依赖库给同步升级了,而 electron4 依赖的版本号是7。而运行时找不到版本号为 7 的运行库,导致报错。 ## 解决方案一: 1. 找到 electron-ssr 的执行文件 ``` [dogify@dogify-pc ~]$ whereis electron-ssr electron-ssr: /usr/bin/electron-ssr /usr/share/electron-ssr ``` 1. 查看其使用的 electron 版本 ``` [dogify@dogify-pc ~]$ cat /usr/bin/electron-ssr #!/bin/bash exec electron4 /usr/share/electron-ssr/app.asar "$@" ``` 1. 将 `electron4` 改为 `electron6` 保存(因为我本地没有 5 的环境,所以就提到6) 1. 保存修改,再次运行,软件正常启动。 ## 解决方案二(未验证): 从网上下载 libre2.so.7 文件。 因为 linux 桌面版本太多,我找了一圈也没有找到为 manjaro 编译的 libre2.so.7 文件,且出于系统库统一版本的角度,我最终放弃了此方法。 ## 后续 在经过方案一的操作后,我的软件启动了,也可以正常的执行代理。但在我需要修改订阅地址时,我发现软件打开是白屏的,无法进行任何操作。 猜测大概是因为 electron-ssr 是基于electron4开发的,相对于现在,版本过于老旧,导致兼容性问题。解决办法估计要去获取其源码,做针对兼容性修改,重新编译发布。但是这超出了我的知识范围,且现阶段无此精力。最后我选择转战了 shadowscoks-qt5。 ## 后续的后续 经过我的查找,我发现了新的支持ssr订阅的linux客户端 -[qv2ray](https://github.com/Qv2ray/Qv2ray "qv2ray")。 v2ray 是一个协议簇,包含了之前很多的协议,比如ss、ssr等。 该软件同时支持 macos、linux和windows,经过简单的适用,完美符合我的需求。安装过程参考其文档介绍,在此记录下,你可以查看以下我的安装流程,也可以查看 [文档](https://qv2ray.net/ "文档")。 manjaro 可以直接通过包管理工具安装,还需要安装其依赖的v2ray-core。其他 linux 发行版可以使用其提供的 AppImage封装包。 安装完成后,还需要下载配套的ssr插件,使软件支持ssr功能。请根据系统版本下载对应的插件文件,linux和macos下载so文件,windows下载dll文件,置于软件的plugins目录下。插件目录可以通过点击软件页面上的插件-打开本地插件目录按钮打开。  插件拷贝进插件目录后,重启软件,正常情况下你会看到如上图提示的插件已加载页面。 然后添加订阅信息,点击分组,打开以下页面。  1. 随便填个分组名 1. 选择订阅设置标签页,勾选此分组是一个订阅 1. 填写你的订阅地址,点击下方的更新订阅 1. 更新完成后就获得了所有节点 1. 关闭对话框,开始使用 正常配置的情况下,你可以在软件主页面左侧看到订阅的分组,双击该分组可以看到所有的订阅节点,右键节点可以连接此节点。  阅读全文 2020-07-18 dogify 4 条评论 7246 次浏览