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 参数

# 添加参数运行 QQ
qq --no-sandbox

注意:这会降低安全性,仅建议临时使用。

2. 解决方案二:创建普通用户运行(推荐)

# 创建新用户
sudo adduser qquser

# 切换到新用户
sudo -i -u qquser

# 在新用户环境下运行 QQ
qq

3. 解决方案三:修改 QQ 启动器

1. 定位QQ桌面快捷方式

# 查找QQ桌面文件位置
sudo find / -name "*qq*.desktop" 2>/dev/null

通常路径为:

/usr/share/applications/qq.desktop

/opt/QQ/qq.desktop

2. 修改启动器文件

以/usr/share/applications/qq.desktop为例

sudo nano /usr/share/applications/qq.desktop

3. 修改Exec行

添加–no-sandbox

[Desktop Entry]
...
Exec=qq --no-sandbox %U  # 关键修改
...

4. 更新桌面数据库

sudo update-desktop-database

5. 创建安全封装脚本(推荐)

sudo nano /usr/local/bin/qq-safe

内容:

#!/bin/bash
# 限制仅允许普通用户运行
if [ "$(id -u)" -eq 0 ]; then
    echo "Error: QQ should not run as root!"
    exit 1
fi
exec qq --no-sandbox "$@"

赋予权限:

sudo chmod +x /usr/local/bin/qq-safe

6. 修改启动器指向新脚本

sudo nano /usr/share/applications/qq.desktop

修改为:

Exec=/usr/local/bin/qq-safe %U

验证步骤

通过应用菜单启动QQ

检查进程权限:

ps aux | grep -i qq | grep -v grep

应显示:

youruser 1234 0.5 2.1 … qq –no-sandbox

备选方案(若仍崩溃)

A. 使用–disable-gpu-sandbox双重参数

sudo sed -i 's|Exec=.*|Exec=qq --no-sandbox --disable-gpu-sandbox %U|g' /usr/share/applications/qq.desktop

B. 设置Chromium标志

mkdir -p ~/.config/QQ
echo '--no-sandbox' > ~/.config/QQ/electron-flags.conf

安全警告

长期使用–no-sandbox会降低安全性
建议最终采用 普通用户方案:

4. 解决方案四:使用 Deepin-Wine 版 QQ

# 安装 Deepin-Wine 环境
wget -O- https://deepin-wine.i-m.dev/setup.sh | sh

安装 QQ

sudo apt install com.qq.im.deepin

运行(无需 root)

deepin-wine6-stable ~/.deepinwine/Deepin-QQ/drive_c/Program\ Files/Tencent/QQ/Bin/QQ.exe

---

# 错误原因说明
- 安全沙箱(Sandbox):Electron 应用默认启用沙箱隔离,root 用户会触发保护机制

- 核心转储:因权限问题导致进程崩溃

## 永久修复建议
避免以 root 运行图形应用

如果必须用 root,可配置系统策略:

sudo sysctl kernel.unprivileged_userns_clone=1

验证是否修复

检查 QQ 进程

ps aux | grep -i qq | grep -v grep

应显示普通用户权限

文章作者: Billy
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 billy blog
教程 服务器调教
喜欢就支持一下吧
打赏
微信 微信