#1 Le 17/01/2011, à 20:49
- Bushman02
[Résolu]Petit script Gnome ==> Thunar
Dans mes scripts Gnome, j'ai celui qui suit, trouvé il y a un certain temps sur le web :
#!/bin/bash
title="Redimensionner"
scale="Choisir longueur"
imgsize=`gdialog --title "$title" --inputbox "$scale" 200 100 2>&1`
while [ $# -gt 0 ]; do
picture=$1
/usr/bin/convert -scale $imgsize "$picture" "$imgsize-$picture"
shift
done
Il fonctionne très bien sous Gnome mais, si je tente de l'utiliser dans Thunar (où le clic droit de Nautilus n'existe pas !) il ne marche pas en tant q'action personnalisée.
Inutile de préciser que je ne connais pas grand-chose au bash.
Quelqu'un peut-il m'aider ?
Merci d'avance.
Dernière modification par Bushman02 (Le 19/01/2011, à 21:17)
Hors ligne
#2 Le 19/01/2011, à 18:52
- petilu63
Re : [Résolu]Petit script Gnome ==> Thunar
Bonjour,
D'après la doc de thunar (anglais), il faut bien créer une action personnalisée à la manière des nautilus scripts. Contrairement à ces derniers il semble que les actions personnalisées de thunar n'acceptent qu'une « simple » commande. Je pense qu'il est donc impossible d'avoir quelque chose d'interactif (où tu pourrais choisir l'échelle du redimensionnement par exemple) mais au contraire une commande simple.
Dans le cas de ton script, pour redimensionner en 200, il faudrait avoir une commande en une ligne, où les étapes sont séparées par des point-virgules. Par exemple :
for file in %F; do tempfile=$(mktemp); (convert -scale 200 $file > $tempfile); mv -f $tempfile "200-$file"; rm -f $tempfile; done
Je n'ai pas thunar sous la main afin d'essayer ; je me suis inspiré de « losslessly rotating JPEGs » de la doc sus-citée. Je t'invite (si tu n'es pas allergique à l'anglais) à visiter cette dernière pour mieux comprendre ce que sont les actions personnalisées de thunar.
Ubuntu 10.04 + gnome / Debian Squeeze + openbox
un bon réflexe : documentation ; débutant sur ubuntu : lecture conseillée
Hors ligne
#3 Le 19/01/2011, à 20:13
- Bushman02
Re : [Résolu]Petit script Gnome ==> Thunar
Tout d'abord merci à toi, petilu63, pour ton attention. Je vais suivre le lien que tu m'indiques.
J'ai essayé ta commande en une ligne (dont j'ai déjà rencontré des exemples sur le forum anglais de Crunchbang), mais je n'ai pas réussi à la faire marcher. Ce n'est pas très grave car, en fait, je suis en possession de deux scripts, celui que j'ai posté ci-dessus et celui-ci :
#!/bin/bash
# Script récupéré de Denis sacchet sur http://denis.sacchet.fr/?p=141#comment-781
# et modifié par MerMouY mermouy [AT] gmail [DOT] com
#
# Les fichiers redimensionnés sont nommés comme suit :
# <nom de fichier original sans extension>-<resolution>.<extension originale>
# <nom de fichier original>-<resolution> si le fichier n'avait pas d'extension
SIZE=`zenity --entry --title="Redimensionner" --text="Entrer la resolution cible" --entry-text="1024"`
if [ "x${SIZE}" = "xok" -o x`echo ${SIZE} | sed 's@^[0-9]*$@ok@'` != "xok" ]
then
zenity --error --text="$SIZE n'est pas une valeur correcte"
exit 1
fi
NB_PHOTOS=$#
RESULTFILE=`mktemp`
until [ -z "$1" ]
do
cible=`echo "$1" | sed "s@\(.*\)\.\([^\.]*\)@\1-${SIZE}.\2@"`
if [ "$cible" = "$1" ]
then
cible="${1}-${SIZE}"
fi
convert "$1" -resize ${SIZE}x${SIZE} "$cible"
if [ $? -eq 0 ]
then
echo "L'image $1 a été redimensionnée avec succès" >> "$RESULTFILE"
echo "Le nouveau fichier est $cible" >> "$RESULTFILE"
else
echo "Une erreur a été rencontrée lors du redimensionnement de l'image $1" >> "$RESULTFILE"
fi
shift
echo "."
done | zenity --progress --pulsate --text="Traitement des photos" --auto-close --auto-kill
zenity --info-text --filename="$RESULTFILE" --height=600 --width=440
rm -f "$RESULTFILE"
Le problème est que , si le premier ne fonctionne pas en tant qu'application personnalisée de Thunar, le second, lui, s'exécute parfaitement. Or, n'étant capable que de coller bout à bout des bribes de scripts, je ne vois pas pourquoi l'un marche et l'autre pas (ils fonctionnent exactement de la même façon, tous les deux, sous Gnome).
Si tu as une idée du pourquoi de la chose, tu peux me l'indiquer, sinon ne te pose pas de problème : j'en ai un qui fonctionne, c'est l'essentiel.
Dans tous les cas, merci encore.
Hors ligne
#4 Le 19/01/2011, à 20:36
- petilu63
Re : [Résolu]Petit script Gnome ==> Thunar
Bonjour,
Si le deuxième script fonctionne, alors le sujet peut-il être considéré comme résolu ? (auquel cas une édition du titre du premier message avec la balise [résolu] s'impose). La différence entre les deux scripts qui me semble pouvoir expliquer le problème est la présence de « gdialog » dans le premier. Je ne connais pas cette commande ; elle est probablement liée à gnome et/ou à nautilus.
Au passage, histoire de bien savoir de quoi on parle :
gnome est un environnement de bureau
nautilus est un explorateur de fichier, ainsi que thunar
Tu ne nous dis pas tout ; je suppose que tu utilises thunar dans un autre environnement que gnome (dont nautilus est l'explorateur de fichier par défaut), sans doute plus léger comme xfce, lxde ou autre... exact ?
Ubuntu 10.04 + gnome / Debian Squeeze + openbox
un bon réflexe : documentation ; débutant sur ubuntu : lecture conseillée
Hors ligne
#5 Le 19/01/2011, à 21:30
- Bushman02
Re : [Résolu]Petit script Gnome ==> Thunar
Merci encore, petilu63, et mes excuses pour le vocabulaire. Il fallait lire nautilus à la place de gnome !!
Pour ce qui est de ta question, qui n'en est pas vraiment une, j'utilise gnome et nautilus avec Ubuntu 10.10 d'une part et, d'autre part, openbox et thunar avec Crunchbang statler. Mais mon manque de connaissances techniques et de rigueur me pose parfois des problèmes, tu l'as compris !
Hors ligne