【问题标题】:Gnome 3: Call sushi, the Nautilus quick file previewer via DBusGnome 3:通过 DBus 调用 sushi,Nautilus 快速文件预览器
【发布时间】:2016-04-25 16:36:09
【问题描述】:

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

这似乎是通过 dbus 调用 sushi 的唯一方法。 (如果你知道如何通过 cmd 行调用它,那就更好了)我找到了 sushi 的来源 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)'

【问题讨论】:

  • 你想从命令行投射窗口吗?还是来自您的应用?
  • 我不太清楚你的意思。你说的是xwin id吗?
  • 你忘了问问题...

标签: dbus quicklook gnome-3 nautilus


【解决方案1】:

试试这个:

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:// 方案前缀。

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

【讨论】:

  • 这似乎不再起作用:“dbus_message_new_signal() 的参数不正确,文件 ../../../dbus/dbus-message 中的断言“_dbus_check_is_valid_path (path)”失败.c 第 1456 行。”
【解决方案2】:

我不是这个问题的专家,而且对 linux 很陌生。我也遇到了这个问题,并设法通过重新安装 dbg 包来解决它。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 2016-12-23
    • 2020-03-15
    • 2011-08-26
    • 1970-01-01
    相关资源
    最近更新 更多