开源改变世界!!

/usr/share/icons/hicolor/scalable/apps/linuxcnc-en.svg 未找到但在 .desktop 文件中引用 #1655

推推 grbl 2年前 (2023-01-30) 117次浏览
打开
smoe 打开了这个问题 2022 年 3 月 9 日 · 12条评论
打开

/usr/share/icons/hicolor/scalable/apps/linuxcnc-en.svg 未找到但在 .desktop 文件中引用#1655

smoe 打开了这个问题 2022 年 3 月 9 日 · 12条评论

注释

/usr/share/icons/hicolor/scalable/apps/linuxcnc-en.svg 未找到但在 .desktop 文件中引用 #1655
贡献者

来自https://appstream.debian.org/sid/main/issues/linuxcnc-uspace.html

在存档中找不到图标“/usr/share/icons/hicolor/scalable/apps/linuxcnc-en.svg”。此问题可能有多种原因:
存档中不存在该图标。
图标位于错误的目录中。
该图标没有合适的尺寸(至少 64×64 像素)
在 Debian 和 Ubuntu 上,该图标是一个符号链接。生成器无法读取这些发行版上的符号链接 – 将图标设为真实文件。
为了使图标更容易找到,将其放在 /usr/share/icons/hicolor//apps 中并确保正确设置 .desktop 文件的 Icon= 值。

/usr/share/icons/hicolor/scalable/apps/linuxcnc-en.svg 未找到但在 .desktop 文件中引用 #1655
合作者
安迪普 评论了 2022 年 3 月 10 日 通过电子邮件
/usr/share/icons/hicolor/scalable/apps/linuxcnc-en.svg 未找到但在 .desktop 文件中引用 #1655
贡献者作者
烟雾 评论了 2022 年 3 月 10 日  

我读:

  • 也许 debian/extra 是某些东西的错误位置(所以我预计)也会影响 Fedora
  • 一个快速的 grep 建议 .desktop 文件只是在这些文件应该被 inkscaped 到 .pngs 时才被复制?!?
$ grep -r linuxcnc-en.svg debian/
debian/linuxcnc-uspace/usr/share/applications/linuxcnc-gcoderef.desktop:Icon=/usr/share/icons/hicolor/scalable/apps/linuxcnc-en.svg
debian/linuxcnc-doc-en/usr/share/applications/linuxcnc-integratorinfo.desktop:Icon=/usr/share/icons/hicolor/scalable/apps/linuxcnc-en.svg
debian/linuxcnc-doc-en/usr/share/applications/linuxcnc-documentation.desktop:Icon=/usr/share/icons/hicolor/scalable/apps/linuxcnc-en.svg
debian/linuxcnc-doc-en/usr/share/applications/linuxcnc-gettingstarted.desktop:Icon=/usr/share/icons/hicolor/scalable/apps/linuxcnc-en.svg
debian/extras/usr/share/applications/linuxcnc-gettingstarted.desktop:Icon=/usr/share/icons/hicolor/scalable/apps/linuxcnc-en.svg
debian/extras/usr/share/applications/linuxcnc-documentation.desktop:Icon=/usr/share/icons/hicolor/scalable/apps/linuxcnc-en.svg
debian/extras/usr/share/applications/linuxcnc-integratorinfo.desktop:Icon=/usr/share/icons/hicolor/scalable/apps/linuxcnc-en.svg
debian/extras/usr/share/applications/linuxcnc-gcoderef.desktop:Icon=/usr/share/icons/hicolor/scalable/apps/linuxcnc-en.svg

这是执行转换的方法:

inkscape --export-width=64 --export-height=64 --export-type=png debian/extras/usr/share/icons/hicolor/scalable/apps/linuxcnc_en.svg

Inkscape 已经是构建依赖项。

/usr/share/icons/hicolor/scalable/apps/linuxcnc-en.svg 未找到但在 .desktop 文件中引用 #1655
贡献者

错误的一件事是文件名。图标文件已重命名linuxcnc-en.svg->linuxcnc_en.svg并且看起来 .desktop 文件未更新。提交32b2aec似乎不完整。唯一使用此图标的桌面条目也是缺少该图标的条目。

我无法验证这一点,但在 Debian 存储库中存在其他软件包,它们只提供 .svg 文件(yelp 是其中之一),并且它们没有这些警告。我能看到的唯一区别是它们的图标条目中只有文件名,没有路径或扩展名。这与我们的不同,后者包括完整路径和扩展名。现在,在https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.1.html
查看桌面文件的规范,图标条目确实可以是完整路径,这可能表明如果发生这种情况,问题来自转换为 appstream。我不确定这一点。

一个起点是用新文件名更新必要的 .desktop 文件linuxcnc_en.svg。我尚未验证的可能的第二步是删除 .dekstop 文件中图标条目的路径和扩展名,因此我们最终只得到linuxcnc_en.

澄清一下,如果我们删除路径和扩展名,我还没有验证 appstream 警告是否消失,但是我可以验证如果我们删除它图标是否正确显示。

/usr/share/icons/hicolor/scalable/apps/linuxcnc-en.svg 未找到但在 .desktop 文件中引用 #1655
贡献者作者

谢谢,@havardAasen. 我没想到这会有一个表型,我必须承认,这当然更重要。你会去争取 PR(这是你的贡献)吗?我们作为一个社区在某些时候还需要讨论的是吸引眼球。这个“EN”图标有点像小鸭子,我在里面看不出任何 LinuxCNC 风格。

/usr/share/icons/hicolor/scalable/apps/linuxcnc-en.svg 未找到但在 .desktop 文件中引用 #1655
合作者

我设计了这些图标来指示语言。我认为是在 Debian 文档中,或者在其他地方,建议不要对语言使用标志,因为这会导致痛苦和不安。(想一想说俄语的乌克兰人现在是否想点击俄罗斯国旗)。所以我做了一些带有语言代码的快捷图标。

/usr/share/icons/hicolor/scalable/apps/linuxcnc-en.svg 未找到但在 .desktop 文件中引用 #1655
贡献者作者

这确实很困难。幸运的是,weblate 社区最终变得强大到足以提供帮助。例如,对于较大的图标,我希望看到一只正在阅读的企鹅(还开着护目镜?)——但我不相信,我们首先需要不同语言的图标。有你的文档。是的。谢谢。

LinuxCNC 及其经常使用的 U 盘启动的特殊之处在于,作为开发人员,我们有机会定义用户桌面的外观。Raspbian 类似。因此,在启动时,这需要给人留下良好的印象 – 不仅是工厂的操作员,还有朋友和家人,他们无法判断软件的质量,但他们可以判断这一切所付出的努力看起来。