web-dev-qa-db-fra.com

Comment lancer des opérations sur les fichiers Nautilus à partir de la ligne de commande?

Comment démarrer l'interface graphique "File Operations" de Nautilus à partir de la ligne de commande?

File Operations

Mon but est d'inclure cela dans un script Nautilus.

19
ændrük

La réponse courte est que vous ne pouvez pas. Nautilus n'est pas conçu pour permettre ce genre de chose et vous pouvez consulter le code source de Nautilus et consulter les sections de copie/déplacement de fichier pour voir comment cela fonctionne.

Une partie de ce manque d'intégration était la motivation derrière la conception des indicateurs de progrès. Il remplacerait la fenêtre de progression du nautile et plusieurs autres incohérences de progression et permettrait à plusieurs programmes de montrer leurs progrès à l'utilisateur de la même manière:

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

Davantage de travail et de plaidoyer en faveur de ces nouvelles conceptions aideraient, permettant l'intégration de toutes sortes d'outils.

D'après une discussion dans irc: //irc.gnome.org#nautilus, je peux dire que la version actuelle de Nautilus n'expose pas les méthodes permettant d'opérer des fichiers sur D-Bus, mais la version 3.0 le fera. La réponse devrait donc être

vous ne pouvez pas, maintenant, mais vous le ferez à l'avenir

3
enzotib

Apparemment, cela est maintenant supporté; au moins ce qui suit semble fonctionner sous 12.04:

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

/source/directory est le chemin absolu de votre répertoire source, * est le glob du fichier [s] à copier, /destination/directory est votre répertoire de destination et le dernier "" est pour nom du fichier de destination. Notez que vous devez avoir le dernier ici même s'il est vide comme ici, pour remplir la signature de la méthode. De plus, si vous spécifiez un nom de cible et que vous avez plusieurs fichiers source, ils seront tous copiés dans ce fichier de destination, en donnant une invite de remplacement pour chaque fichier après le premier (ce qui peut être ou ne pas être ce que vous voulez).

2
Jani Uusitalo