Wie kann ich Nautilus-Dateivorgänge über die Befehlszeile starten?

19

Wie kann ich die Nautilus-Benutzeroberfläche "File Operations" über die Befehlszeile starten?

Dateioperationen

Mein Ziel ist es, dies in ein Nautilus-Skript aufzunehmen.

ændrük
quelle
2
Ich bin nicht sicher, ob ich den Zweck / Punkt verstehe.
RolandiXor
warum benutzt du nicht einfach den Befehl 'cp' in bash? Wenn Sie eine Übertragung visualisieren möchten, können Sie den Zenity-Fortschrittsbalken verwenden. so etwas wie 'zenity --progress --text = "Übertragen von Dateien .." --title = "Übertragung gestartet"' würde funktionieren. Weitere Informationen zu Zenity finden Sie auf der Manpage und den Links: ubuntuforums.org/archive/index.php/t-306515.html ubuntuforums.org/archive/index.php/t-183228.html library.gnome.org/users/ zenity / stable /…
gourgi
@gourgi Ich möchte, dass es in die Fortschrittsanzeige für alle Überweisungen integriert wird, die ich möglicherweise bereits über Nautilus gestartet habe.
ændrük

Antworten:

7

Die kurze Antwort lautet: Sie können nicht. Nautilus ist nicht dafür ausgelegt, und Sie können den Quellcode von Nautilus durchgehen und in den Abschnitten zum Kopieren / Verschieben von Dateien nachsehen, wie dies funktioniert.

Ein Teil dieses Mangels an Integration war die Motivation für das Design des Fortschrittsindikators. Es würde das Nautilus-Fortschrittsfenster und einige andere Fortschrittsinkonsistenzen ersetzen und es mehreren Programmen ermöglichen, dem Benutzer ihren Fortschritt auf dieselbe Weise anzuzeigen:

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

Mehr Arbeit und Befürwortung für diese neuen Designs würden helfen und die Integration aller Arten von Tools ermöglichen.

Martin Owens -doctormo-
quelle
3

Aus einer Diskussion in irc: //irc.gnome.org#nautilus kann ich sagen, dass die aktuelle Version von Nautilus keine Methoden für den Dateibetrieb auf D-Bus verfügbar macht, die Version 3.0 jedoch, so sollte die Antwort lauten

Sie können jetzt nicht, aber Sie werden in Zukunft

Enzotib
quelle
2

Anscheinend wird dies jetzt unterstützt; zumindest scheint unter 12.04 folgendes zu funktionieren:

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

Wo /source/directoryist der absolute Pfad zu Ihrem Quellverzeichnis, *ist das Glob für die zu kopierende Datei (en), /destination/directoryist Ihr Zielverzeichnis und das letzte ""ist für den Zieldateinamen. Beachten Sie, dass Sie den letzten Eintrag dort haben müssen, auch wenn er wie hier leer ist, um die Methodensignatur zu erfüllen. Wenn Sie einen Zielnamen angeben und über mehrere Quelldateien verfügen, werden alle in diese eine Zieldatei kopiert, wobei nach der ersten Datei eine Überschreibaufforderung für jede Datei ausgegeben wird (die möglicherweise Ihren Wünschen entspricht oder nicht).

Jani Uusitalo
quelle
Jani Uusitalos Antwort funktioniert auf Nautilus 3.4.2, Ubuntu 12.10
bis