¿Cómo puedo iniciar las operaciones del archivo Nautilus desde la línea de comandos?

19

¿Cómo puedo iniciar la GUI de "Operaciones de archivo" de Nautilus desde la línea de comandos?

Operaciones de archivo

Mi objetivo es incluir esto en un script de Nautilus.

ændrük
fuente
2
No estoy seguro de entender el propósito / punto.
RolandiXor
¿Por qué no usas el comando 'cp' en bash? si desea visualizar una transferencia, puede usar la barra de progreso de zenity. algo así como 'zenity --progress --text = "Transfiriendo archivos .." --title = "Transferencia iniciada"' funcionaría. Para obtener más información sobre zenity, consulte la página de manual y los enlaces: ubuntuforums.org/archive/index.php/t-306515.html ubuntuforums.org/archive/index.php/t-183228.html library.gnome.org/users/ zenity / stable / ...
gourgi
@gourgi Quiero que se integre con el indicador de progreso para cualquier transferencia que ya haya comenzado a través de Nautilus.
ændrük

Respuestas:

7

La respuesta corta es que no puedes. Nautilus no está diseñado para permitir ese tipo de cosas y puede revisar el código fuente de nautilus y mirar las secciones de copiar / mover archivos para ver cómo funciona.

Parte de esta falta de integración fue la motivación detrás del diseño del indicador de progreso. Reemplazaría la ventana de progreso de nautilus y varias otras inconsistencias de progreso y permitiría que varios programas muestren su progreso al usuario de la misma manera:

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

Más trabajo y defensa de estos nuevos diseños ayudaría, permitiendo la integración de todo tipo de herramientas.

Martin Owens -doctormo-
fuente
3

De una discusión en irc: //irc.gnome.org#nautilus, puedo decir que la versión actual de Nautilus no expone métodos para la operación de archivos en D-Bus, pero la versión 3.0 sí lo hará, por lo que la respuesta debería ser

no puedes, ahora, pero lo harás en el futuro

enzotib
fuente
2

Aparentemente esto ahora es compatible; al menos lo siguiente parece funcionar en 12.04:

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

donde /source/directoryes la ruta absoluta a su directorio de origen, *es el globo para el archivo [s] para copiar, /destination/directoryes su directorio de destino y el último ""es para el nombre del archivo de destino. Tenga en cuenta que necesita tener el último allí, incluso si está vacío como aquí, para cumplir con la firma del método. Además, si especifica un nombre de destino y tiene varios archivos de origen, todos se copiarán en ese archivo de destino, dando un mensaje de sobrescritura para cada archivo después del primero (que puede o no ser lo que desea).

Jani Uusitalo
fuente
La respuesta de Jani Uusitalo funciona en nautilus 3.4.2, Ubuntu 12.10
totti