Qoder AI IDE (v0.10.2) 在 Ubuntu 26.04 开发版上无法启动。应用程序显示短暂黑屏后立即退出,无任何错误信息。

系统环境

  • 操作系统: Ubuntu 26.04 (Resolute Raccoon) - 开发版
  • GNOME Shell: 50.0
  • 内核: 7.0.0-13-generic
  • 会话类型: Wayland (兼容 Xwayland)
  • Qoder 版本: 0.10.2
  • 安装方式: 官方安装脚本

问题症状

  1. 终端运行 qoder 无输出
  2. 应用窗口出现(黑屏)
  3. 进程立即退出(退出码 137 或 1)
  4. 无崩溃日志或错误信息
  5. 重启系统后初次打开正常,后续有问题

已尝试的排查步骤

1. X11 客户端限制

初始错误: Maximum number of clients reached

已应用修复:

  • 创建 /etc/X11/xorg.conf.d/99-maxclients.conf 将 MaxClients 增加到 256
  • 使用 ipcs -mipcrm 清理崩溃 Electron 应用的共享内存泄漏

结果: :cross_mark: 仍然无法启动

2. 共享内存限制

已应用修复:

  • 创建 /etc/sysctl.d/99-electron.conf:

    kernel.shmmax = 4294967296
    kernel.shmall = 8388608
    kernel.sem = 256 32000 100 8192
    

结果: :cross_mark: 仍然无法启动

3. GPU 渲染问题

已应用修复:

  • 在启动脚本中添加 Electron GPU 参数:

    --disable-gpu
    --disable-software-rasterizer
    --no-sandbox
    

结果: :cross_mark: 仍然无法启动(黑屏持续)

4. X11 认证(Wayland vs X11)

排查:

  • 检查 XAUTHORITY 环境变量
  • 验证 /run/user/1000/.mutter-Xwaylandauth.* 存在于 Wayland 会话
  • 确认 DISPLAY 变量设置正确

结果: :cross_mark: 不是根本原因

5. AppArmor 非特权用户命名空间限制

排查:

  • 发现 apparmor_restrict_unprivileged_userns = 1 阻止 Electron 命名空间创建
  • 尝试为该限制禁用 Electron 应用

结果: :cross_mark: 仍然无法启动

当前状态

所有修复后,Qoder 仍然:

  • 启动时显示黑屏
  • 立即退出无错误信息
  • journalctl~/.config/qoder/logs 中无有用日志

怀疑的根本原因

  1. Electron 版本不兼容: Qoder 可能使用过时的 Electron 版本,不支持:

    • GNOME Shell 50.0
    • Ubuntu 26.04 的 Wayland 实现
    • Linux 内核 7.0+
  2. 缺少依赖: 某些必需库在 Ubuntu 26.04 上可能未安装或版本不兼容

  3. AppArmor 策略: 可能有额外的 AppArmor 限制阻止 Qoder/Electron 操作

  4. Wayland 原生支持: Qoder 可能需要明确的 Wayland 支持而非 Xwayland 兼容层

请求的解决方案

  1. 更新 Electron: 请升级到最新 Electron 版本,更好支持 Ubuntu 26.04/Wayland

  2. 添加调试日志: 提供启用详细日志的方法:

    qoder --verbose
    qoder --debug
    
  3. Wayland 原生支持: 考虑添加原生 Wayland 支持而非依赖 Xwayland 兼容层

  4. 系统要求: 明确记录支持的 Ubuntu 版本和最低要求

附加信息

  • 其他 Electron 应用(VS Code、Discord)在此系统上正常工作
  • 问题似乎是 Qoder 的 Electron 配置特有的
  • 愿意提供额外日志、测试版本或系统访问权限以协助调试

辛苦出现问题,右上角上报下问题报告,发下反馈码,我们分析下日志