如何使用 gio 命令查询各个缩略图命名空间属性?

如何使用 gio 命令查询各个缩略图命名空间属性?

shellgio命令取代了gvfs-在 Gnome 系统上使用 Gio 通过 Gvfs 后端处理本地和远程文件的套件。在大多数情况下,它非常有效,但我很难理解它用于检查thumbnail命名空间中布尔属性的工具。

gio info $URI将显示受支持的文件 URI 或本地文件路径的所有属性。gio info -a $selection $URI允许查询属性名称空间或单个属性。大多数情况下效果很好:

% gio info -a access test.png
uri: file:///var/tmp/test.png
attributes:
  access::can-read: TRUE
  access::can-write: TRUE
  access::can-execute: FALSE
  access::can-delete: TRUE
  access::can-trash: FALSE
  access::can-rename: TRUE

% gio info -a thumbnail test.png
uri: file:///var/tmp/test.png
attributes:
  thumbnail::path: /home/ferd/.cache/thumbnails/large/0953b0d1f71f9066deee9ac3fb72243b.png
  thumbnail::is-valid: TRUE

但是,如果我尝试查询各个属性,一旦进入缩略图空间,事情就会变得不稳定:

% gio info -a access::can-read test.png
uri: file:///var/tmp/test.png
attributes:
  access::can-read: TRUE

% gio info -a thumbnail::path test.png
uri: file:///var/tmp/test.png
attributes:
  thumbnail::path: /home/ferd/.cache/thumbnails/large/0953b0d1f71f9066deee9ac3fb72243b.png

% gio info -a thumbnail::is-valid test.png
uri: file:///var/tmp/test.png
attributes:

% gio info -a thumbnail::failed test.png
uri: file:///var/tmp/test.png
attributes:

这里发生了什么?为什么我不能单独查询类似thumbnail::is-valid或 的属性thumbnail::failed?无论我做什么,gio info总是不会产生任何属性输出,无论该值是TRUEFALSE、还是该属性完全不存在,这使得很难确定它是哪一个。

(显然我可以查询-a thumbnail和解析输出,这个问题更多的是关于令人困惑的行为,gio而不是如何提取有问题的值。)

我目前使用的是 Fedora 26 机器,使用 Gnome 3.24.3/usr/bin/gioglib2-2.52.3-2.fc26.x86_64.文件系统是,并且文件的行为与这些示例中的ext4文件完全相同。/home/ferd/Pictures/var/tmp/

更新

根据塞巴斯蒂安的建议,归档为侏儒错误 #791325

答案1

这实际上并不是命令的问题gio,而是该属性是如何生成的问题。生成属性的代码可以在 中找到glib/gio/glocalfileinfo.c这条线对您所看到的行为负责。它导致is-valid仅当查询也包含路径时才生成属性。我不知道这是故意这样做的,因为缩略图的有效性与其路径有关,或者这只是一个错误。你可以提交错误报告并提请开发人员注意。

相关内容