Gnome 3:通过 DBus 调用 Nautilus 快速文件预览器 sushi

Gnome 3: Call sushi, the Nautilus quick file previewer via DBus

在 Gnome 3 中,Nautilus 有一个名为 Sushi 的新文件预览器。您可以在 Nautilus 中 select 一个文件,点击空格键,它会显示一个快速预览。这与 OSX 上的快速查看(预览)非常相似。 Quick Look 有一个命令行界面,允许您从自己的应用程序内部使用 Quick Look。寿司似乎不允许这样做。

这似乎是通过 dbus 调用 sushi 的唯一方法。 (如果你知道如何通过 cmd 行调用它,那就更好了)我找到了寿司的来源 registers its dbus messages 但不知道如何调用它。

这是我尝试过的:

> qdbus org.gnome.NautilusPreviewer /org/gnome/NautilusPreviewer org.gnome.NautilusPreviewer.ShowFile /foo/bar/baz.png 0x1c00010 0
Error: org.gnome.gjs.JSError.Error
Argument 'parent' (type interface) may not be null

我是 dbus 的新手,所以我可能遗漏了一些明显的东西

> dbus-send --print-reply --dest=org.gnome.NautilusPreviewer /org/gnome/NautilusPreviewer org.gnome.NautilusPreviewer.ShowFile string:"/foo/bar/baz.png" uint32:0x1c00010 uint32:1
Error org.freedesktop.DBus.Error.InvalidArgs: Type of message, '(suu)', does not match expected type '(sib)'

试试这个:

dbus-send --print-reply --dest=org.gnome.NautilusPreviewer /org/gnome/NautilusPreviewer org.gnome.NautilusPreviewer.ShowFile string:"file:///foo/bar/baz.png" int32:0 boolean:false

你的第二个错误意味着你使用了不正确的类型:你应该使用 stringint32boolean (sib),而不是 string 和两个无符号整数 (suu).

另请注意,您应该使用 URI,而不是原始文件名 - 只需添加 file:// 方案前缀。

第二个参数应该是 Window 您要显示预览的 xid。但是 0 对我有用。

我不是这个问题的专家,也是 linux 的新手。我也遇到过这个问题,通过重新安装 dbg 包设法解决了它。

我注意到在升级到 19.10 的过程中,这个包添加必须被删除以进行安装。

执行升级后,gnome 显示与第一个 post 中提到的 @Matthew Levine 相同的错误。重新安装 gdb 为我解决了这个问题。