如何从命令行启动Nautilus文件操作?


19

如何从命令行启动Nautilus的“文件操作” GUI?

文件操作

我的目标是将其包含在Nautilus脚本中。


2
我不确定我是否了解目的/观点。
RolandiXor

你为什么不只在bash中使用'cp'命令?如果您想可视化传输,可以使用zenity进度栏。像“ zenity --progress --text =“正在传输文件..” --title =“已开始传输”之类的东西会起作用。有关zenity的更多信息,请参见联机帮助页和链接: ubuntuforums.org/archive/index.php/t-306515.html ubuntuforums.org/archive/index.php/t-183228.html library.gnome.org/users/ zenity / stable /…
gourgi 2011年

@gourgi我希望它与进度指示器集成,以便我可能已经通过Nautilus启动的任何传输。
ændrük

Answers:


7

简短的答案是,你不能。Nautilus并不是为允许这种事情而构建的,您可以浏览Nautilus的源代码并查看文件复制/移动部分以了解其工作方式。

缺乏集成的部分原因是进度指示器设计背后的动机。它将替换nautilus进度窗口和其他几个进度不一致的地方,并允许多个程序以相同的方式向用户显示其进度:

https://wiki.ubuntu.com/Ayatana/ProgressIndication

这些新设计的更多工作和倡导工作将有所帮助,从而允许集成各种工具。


3

从irc://irc.gnome.org#nautilus中的讨论中,我可以说Nautilus的当前版本没有公开D-Bus上文件操作的方法,但是3.0版可以使用,因此答案应该是

现在不能,但是将来会


2

显然,现在支持此功能;至少以下内容似乎在12.04下有效:

qdbus org.gnome.Nautilus /org/gnome/Nautilus org.gnome.Nautilus.FileOperations.CopyFile "file:///source/directory" "*" "file:///destination/directory" ""

这里/source/directory是源目录的绝对路径,*是要复制文件的全局文件,/destination/directory是目标目录,最后一个""是目标文件名。请注意,即使这里没有空,您也需要有最后一个,以实现方法签名。另外,如果您指定目标名称并有多个源文件,它们都会全部复制到该目标文件中,并在第一个文件之后(每个文件可能不是您想要的)提示覆盖每个文件。


Jani Uusitalo的答案适用于nautilus 3.4.2,Ubuntu 12.10
托蒂2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.