更新到 Debian 12 后某些应用程序启动速度非常慢

更新到 Debian 12 后某些应用程序启动速度非常慢

我使用 Blackbox 作为我的窗口管理器来运行 Debian,我使用命令从控制台以老式方式启动startx。在 Debian 11 中,我遇到了一些 GUI 应用程序需要很长时间才能启动的问题。更换

exec blackbox

exec dbus-launch --exit-with-session blackbox

解决.xinitrc了问题。今天我升级到 Debian 12(全新安装),但现在我再次遇到同样的问题,尽管使用了 dbus-launch。例如,Firefox 首次启动需要 25 秒。随后的启动时间不到五秒。我尝试通过strace命令运行firefox来看看发生了什么:

$ strace firefox

以下是进程挂起一段时间之前的最后十行:

futex(0x7f060049ca18, FUTEX_WAKE_PRIVATE, 1) = 1
eventfd2(0, EFD_CLOEXEC|EFD_NONBLOCK)   = 35
futex(0x7f0600500018, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7f0600500018, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x7f0600500018, FUTEX_WAKE_PRIVATE, 1) = 0
write(27, "\1\0\0\0\0\0\0\0", 8)        = 8
clock_gettime(CLOCK_MONOTONIC, {tv_sec=6056, tv_nsec=849987069}) = 0
futex(0x7f060049ca18, FUTEX_WAKE_PRIVATE, 1) = 1
clock_gettime(CLOCK_MONOTONIC, {tv_sec=6056, tv_nsec=850085427}) = 0
poll([{fd=35, events=POLLIN}], 1, 25000

任何人都可以解释输出吗?可能是什么问题呢?

答案1

这个问题听起来就像我运行不同的窗口管理器(dwm)的问题,但从控制台终端以相同的方式启动。症状包括 Firefox 启动缓慢,大约需要 30 多秒才能启动。采用以下解决方案后,时间减少到大约 8 秒。

此问题在不同的计算机上通过两种方式解决。

首先,将以下行添加到 .xinitrc 中,然后重新启动 X:

dbus-update-activation-environment --systemd DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY &

另一台计算机上的第二个解决方案遵循关于使用 .xsession 而不是 .xinitrc 的 debian 建议:https://wiki.debian.org/Xsession。当 .xsession 替换 .xinitrc 时,“dbus-update-activation-environment”命令是不必要的,并且不包含在 .xsession 文件中,因为它是从 /etc/X11/Xsession.d 运行的。否则,.xinitrc 的原始命令和选项将被复制到新的 .xsession 文件中,并且 .xinitrc 文件将被删除。

相关内容