我在戴尔 XPS 15 9550 笔记本电脑上使用 Ubuntu 16.04。当前内核为 4.4.0-34。显示分辨率为 3840x2160。我使用的是 nvidia prime,目前是 nvidia 驱动程序 370,但我默认在 prime-indicator 中选择了“Intel”。我不知道还有哪些相关信息,请随时提问。
我的系统基本正常运行,但也存在一些问题:
- 有时(大多数时候)Ubuntu 需要很长时间才能关闭,不知道原因。
- 有时当我编辑文本文件(例如在 gedit 文本编辑器中)时,我的系统“不喜欢它”,它似乎无缘无故地滞后。
- 某些程序经常崩溃(例如 Firefox)
- 有时我会收到错误消息“检测到系统程序错误”。
这些问题都不是那么令人沮丧,我真的想做些什么来解决它。但最近我又开始使用 Qt Creator 开发一个 Qt/C++ 项目,Qt Creator 总是崩溃,导致它无法使用。事情是这样的:当我开始在 Qt Creator 中编辑 main.cpp 之类的文件时,它就崩溃了。如果我用 strace 从终端运行它,我所能读到的只有:
--- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=0} ---
+++ killed by SIGSEGV (core dumped) +++
Segmentation fault (core dumped)
一开始我以为我的 Qt Creator 出了问题,但现在我认为问题出在 Ubuntu 上(我尝试了多个版本的 Qt Creator,多种安装方法,都产生了相同的效果)。虽然我不知道发生了什么,但我怀疑问题可能与显卡驱动程序有关?以及我上面描述的其他问题?
如果你能帮助我,那就太好了。
答案1
我在相同型号的机器上使用 QtCreator 时也遇到了同样的问题。起初,我也寻找了图形驱动程序,但我注意到 Qt 在使用时运行正常sudo
。
因此,我在环境变量中搜索,发现 QtCreator 在QT_LINUX_ACCESSIBILITY_ALWAYS_ON
未设置时可以工作。我认为此设置会强制屏幕阅读器读取代码,而 Qt 不喜欢这样。
经过搜索,我找到了一个/etc/X11/Xsession.d/90qt-a11y
在会话打开时导出此变量的脚本。只需注释此行并重新启动会话即可解决问题。