为什么 Nautilus/Unity 会崩溃?

为什么 Nautilus/Unity 会崩溃?

每次我使用 Nautilus 并导航到主目录中的特定子目录时,Nautilus 都会立即关闭,桌面壁纸也会消失。除了这个故障外,计算机似乎运行正常,但我永远无法打开该子目录。

我可以使用终端并ls -al进入子目录,在新手看来,我没有发现任何明显错误。其中大约有 30 个文件,总共大约 200kB,大部分是纯文本日志文件以及一些 php 文件。

我也刚刚重新启动到恢复模式并运行了该fsck选项,只是为了确保没有任何损坏发生,但它并没有解决问题。

我仍然认为存在某种文件损坏,但是我已经没有主意了。

这是普通 Ubuntu 13.10 的完整更新版本,没有任何令人难忘的黑客或自定义(除了将 /home 移动到 1TB 驱动器,而 Ubuntu 在 SSD 上运行)。物理计算机几乎是新的,并且有大量内存;我不认为它与硬件有任何关系。

如何解决有故障的子目录?

答案1

猎鹰者的回答让我走上了正确的轨道——目录中有一个favicon.gif导致错误的文件。该文件一定是以某种方式损坏了。我删除了该文件,然后 Nautilus 停止崩溃。我导航到另一个仍包含该文件的精确副本的子目录,它崩溃了。

我会看看如何将此崩溃报告为错误。即使是格式错误的图像文件也不会导致文件浏览器崩溃...

答案2

我认为问题出在 Nautilus 打开该库时尝试加载的缓存缩略图上。在 13.10 上,缩略图存储在~/.cache/thumbnails尝试清空该目录中,看看是否有帮助。

如果仍然没有帮助,那么可能是 nautilus 的某个缩略图插件坏了,该插件处理该文件夹中的特定文件类型。在这种情况下,查看该目录并检查是否存在其他目录中没有的文件类型。

或者该目录中的某个文件已损坏,当您打开该目录时,Nautilus 会尝试缓存该文件,但由于损坏而失败。在这种情况下,您应该检查这些文件是否正常工作且没有损坏。

答案3

启动板中存在有关此问题的未解决的错误:

https://bugs.launchpad.net/ubuntu/+source/nautilus-python/+bug/1203349

基本上,文件夹中长度为 0 的文件或损坏的文件足以导致 Nautilus 在尝试构建其缩略图时崩溃。

最快的解决方案似乎是打开一个终端并rm path/to/zero-length-file(如果你幸运的话)或识别并rm path/to/corrupted-file(如果你不幸的话)。

有人报告说通过将 libgtk-3-0_3.8.6 升级到 3-0_3.8.7 解决了该问题,但是当我写这篇文章时,libgtk 的该版本尚未针对 13.10 正式发布。

相关内容