如何从命令行启动 Nautilus 的“文件操作” GUI?
我的目标是将其包含在 Nautilus 脚本中。
答案1
简短的回答是,您不能。Nautilus 的设计不允许这种事情发生,您可以查看 nautilus 的源代码并查看文件复制/移动部分以了解其工作原理。
缺乏集成的部分原因是进度指示器设计背后的动机。它将取代 Nautilus 进度窗口和其他几个进度不一致,并允许多个程序以相同的方式向用户显示其进度:
https://wiki.ubuntu.com/Ayatana/ProgressIndication
对这些新设计的更多工作和倡导将会有所帮助,从而实现各种工具的整合。
答案2
从 irc://irc.gnome.org#nautilus 中的讨论中,我可以说 Nautilus 的当前版本没有公开 D-Bus 上的文件操作方法,但 3.0 版本会这样做,所以答案应该是
现在你做不到,但将来你会
答案3
显然现在支持此功能;至少以下内容似乎可以在 12.04 下运行:
qdbus org.gnome.Nautilus /org/gnome/Nautilus org.gnome.Nautilus.FileOperations.CopyFile "file:///source/directory" "*" "file:///destination/directory" ""
其中/source/directory
,是源目录的绝对路径,*
是要复制的文件的 glob,/destination/directory
是目标目录,最后一个""
是目标文件名。请注意,即使最后一个是空的,也需要将其保留在这里,以完成方法签名。此外,如果您指定目标名称并且有多个源文件,则它们都将复制到该目标文件中,并在第一个文件之后为每个文件提供覆盖提示(这可能是您想要的,也可能不是您想要的)。