Skip to content

Linux 桌面运行时

Linux 桌面问题横跨两层:

所有权
打包 Python 后端服务、存储、import、后端日志
workflow 选定 N.E.K.O.-PC revision 的 Electron shellAppImage、窗口、透明区、输入法

没有先确认进程与 artifact revision,不要用后端改动修 Electron 窗口/输入问题。

bash
printf 'session=%s desktop=%s wayland=%s display=%s\n' \
  "$XDG_SESSION_TYPE" "$XDG_CURRENT_DESKTOP" "$WAYLAND_DISPLAY" "$DISPLAY"
env | grep -E '^(GTK_IM_MODULE|GTK_IM_MODULE_FILE|QT_IM_MODULE|XMODIFIERS|LANG|LC_)='

选择 Electron 主 browser 进程,而不是 --type=renderer、GPU/zygote 子进程或 projectneko_server helper。可附命令行和相关环境,但不得发布 /proc/<pid>/environ 中的 token/API Key。

同一 artifact 比较 Wayland 与 X11/XWayland。若 X11 正常而 Wayland 拦截点击,应收敛到 Electron/compositor 输入区域,记录桌面环境、compositor、--ozone-platform 和命中区域。

输入法问题要区分候选窗与文字真正提交到 React 输入框,并记录 Steam 进程环境与 Fcitx5/IBus/GTK/GLib。不要把全局替换系统库或扩大 LD_LIBRARY_PATH 当通用修复。

后端在 import 前检查文件系统编码。非 UTF-8 时 launcher_core/bootstrap.py 设置 PYTHONUTF8=1 并只 re-exec 一次。

bash
locale
uv run python -c "import sys; print(sys.getfilesystemencoding(), sys.flags.utf8_mode)"