16.04:Nautilus 或 gnome-screenshot 等程序在打开前会挂起 20 秒

16.04:Nautilus 或 gnome-screenshot 等程序在打开前会挂起 20 秒

概括:有时启动 Nautilus 或截屏需要 20 秒或更长时间。唯一的解决办法似乎是重启。每次重启时,我都有 50% 的几率再次发生这种情况。


请参阅底部的更新!


我有一台戴尔笔记本电脑,预装了 Ubuntu 16.04。有时(我猜是每 2 次会话)我的整个会话都会受到以下问题的影响:某些应用程序挂起或根本无法启动。这通常可以通过重新启动来解决(但这并不理想)。

我意识到当前会话受到影响的最常见方式是试图打开鹦鹉螺窗(通过单击“文件”停靠图标)。 窗口将会打开,但需等待约 20 秒

如果我尝试从其他程序中启动文件对话框(例如做的时候文件 > 打开或者邮件 > 附件),20 秒后会出现文件选择器,并冻结父程序同时。

发生的另一件事是,如果我gnome-screenshot从码头启动(相当于gnome-screenshot -i),它不会挂起,但是我点击后截屏大约需要 20 秒在实际截取屏幕截图之前。与此同时,我似乎无法启动其他实例gnome-screenshot

我使用的大多数其他程序不受此影响。

附加信息:

  • 我有一个 NVIDIA gpu,但无论它是处于活动状态还是通过以下方式禁用,都会发生这种情况:nvidia-prime
  • 该问题并非每次启动时都会发生,但一旦我注意到它,它就会在该会话中 100% 地重现
  • 出现此问题时笔记本电脑尚未挂起。出现此问题时,似乎是在启动时出现的。
  • 我总是进行所有更新。自从我开始使用这台笔记本电脑(8 个月)以来,这种情况一直存在

更新 8 月 19 日(感谢 Robert Riedl 让我查看外围设备和系统日志):


看着/var/log/syslogs,我可以注意到这些不同的行为:

  • gnome-screenshot:很好的会议:
    Aug 19 08:13:01 quokka dbus[964]: [system] Activating via systemd: service name='org.freedesktop.hostname1' unit='dbus-org.freedesktop.hostname1.service'
    Aug 19 08:13:01 quokka systemd[1]: Starting Hostname Service...
    Aug 19 08:13:01 quokka kernel: [  162.129006] talpa-vfshook: devpts is on the skip list, not patching
    Aug 19 08:13:01 quokka kernel: [  162.129031] talpa-vfshook: mqueue is on the skip list, not patching
    Aug 19 08:13:01 quokka kernel: [  162.129037] talpa-vfshook: Patching hugetlbfs
    Aug 19 08:13:01 quokka dbus[964]: [system] Successfully activated service 'org.freedesktop.hostname1'
    Aug 19 08:13:01 quokka systemd[1]: Started Hostname Service.
  • gnome-screenshot:糟糕的会议:

    没有着火;然后当最终截取屏幕截图时,只有这一行

      Aug 19 07:57:51 quokka dbus[1029]: [system] Activating via systemd: service name='org.freedesktop.hostname1' unit='dbus-org.freedesktop.hostname1.service'
  • nautilus:很好的会议:

    没有相关系统日志

  • nautilus:糟糕的会议:

    没有着火;当窗户最终打开时,只有这一行

      Aug 19 08:01:31 quokka dbus[1029]: [system] Activating via systemd: service name='org.freedesktop.hostname1' unit='dbus-org.freedesktop.hostname1.service'

答案1

2019 年 8 月 19 日更新


听起来像这样2 年前的虫子

解决方案似乎是添加

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

.xinitrc.xsession


原始答案

该线程提供了可用于缩小问题范围的技术:

下次再发生这种情况时,不要从 GUI 桌面或菜单启动 Nautilus,而是打开终端并输入nautilus。然后,您将有望看到一些错误消息,告诉您确切的问题。

在上面的链接中暗示的解决方案是使用:

cp /etc/X11/xinit/xinitrc ~/.xinitrc

然后编辑文件~/.xinitrc并添加dbus命令。在我的系统上,最终结果如下所示:

$ cat ~/.xinitrc

#!/bin/sh

# /etc/X11/xinit/xinitrc
#
# global xinitrc file, used by all X sessions started by xinit (startx)

# invoke global X session script
. /etc/X11/Xsession
dbus-update-activation-environment --systemd DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY

答案2

尼古拉,

除了查看日志建议之外,我强烈建议在重现问题之前打开终端并观察正在运行的“top”会话。

您还可以从 F1 或其他 txt 登录会话运行它,或者如果会话挂起,甚至可以通过 ssh 远程运行它。

我在使用 nautilus 和应用程序时遇到过各种问题(主要是通过 vnc,但有时是在主机上),有时会得到解决。

例如,您可能能够分辨出哪个进程一直占用时间,应用程序、nautilus 还是其他。

科特

相关内容