Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Each window waits 25 s on the accessibility bus when the account has no desktop session (ssh -X)

未关闭
#372 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
43/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
c, linux
领域
backend, desktop

调研方向

Reproduce the delay on an account without a desktop session, using ssh -X or Xvfb, and trace startup to identify the blocking call; the issue does not name source files or tests to start from. The environment workarounds listed did not remove the wait, so first establish which call blocks before deciding on a fix. Done means the affected ecce startup no longer waits about 25 seconds in this scenario.

由索引模型根据 Issue 内容生成。

描述

On a machine where the user has a systemd user session (and therefore a session D-Bus) but has never had a desktop session, every GTK window of ECCE waits about 25 s before it appears. GTK registers with the accessibility bus (org.a11y.Bus, org.a11y.atspi.Registry); no reply comes, and the call ends at the D-Bus default timeout:

dbind-WARNING **: Couldn't register with accessibility bus: Did not receive a reply.

Seen on a Debian 13 host used only over ssh (2026-10-19), started with ssh -X and on Xvfb. Measured with strace: X11 connect to first data server request 25.8 s; with DBUS_SESSION_BUS_ADDRESS=disabled: 0.8 s. After one graphical login on that host the wait was gone (0.8 s). xdg-desktop-portal and xdg-desktop-portal-gtk user units were in the failed state before the login.

Who would see it: users who run ecce on a server over ssh -X, VNC or X2Go with an account that has never logged into a desktop there. Not a local desktop session; not the central-server mode where the client runs on the user's own machine.

Not yet known: which call blocks. NO_AT_BRIDGE=1, GTK_USE_PORTAL=0 and GIO_USE_VFS=local did not remove the wait in a scripted test, so the obvious environment fix is unconfirmed.

Next step: reproduce on an account without a desktop session, find the blocking call, then decide whether ecce sets something when no desktop session is present.

Related: the apps smoke check passed on Builder's 10x10 placeholder window while the main frame never appeared; it should wait for the real main window. The apps suite could also run apps under its own dbus-run-session.

主要语言
C
星标
10
派生
8
平均合并
21 分钟
30 天内合并 PR
1

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

FriendsofECCE/ECCE 的其他 Issue

查看 FriendsofECCE/ECCE 的全部 Issue

相似的 Issue

更多 C Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。