我正在使用带有 Arch 的 Awesome 窗口管理器,内核为 6.5.5。
当我第一次启动 gnome-terminal 时,以及每次我还没有运行 gnome-terminal 实例时,都会花费几秒钟(约 20 秒)。
我已经尝试使用 gnome 窗口管理器,因为它是在这个类似的问题
它确实解决了问题,但我不想使用另一个窗口管理器。
我对如何调查和解决这个问题非常感兴趣,但我不确定要寻找什么。
journalctl --user -r
:
Oct 07 07:59:25 arch-pc xdg-desktop-por[6096]: Failed to create settings proxy: Error calling StartServiceByName for org.freedesktop.impl.portal.desktop.gnome: Timeout was reached
Oct 07 07:59:00 arch-pc systemd[1673]: Started VTE child process 6212 launched by gnome-terminal-server process 6091.
Oct 07 07:58:35 arch-pc systemd[1673]: xdg-desktop-portal-gnome.service: Job xdg-desktop-portal-gnome.service/start failed with result 'dependency'.
Oct 07 07:58:35 arch-pc systemd[1673]: Dependency failed for Portal service (GNOME implementation).
Oct 07 07:58:35 arch-pc systemd[1673]: Current graphical user session is inactive.
Oct 07 07:58:35 arch-pc dbus-daemon[1699]: [session uid=1000 pid=1699] Activating via systemd: service name='org.freedesktop.impl.portal.desktop.gnome' unit='xdg-desktop-portal-gnome.service>
Oct 07 07:58:35 arch-pc systemd[1673]: Starting Portal service...
Oct 07 07:58:35 arch-pc dbus-daemon[1699]: [session uid=1000 pid=1699] Activating via systemd: service name='org.freedesktop.portal.Desktop' unit='xdg-desktop-portal.service' requested by ':>
Oct 07 07:58:35 arch-pc systemd[1673]: Started GNOME Terminal Server.
Oct 07 07:58:35 arch-pc dbus-daemon[1699]: [session uid=1000 pid=1699] Successfully activated service 'org.gnome.Terminal'
Oct 07 07:58:35 arch-pc systemd[1673]: Starting GNOME Terminal Server...
Oct 07 07:58:35 arch-pc dbus-daemon[1699]: [session uid=1000 pid=1699] Activating via systemd: service name='org.gnome.Terminal' unit='gnome-terminal-server.service' requested by ':1.41' (ui>
Oct 07 07:54:43 arch-pc sudo[5217]: pam_unix(sudo:session): session closed for user root
说明xdg-desktop-portal-gnome.service
启动时遇到困难。
最近的更新修复了我电脑上的这个问题。下面的软件包全部更新。
xdg-desktop-portal-1.18.0-2
xdg-desktop-portal-gnome-44.2-2
xdg-desktop-portal-gtk-1.14.1-3
需要明确的是,我无法xdg-desktop-portal-gnome.service
在我的电脑上使用 systemctl 找到它。
答案1
我不确定到底出了什么问题,但您可以检查日志中的日志gnome-terminal-server.service
用户服务以查看它是否确实报告了任何内容:
journalctl --user-unit gnome-terminal-server.service
systemd 服务是通过 dbus 的“同伴”dbus 服务文件启动的。一次只有一个服务器实例,只要关闭所有窗口/选项卡,服务器就会退出。所以你所遇到的情况表明它每次在服务器启动期间都会发生。可能是“通道”(dbus)有问题。这也可能只是服务器进程本身的问题。
您可能还想在问题发生后进行检查journalctl -e
,journalctl --user -e
以防有其他原因导致启动停滞。
根据记录,即使您不在 GNOME 会话中和/或不使用 GDM 启动窗口管理器,预计速度也不会很慢。根据我的经验,在正常情况下它仍然比基于 python 的终止符启动得更快。
答案2
据推测,gnome-terminal
需要加载各种Gnome库才能运行。由于您没有运行 Gnome,因此尚未加载这些文件,因此需要在第一次启动 Gnome 程序时加载。您也许可以通过在登录时自动运行一些 gnome 东西来解决这个问题,但实际上,我建议您使用不同的终端模拟器。
就我个人而言,我非常喜欢terminator
。然而,这也可能包含 gnome 的东西。它在我的 Arch 系统上加载速度非常快,但我使用 Cinnamon,它基于 Gnome,可能会加载一些 Gnome 的东西。不过,尝试terminator
看看它是否更快,它确实是一个很棒的终端。
如果这不起作用,只需使用任何非 Gnome 终端模拟器即可。 [xfce4-terminal] 应该非常快并且非 Gnome。亦是如此xterm
,但这对于现代用法来说有点基本。看一下维基百科的列表,尝试几个,看看是否能很快找到一个你喜欢的。