#2034·Handy

[BUG] 在NixOS + Niri (Wayland)上用"未能初始化GTK"的Appimage相撞

作者: raptor6564-cyber创建于 2026年9月4日更新于 2026年9月13日
标签bug

□ 错误描述

Handy的AppImage版本在 NixOS + Niri (Wayland- only compositor) 上启动失败,出现GTK初始化恐慌. 同样的AppImage在GNOME Wayland会话下的同名NixOS系统上效果很好. 该应用从未达到它的UI——在"gtk:rt::init"期间,坠机发生在'tao'的GTK后端.

这表明该应用依赖于GNOME自动设置的GTK资源/环境变量(GSettings schemas, QQDG DATA DIRS","GDK PIXBUF MODULE FILE","GTK PATH","GIO MODULE DIR"等),但这些变量在Niri/Hyprland/Sway等最低限度的Waylandcomositers中缺失或没有被传播. AppImage 捆绑了 GTK3 及其在 “usr/share/” 和 “usr/lib/” 下的自装装载器/化学装置,但捆绑的复制件并没有被 GTK 运行时间在完全桌面环境之外找到。

□ 系统信息

** App版本:** 0.9.6(附录:`Handy 0.9.6 amd64.AppIage')

** 操作系统:** NixOS 26.05(基于花样的配置)

** CPU\GPU:** 情报N150

** 指挥官:** Niri(仅Wayland)

□ 日志

当从Niri会话内的终端发射Appimage(或直接发射,或用 " appimageTools. wrapType2 " 包裹在尼克斯片段)时,以 " handy " 或 " handy-dubug " 命令:


线程'main' (29881) 在/home/runner/.cargo/git/checkouts/tao-9f9ecfc9576f24d2/c3bee28/src/platform impl/linux/event loop.rs:217:53:
初始化 gtk 后端失败 !: BoolError { message: "未能初始化 GTK", 文件名 : "/home/runner/.cargo/registry/src/index.io-1949cf8c6b5b557f/gtk-0.18.2/src/rt.rs", 函数:"gtk:rt:::init",行:141 }
注释 : 使用“ RUST  BACKTRACE=1” 环境变量运行以显示回溯跟踪

以“完整”表示:


线程'main'(30129) 在/home/runner/.cargo/git/checkouts/tao-9f9ecfc9576f24d2/c3bee28/src/platform impl/linux/event loop.rs:217:53:
初始化 gtk 后端失败 !: BoolError { message: "未能初始化 GTK", 文件名 : "/home/runner/.cargo/registry/src/index.io-1949cf8c6b5b557f/gtk-0.18.2/src/rt.rs", 函数:"gtk:rt:::init",行:141 }
堆栈回溯跟踪 :
0: 0x5ada40ea7015 - <未知>
1: 0x5ada4041e47a - <未知>
2: 0x5ada40ea658b - <未知>
3: 0x5ada40ea62aa - <未知>
4: 0x5ada40eceab1 - <未知>
5: 0x5ada40ecea69 - <未知>
6: 0x5ada40ecef7c - <未知>
7: 0x5ada4041e30b - <未知>
8: 0x5ada40423bb1 - <未知>
9: 0x5ada407861b7 - <未知>
10: 0x5ada4072d1a4 - <未知>
11: 0x5ada40711536 - <未知>
12: 0x5ada40367 fb5 - <未知>
13: 0x5ada40366863 - <未知>
14: 0x5ada4036a528 - (不详)
15: 0x79394162b285 -  libc  start call main (英语).
16: 0x79394162b338 -  libc  start main alias 2
17: 0x5ada403658e5 - <未知>
18: 0x0 - <未知>

我没有Handy生成的日志文件, 因为崩溃发生在应用程序到达自己的日志初始化之前—— 过程随恐慌而退出 . . . . . . .