Comment démarrer l'interface graphique "Opérations sur les fichiers" de Nautilus à partir de la ligne de commande?
Mon objectif est de l'inclure dans un script Nautilus.
Comment démarrer l'interface graphique "Opérations sur les fichiers" de Nautilus à partir de la ligne de commande?
Mon objectif est de l'inclure dans un script Nautilus.
Réponses:
La réponse courte est, vous ne pouvez pas. Nautilus n'est pas conçu pour permettre ce genre de chose et vous pouvez parcourir le code source de nautilus et regarder 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 de nautilus et plusieurs autres incohérences de progression et permettrait à plusieurs programmes de montrer leur progression à l'utilisateur de la même manière:
https://wiki.ubuntu.com/Ayatana/ProgressIndication
Plus de travail et de plaidoyer pour 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 de fonctionnement des fichiers sur D-Bus, mais la version 3.0 le fera, donc la réponse devrait être
vous ne pouvez pas, maintenant, mais vous le ferez à l'avenir
Apparemment, cela est désormais pris en charge; 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" ""
où /source/directory
est le chemin absolu de votre répertoire source, *
est le glob pour le fichier [s] à copier, /destination/directory
est votre répertoire de destination et le dernier ""
est pour le nom du fichier de destination. Notez que vous devez avoir le dernier là même s'il est vide comme ici, pour remplir la signature de la méthode. De plus, si vous spécifiez un nom cible et avez plusieurs fichiers source, ils seront tous copiés dans ce fichier de destination, donnant une invite de remplacement pour chaque fichier après le premier (qui peut ou non être ce que vous voulez).