为什么在图像查看器中打开 Ubuntu 的默认壁纸(warty-final-ubuntu.png)总是失败?

为什么在图像查看器中打开 Ubuntu 的默认壁纸(warty-final-ubuntu.png)总是失败?

每次我尝试打开 Ubuntu(任何版本,自从我开始使用的 8.04 开始)的默认壁纸(名为 )时warty-final-ubuntu.png,都会收到错误:

图片查看器显示这不是 PNG 文件

将此报告为错误一年多前就出现了这个问题,但这个问题仍然没有解决。另外,我不明白为什么默认壁纸仍然命名为,warty-final-ubuntu.png而不是使用壁纸所属的实际代码名称前缀,例如precise-final-ubuntu.png等等。

答案1

您说得对,这是一个错误。Rinzwind 的回答解释了问题所在——eog假设文件是​​ PNG,因为它的后缀是.png。这种行为本身就是一个错误,因为有时图像的后缀是错误的。大多数其他图像查看器会查看文件内部以确定其文件类型(至少在根据文件扩展名打开它的初始尝试失败时)。

我已经验证了此行为,并将您的 Launchpad 错误标记为重复错误 172416,这是eog无法自动检测图像类型的错误。

如果您需要打开带有错误后缀的图像eog,您可以重命名它,或者,如果需要其当前名称,您可以为其建立符号链接(正如 Rinzwind 所解释的那样,您尝试打开的背景壁纸已经存在)。

要了解如何创建符号链接,请参阅man ln. 使用-s标志来创建符号(而不是硬)链接。

例如,如果您的主文件夹中有一个图片文件夹,并且其中包含一个名为的文件,foo.png该文件实际上是 JPEG,则您可以使用以下命令为其创建一个名为 JPEG 的符号链接:

cd ~/Pictures
ln -s foo.png foo.jpg

从命令行创建符号链接时要记住的一个关键点是指定目标首先,来源第二。(即你正在访问的链接制作不是第一个参数。

答案2

您正在尝试打开错误的文件。

file /usr/share/backgrounds/warty-final-ubuntu.png
/usr/share/backgrounds/warty-final-ubuntu.png: JPEG image data, JFIF standard 1.02

该文件是 JPG 格式,而不是 PNG 格式。您应该打开它,/usr/share/unity-2d/warty-final-ubuntu.jpg因为它是指向您文件的符号链接:

file /usr/share/unity-2d/warty-final-ubuntu.jpg
/usr/share/unity-2d/warty-final-ubuntu.jpg: symbolic link to `../backgrounds/warty-final-ubuntu.png'

以您的图像为例(eog是图像查看器的命令行名称)。

在此处输入图片描述

相关内容