Come posso avviare le operazioni sui file Nautilus dalla riga di comando?


19

Come posso avviare la GUI "File Operations" di Nautilus dalla riga di comando?

Operazioni sui file

Il mio obiettivo è quello di includerlo in uno script di Nautilus.


2
Non sono sicuro di aver capito lo scopo / punto.
RolandiXor

perché non usi semplicemente il comando 'cp' in bash? se si desidera visualizzare un trasferimento, è possibile utilizzare la barra di avanzamento della zenità. qualcosa come 'zenity --progress --text = "Trasferimento di file .." --title = "Trasferimento iniziato"' funzionerebbe. per più informazioni sguardo zenity alla pagina di manuale ed i link: ubuntuforums.org/archive/index.php/t-306515.html ubuntuforums.org/archive/index.php/t-183228.html library.gnome.org/users/ zenity / stable /…
gourgi

@gourgi Voglio che si integri con l'indicatore di avanzamento per eventuali trasferimenti che potrei aver già avviato tramite Nautilus.
ændrük,

Risposte:


7

La risposta breve è che non puoi. Nautilus non è progettato per consentire questo tipo di cose e puoi consultare il codice sorgente di nautilus e guardare le sezioni di copia / spostamento dei file per vedere come funziona.

Parte di questa mancanza di integrazione era la motivazione alla base della progettazione dell'indicatore di progresso. Sostituirebbe la finestra di avanzamento di nautilus e diverse altre incongruenze di avanzamento e consentirebbe a più programmi di mostrare all'utente i propri progressi allo stesso modo:

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

Più lavoro e supporto per questi nuovi progetti sarebbero di aiuto, consentendo l'integrazione di tutti i tipi di strumenti.


3

Da una discussione in irc: //irc.gnome.org#nautilus, posso dire che la versione corrente di Nautilus non espone i metodi per il funzionamento dei file su D-Bus, ma la versione 3.0 lo farà, quindi la risposta dovrebbe essere

non puoi, ora, ma lo farai in futuro


2

Apparentemente questo è ora supportato; almeno quanto segue sembra funzionare sotto 12.04:

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

dove si /source/directorytrova il percorso assoluto della directory di origine, *è il glob per i file da copiare, /destination/directoryè la directory di destinazione e l'ultimo ""è per il nome del file di destinazione. Nota che devi avere l'ultimo lì anche se è vuoto come qui, per soddisfare la firma del metodo. Inoltre, se specifichi un nome di destinazione e disponi di più file di origine, verranno tutti copiati in quel file di destinazione, dando una richiesta di sovrascrittura per ciascun file dopo il primo (che può essere o meno quello che desideri).


La risposta di Jani Uusitalo funziona su nautilus 3.4.2, Ubuntu 12.10
totti
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.