当我启动 Ubuntu 16.04 时,一些应用程序在第一次打开时需要很长时间才能运行,包括 Chrome 和任何 PDF 查看器。其他应用程序(如 nautilus)会立即启动。
我第一次尝试使用 okular 之类的 PDF 查看器时,打开它需要很长时间。它第一次打开 PDF 文件后,其他文件会很快打开。即使我关闭所有文件,并在很长时间后打开一些文件,这种情况也会很快发生。
如何才能加快这些程序的首次运行速度?
答案1
我的新笔记本上突然出现了同样的问题。之后我在台式机上重新安装了 ubuntu,问题没有再出现。
经过一番研究,我找到了解决方案Arch Linux 论坛
关闭所有应用程序(如 Chrome)并尝试在终端上运行以下命令:
gnome-keyring-daemon &
之后,再次打开 Chrome。它可能会再次要求您输入帐户密码。对我来说,这解决了延迟问题。Chrome 和 gnome-terminal 现在打开速度非常快(延迟不到 1 秒,而不是 30 秒)。
供您了解,在修复之前 Chrome 会抛出以下错误:
Gkr-Message:秘密服务操作失败:未收到回复。
可能的原因包括:远程应用程序未发送回复、消息总线安全策略阻止回复、回复超时或网络连接中断。
我使用 记录了 Chrome 启动strace
,仅此消息就花了 25 秒才出现。我猜这是一条系统消息,不仅适用于 Chrome,因为我在启动 gnome-terminal 时也遇到了同样的问题,这个修复程序也解决了该问题。
答案2
您可以安装preload
并ureadahead
查看是否有帮助。据我所知,两者可以协同工作 - 因此它们不应该相互冲突。
预加载
关于
preload 是一个自适应预读守护进程,它从磁盘预取应用程序映射的文件,以减少应用程序的启动时间。
参见手册页了解更多信息。
安装
您可以preload
通过以下方式安装
sudo apt install preload
提前
关于
ureadahead(über-readahead)在启动期间使用,在需要文件时提前读取文件,以便它们已经存在于页面缓存中,从而提高启动性能。
安装
通过安装
sudo apt install ureadahead
尽管ureadahead
很可能已经安装好了。
答案3
我觉得这个错误是由于dbus-user-session package
(见https://bugs.launchpad.net/bugs/1689825),从而阻止gnome-keyring-daemon
启动。
卸载dbus-user-session
可以修复该问题。
sudo apt-get purge dbus-user-session