我在旧 PC 上安装了一份全新的 Ubuntu 16.10。只要直接登录,我就可以运行 Firefox (v52.0),但如果我尝试在 RDP 窗口中启动它,Firefox 每次都会崩溃。我查看了崩溃报告,但其中没有任何值得注意的地方。我通过 RDP 从 Windows 10 远程访问 Ubuntu 计算机。我在 Ubuntu 上安装了 XFCE4,并使用 Windows 10 中的远程桌面 (mstsc) 连接到 Ubuntu 计算机。连接正常,我可以在远程桌面会话中打开程序,并且可以使用浏览器 Ubuntu 应用程序(Web 浏览器)。我就是不能使用 Firefox。我已卸载/重新安装 Firefox,并尝试在安全模式下运行它 - 同样的崩溃。
有人遇到过这个问题/知道如何解决吗?
我可以提供有关我的配置的更多详细信息(不确定什么是相关的)。
$ firefox -safe-mode
ExceptionHandler::GenerateDump cloned child 3437
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
Segmentation fault (core dumped)
Failed to open curl lib from binary, use libcurl.so instead
答案1
我在 16.10 上使用 Mate 通过 XRDP 时遇到了同样的问题。我最初通过安装 Firefox 51 来修复它,如下所示:
$ sudo apt-get remove firefox
$ wget https://launchpad.net/~ubuntu-mozilla-security/+archive/ubuntu/ppa/+build/11952503/+files/firefox_51.0.1+build2-0ubuntu0.16.10.2_amd64.deb
$ sudo dpkg -i firefox_51.0.1+build2-0ubuntu0.16.10.2_amd64.deb
$ sudo apt-mark hold firefox
然而,我发现了实际上跟踪该问题的错误,如下:
https://bugzilla.mozilla.org/show_bug.cgi?id=1345413
我可以确认,通过设置 LOGNAME 环境变量,问题就会消失:
$ export LOGNAME=$USER
$ firefox &
这个错误相当老了(2016 年 10 月),但最近似乎已在上游修复。然而,Ubuntu 16.10 上的 Firefox 52.0.1 版本尚未包含修复程序,因此目前手动设置 LOGNAME 是解决该问题的方法。
答案2
我遇到了同样的情况,尽管我在 lxd 容器中运行带有 XFCE 的 Ubuntu 16.10,并使用 xrdp 登录。我没有尝试在裸机/virt 上运行它,并假设它由于容器化而无法正常工作。似乎问题出在其他地方。我发现的解决方法是使用 sudo 运行:它可以作为一种解决方法。降级也有效。
我也尝试运行 Mozilla 提供的二进制版本,但出现了同样的错误:无法以普通用户身份运行,但可以使用 sudo。我尝试了稳定版、测试版、开发人员版和夜间版(52、53、54、55)——它们都出现同样的错误……