linuxQQ安装后双击启动无响应,提示追踪与中断点陷阱 (核心已转储)
linuxQQ安装后双击启动无响应,提示追踪与中断点陷阱 (核心已转储)
终端报错内容:
root@ubuntu:~/Desktop# qq
[0415/140821.298504:FATAL:electron_main_delegate.cc(295)] Running as root without –no-sandbox is not supported. See https://crbug.com/638180.
追踪与中断点陷阱 (核心已转储)
这个错误表明你以 root 用户 运行 QQ(Linux 版),但 Electron 框架(QQ 使用的底层技术)出于安全考虑,默认禁止 root 用户直接运行。
[TOC]
解决方案:
1. 解决方案一:使用 –no-sandbox 参数
1 | # 添加参数运行 QQ |
注意:这会降低安全性,仅建议临时使用。
2. 解决方案二:创建普通用户运行(推荐)
1 | # 创建新用户 |
3. 解决方案三:修改 QQ 启动器
1. 定位QQ桌面快捷方式
1 | # 查找QQ桌面文件位置 |
通常路径为:
/usr/share/applications/qq.desktop
/opt/QQ/qq.desktop
2. 修改启动器文件
以/usr/share/applications/qq.desktop为例
1 | sudo nano /usr/share/applications/qq.desktop |
3. 修改Exec行
添加–no-sandbox
1 | [Desktop Entry] |
4. 更新桌面数据库
1 | sudo update-desktop-database |
5. 创建安全封装脚本(推荐)
1 | sudo nano /usr/local/bin/qq-safe |
内容:
1 |
|
赋予权限:
1 | sudo chmod +x /usr/local/bin/qq-safe |
6. 修改启动器指向新脚本
1 | sudo nano /usr/share/applications/qq.desktop |
修改为:
1 | Exec=/usr/local/bin/qq-safe %U |
验证步骤
通过应用菜单启动QQ
检查进程权限:
1 | ps aux | grep -i qq | grep -v grep |
应显示:
youruser 1234 0.5 2.1 … qq –no-sandbox
备选方案(若仍崩溃)
A. 使用–disable-gpu-sandbox双重参数
1 | sudo sed -i 's|Exec=.*|Exec=qq --no-sandbox --disable-gpu-sandbox %U|g' /usr/share/applications/qq.desktop |
B. 设置Chromium标志
1 | mkdir -p ~/.config/QQ |
安全警告
长期使用–no-sandbox会降低安全性
建议最终采用 普通用户方案:
4. 解决方案四:使用 Deepin-Wine 版 QQ
1 | # 安装 Deepin-Wine 环境 |
错误原因说明
安全沙箱(Sandbox):Electron 应用默认启用沙箱隔离,root 用户会触发保护机制
核心转储:因权限问题导致进程崩溃
永久修复建议
避免以 root 运行图形应用
如果必须用 root,可配置系统策略:
1 | sudo sysctl kernel.unprivileged_userns_clone=1 |
验证是否修复
1 | # 检查 QQ 进程 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Billy 的博客!
