Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 11-12-2014 14:58:18

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 28-09-2012
Site Web

Nautilus, Dolphin, Konqueror, clic droit et lolcat

Les explorateurs de fichiers sous Linux cachent de nombreuses surprises. Une est particulièrement intéressante puisqu'elle permet d'ajouter des actions en clic droit.
Cela permet de sélectionner un ou plusieurs fichiers avec un clic droit et de lancer dessus des actions automatiques et personnalisées. On peut par exemple lancer des conversions de fichiers photos à la volée. En entreprise, on peut imaginer l'envoi d'un fichier terminé sur le serveur par un simple clic droit. Si on le met en place pour une tierce personne, celle ci n'a pas besoin de connaître la moindre ligne de commande pour déclencher une série d'actions à partir d'un fichier.


Pour l'exemple, et pour rester simple, je vais juste lancer une conversion en png à l'aide du logiciel imagemagick.

apt-get install imagemagick


On utilise le module convert d'Imagemagick, la ligne de commande se résume ici à

convert image.extension image.png




Intégration dans Nautilus
file-Ra6c7196bd5c50840403a4d027ec2b528

On crée un script .sh dans le dossier ~/.local/share/nautilus/scripts/

mkdir -p ~/.local/share/nautilus/scripts/
touch ~/.local/share/nautilus/scripts/conversion_vers_png.sh




Pour les versions de Nautilus antérieure à la 3.6. le dossier contenant les scripts se trouvent ici ~/.gnome2/nautilus-scripts/


Puis on le rend exécutable.

chmod u+x ~/.local/share/nautilus/scripts/conversion_vers_png.sh




Ensuite avec son éditeur préféré, on édite le fichier et on y ajoute une belle boucle:

 #!/bin/sh
IFS='
'

for source in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
do  
    destination="${source%.*}.png"
    convert  $source $destination
done




  • IFS=' ' permet de prendre en charge les espaces dans les chemins et les noms de fichiers.

  • La variable $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS vient prendre le ou les chemins complets du ou des fichiers sélectionnés,

  • for source in charge tour à tour les valeurs de $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS dans la variable source, et exécute  le code situé entre do et done à chaque fois.

  • destination="${file%.*}.png" permet de fabriquer la nouvelle extension du fichier de destination.

  • Maintenant que l'on a le chemin du fichier d'entrée dans $source et le chemin du fichier de sortie dans $destination on peut lancer la conversion :convert  $source $destination




Voilà, le script est prêt, il est maintenant disponible en clic droit depuis Nautilus.


Intégration dans Dolphin et Konqueror


Pour dolphin et konqueror le même principe existe. On passe par des .desktop visibles dans le menu actions. Ils peuvent lancer une commande ou un script directement.
file-R8562a81d9f68ba738f090c1abfb219cb.png


Pour cela il faut créer un .desktop dans le dossier: ~/.kde/share/kde4/services/ServiceMenus/

echo > ~/.kde/share/kde4/services/ServiceMenus/conversion_vers_png.desktop




Le contenu en sera un peu différent :

[Desktop Entry]
Encoding=UTF-8
ServiceTypes=KonquerorPopupMenu/Plugin,image/*
TryExec=convert
Type=Service
Action=convtoPNG;
TryExec=convert
Icon=image-gif

[Desktop Action convtoPNG]
Name=Conversion vers PNG
Icon=image-png
Exec=convert %f "$(echo %f | sed  's/\.[^\.]*$/.png/')"




sed  's/\.[^\.]*$/.png/' est un autre manière de remplacer l'extension
Il existe d'autres exemples de possibilités visibles dans le dossier: /usr/share/kde4/services/ServiceMenus . Ce dossier sert aussi pour partager les scripts entre tout les utilisateurs.


Conclusion
Voilà ce n'est pas bien compliqué à mettre en place et cela peut rendre de grands services, à chacun de les adapter à ses besoins.


Liens:




Cordialement,
L'équipe Debian Facile

Hors ligne

#2 11-12-2014 18:24:27

vv222
Membre
Lieu : Bretagne
Distrib. : GNU/Linux Debian « Sid »
Noyau : >= Linux 4.5.0 (amd64)
(G)UI : Openbox + ROX
Inscription : 18-11-2013
Site Web

Re : Nautilus, Dolphin, Konqueror, clic droit et lolcat

Pas un mot sur lolcat ? Je suis déçu…
https://packages.debian.org/jessie/lolcat

Jouer sous Debian ? Facile !

Hors ligne

#3 11-12-2014 18:25:35

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : Nautilus, Dolphin, Konqueror, clic droit et lolcat

Haha big_smile

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#4 11-12-2014 19:45:40

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 28-09-2012
Site Web

Re : Nautilus, Dolphin, Konqueror, clic droit et lolcat

Excellent! big_smile

Hors ligne

#5 12-09-2016 20:45:40

patatino
Membre
Lieu : Val d'Oise
Distrib. : HandyLinux-1.0-wheezy
Noyau : 3.2.04.686.pae
(G)UI : Lxde+Xfce+Kde
Inscription : 18-01-2014

Re : Nautilus, Dolphin, Konqueror, clic droit et lolcat

Bonjour,

Et pour Thunar ou Pcman, mêmes manipulations et lignes de commandes ?

Merci par avance

Hors ligne

#6 10-10-2016 19:00:17

Elm
Membre
Distrib. : HandyLinux
Noyau : 3.16.0.4
(G)UI : XFCE
Inscription : 07-07-2016

Re : Nautilus, Dolphin, Konqueror, clic droit et lolcat

Bonjour, pour  Thunar c'est même encore plus simple car l'interface permet de gérer directement les actions personnaliseés avec lesquelles on peut lancer une commande ou un script au choix…

Hors ligne

Pied de page des forums