我在一台顶级笔记本电脑上安装了相对较新的 Ubuntu 19.10,运行完美,但有些应用程序启动速度真的很慢。目前是 keepassX、filezilla、deadbeef。两者都需要大约 30 秒才能显示其窗口,但此后两者都像其他应用程序一样快得惊人。也许有人可以帮我找到解决方案?
答案1
在遇到同样的问题并进行 strace 和大量研究后,我发现这可以彻底解决问题(filezilla、keepassX 等现在都可以立即启动):
sudo apt-get install appmenu-gtk2-module
然后重新启动。
答案2
无法确认安装 appmenu-gtk2-module 是否能解决问题。此外,“dbus-launch --exit-with-session”仅提供部分解决方案。例如,VLC 面临相同的启动问题。以“dbus-launch --exit-with-session vlc”启动可避免所述启动延迟。但是,Budgie 桌面无法集成到顶部面板和 raven。
因此,究竟是什么原因导致了这个问题以及如何真正解决它仍然是一个悬而未决的问题。
编辑:我想澄清一下,我认为在使用 dbus-launch 执行 VLC 时不正常的地方。我附上了四张截图 - 其中两张带有 OK 后缀,显示了在没有 dbus-launch 的情况下执行时与 Budgie 的集成。第二组 - 带有 NOK 后缀,显示它是在使用 dbus-launch 执行的。这种差异在 vlcRaven 截图中尤为明显。此外,单击顶部面板图标时的行为也不同。使用 dbus-launch 左键单击图标会显示显示的菜单,而使用 dbus-launch 左键单击图标会隐藏/显示应用程序。右键单击图标时会打开菜单。我不认为不同的行为对我来说是致命的,尽管它可能会提供额外的提示,说明问题的真正原因。
答案3
我可以确认这个问题。有些应用程序的启动延迟严重,而其他应用程序的启动速度相当快。启动后,每个应用程序都正常运行,没有任何进一步的延迟。
我还可以确认,如果我使用,启动应用程序不会遇到任何问题dbus-launch --exit-with-session vlc
。以 root 身份运行应用程序还可以消除延迟。
strace
此时所有延迟的应用程序都会停止:
poll([{fd=14, events=POLLIN}], 1, 25000) = 1 ([{fd=14, revents=POLLIN}])
read(14, "\1\0\0\0\0\0\0\0", 16) = 8
poll([{fd=14, events=POLLIN}], 1, 25000
我很高兴收到任何提示!
编辑:如果有人正在为 budgie 寻找临时解决方案:
安装 menulibre
打开菜单编辑器(menulibre)并搜索启动延迟的应用程序
添加
dbus-launch --exit-with-session APPLICATION
启动命令从图标任务列表中取消固定
通过菜单打开应用程序并再次固定
现在,应用程序将dbus-launch
通过开始菜单和任务栏中的命令启动。
答案4
我在使用 GTK 应用程序和 xmonad (以及通过 xinit 启动 X) 时遇到了类似的问题。我通过将以下行添加到我的 中解决了该问题.xinitrc
:
dbus-update-activation-environment DISPLAY XAUTHORITY