我在 Ubuntu 19.04 上安装了 Viber /opt/viber
。我启动它,什么也没发生。我打开一个终端/opt/viber/Viber
:
root@asshat:/opt/viber# ./Viber
[16075:16075:0430/092527.937550:ERROR:zygote_host_impl_linux.cc(90)]
Running as root without --no-sandbox is not supported.
See https://crbug.com/638180.
然后我尝试/opt/viber/Viber --no-sandbox
,但仍然收到此错误消息。现在grep -ir "Running as root"
产生了
Binary file ./lib/libQt5WebEngineCore.so.5 matches
有没有办法--no-sandbox
在 libQt5WebEngineCore 中配置?我需要以 root 身份登录时运行它...
或者以任何其他方式以 root 用户身份登录时以另一个用户身份运行 viber,而不会受到影响xhost acces -
。
好的,我将以非 root 用户身份运行它。所以我这样做:
su nonrootuser
sudo xhost local:root
./Viber
现在它启动了,但显示“没有互联网连接”。我该如何解决这个问题?
没关系,无论如何它都无法以普通用户的身份工作,因为 viber 的 SSL 版本与 Ubuntu 19.04 的 SSL 版本不兼容。
答案1
好的,来了。
来自https://doc.qt.io/qt-5/qtwebengine-platform-notes.html
要明确禁用沙盒,可以将 QTWEBENGINE_DISABLE_SANDBOX 环境变量设置为 1,或者将 --no-sandbox 命令行参数传递给用户应用程序可执行文件(将参数传递给 viber 无效)。
因此,这是诀窍:
export QTWEBENGINE_DISABLE_SANDBOX=1
/opt/viber/Viber
然而,snapcraft 和 flatpack 都缺乏足够广泛的调试能力,无法在合理的时间内完成此操作。
但可以创建一个在职的docker-image与创建由于未知原因而无法正常工作的 snapcraft-package 所花费的时间相比,所花的时间要短得多: