Taltan.blog.bkp

mercredi, juin 7 2006

Les nautilus-scripts

Voila un fonctionnalité bien pratique dans gnome, les scripts nautilus. Il suffit de rajouter des scripts bash dans le dossier ~/.gnome2/nautilus-scripts pour les voir apparaitre dans le menu contextuel de nautilus. On peut par exemple utiliser un script de nettoyage des noms de fichier. Avec le scripts ~/.gnome2/nautilus-scripts/replace_space.sh on a :

nautilus-script01.png

Ce qui donne :

nautilus-script02.png

NB 1 : ne pas oublier de rendre les scripts exécutables

NB 2 : _/!\_ Par principe de précaution, je vous conseille de commencer à utiliser un script qui, au final supprime ou modifie un fichier, sur une copie de vos fichiers, histoire de voir que tout se passe bien ;)

Voila ceux dont je me sert le plus souvent (maj 12/04/2008) :

Encode_TS.sh :

Encode_TS_4-3.sh

Encoder en Xvid au format 4/3 avec ffmpeg un enregistrement .ts de Freebox HD

#!/bin/bash
encode_ts ()
{
        for parametre in "$@";
        do
        ext=`echo $parametre | awk -F "." '{print $NF}'`       
        avi_name=`echo ${parametre/$ext/avi}`      
        xterm -e "echo | /usr/bin/ffmpeg -i "$parametre" -r 29.97 -vcodec xvid -s 640x480 -aspect 4:3 -maxrate 1800k -b 1500k -qmin 3 -qmax 5 -bufsize 4096 -mbd 2 -bf 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -g 300 -acodec mp3 -ar 48000 -ab 128k -ac 2 "$avi_name""
        done
}

## Traitement
encode_ts "$@"

Encode_TS_16-9.sh

Encoder en Xvid au format 16/9 avec ffmpeg un enregistrement .ts de Freebox HD

#!/bin/bash
encode_ts ()
{
        for parametre in "$@";
        do
        ext=`echo $parametre | awk -F "." '{print $NF}'`       
        avi_name=`echo ${parametre/$ext/avi}`      
        xterm -e "echo | /usr/bin/ffmpeg -i "$parametre" -r 29.97 -vcodec xvid -s 704x384 -aspect 16:9 -maxrate 1800k -b 1500k -qmin 3 -qmax 5 -bufsize 4096 -mbd 2 -bf 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -g 300 -acodec mp3 -ar 48000 -ab 128k -ac 2 "$avi_name""
        done
}

## Traitement
encode_ts "$@"

800x600_resize.sh :

Converti la taille en 800x600 des photos sélectionnées, nécessite le paquet imagemagick

sudo apt-get install imagemagick
#!/bin/bash
do_800x600 ()
{
for img in "$@";
do
        convert -resize 800x600 $img 800x600-$img
done
}
do_800x600 "$@"

play_TV.sh :

En DualHead joue avec mplayer la vidéo séléctionnée sur le deuxième display (TV par exemple)

#!/bin/bash
#play_TV.SH
export DISPLAY=:0.1
mplayer -vo xv -fs "$1"
export DISPLAY=:0.0

Variante avec VLC

#!/bin/bash
export DISPLAY=:0.1
vlc -f "$1"
export DISPLAY=:0.0

play_XMMS.sh :

Joue dans XMMS tous le fichiers du dossier (et sous dossier) sélectionné

#!/bin/bash
xmms "$1"*

replace_space.sh :

Renomme les fichiers ou dossiers passés en paramètres en replaçant les espaces par des underscrores _

#!/bin/bash
# Renomme les fichiers ou dossiers passés en paramètres en replaçant les espaces par des underscrores _
numParam=1
for parametre in "$@"; do
        old_name="$parametre"
        new_name=`echo "$parametre" | tr -s ' ' '_'`
        mv "$old_name" "$new_name"
        let $[numParam += 1]
done

par2repair.sh :

Permettra de reconstituer le fichier original d’une archive manquante ou abîmée

#!/bin/sh
par2repair -q "$1" | zenity --text-info --title "PAR2" --width=500 --height=500

exif_photos_rename_v1.2.sh :

Mise à jour script exif_photos_rename_1.2, renommer les photos selon les données EXIF

#!/bin/bash
############################################################################################
# Taltan - http://www.taltan.fr - ola.taltan_AT_laposte.net                                #
############################################################################################
# Script exif_photos_rename_v1.2.sh                                                        #
# Licence : GNU / GPL                                                                      #
############################################################################################
# Renomme les photos selon les données EXIF sous la forme :                                #
# ${aa}-${mm}-${jj}_${hh}.${min}_${numero}.ext  => ex : 20061104_19.41_007.jpg             #
# Fonctionne pour une numérotation de 001 à 999                                            #
############################################################################################
# Dépendances                                                                              #
############################################################################################
#  - Nécessite le paquet exiftool : http://www.sno.phy.queensu.ca/~phil/exiftool/          #
#  - Nécessite le paquet zenity : http://library.gnome.org/users/zenity/index.html.fr      #
#    => sudo apt-get install libimage-exiftool-perl zenity                                 #
############################################################################################
# 15/07/07 - v1.0 - Création                                                               #
# 27/07/07 - v1.1 - Réorganisation                                                         #
#                 - Choix du début de numérotation, par défaut à 1                         #
# 09/07/08 - v1.2 - Remplacement de imagemagick par exiftool pour le traitement            #
#                 - Ajout boîte de dialogue de barre de progression en pourcentage         #
############################################################################################
## Variables
nb_param="$#"
erreur=0
typeset -i CNT=1
typeset -i CUR=0

## Fonctions début de numérotation
début_numerot ()
{
                numParam=`zenity --title "Début de numérotation" --entry-text="1" --entry --text "Par défaut à 1, à modifier le cas échéant :"`
                if  [ $? != 0 ]; then
                        exit 1
                fi
                        [ $? -ne 0 ] && exit 2 # Annulation
}

## Fonctions renommage des fichiers
rename_jpeg ()
{
        for parametre in "$@";
        do
                old_name="$parametre"
                date_time=`exiftool "$parametre" | grep "Create Date"`
                extension=`echo $parametre | awk -F "." '{print $NF}'`
                aa=`echo $date_time | cut -d: -f2 | cut -c2-5`
                mm=`echo $date_time | cut -d: -f3`
                jj=`echo $date_time | cut -d: -f4 | cut -c1-2`
                hh=`echo $date_time | cut -d: -f4 | cut -c4-5`
                min=`echo $date_time | cut -d: -f5`     
                if [ $numParam -gt 0 ] && [ $numParam -lt 10 ]; then
                        numero=00$numParam
                fi
                if [ $numParam -gt 9 ] && [ $numParam -lt 100 ]; then
                        numero=0$numParam
                fi
                if [ $numParam -gt 100 ] ; then
                        numero=$numParam
                fi
                new_nane=`echo ${aa}${mm}${jj}_${hh}.${min}_${numero}.${extension}`
                cp "$old_name" "${new_nane}"

                if [ $? = 0 ] ; then   
                        echo "${old_name} => ${new_nane} .... OK" >> /tmp/exif_photos_rename.log
                        rm -f "$old_name"
                else
                        echo "Impossible de renommer $old_name .... NOK" >> /tmp/exif_photos_rename.log
                        let $[erreur += 1]
                fi           
                CUR=$CNT*100/$nb_param
                echo $CUR
                echo "#Traitement de $nb_param photos\n${old_name} => ${new_nane} ... en cours\n\nAvancement: $CUR %\n "               
                CNT=$CNT+1
                let $[numParam += 1]
        done
        nb_renomme=$(( $nb_param - $erreur ))
        if [ $erreur != 0 ] ; then
                touch /tmp/exif_photos_rename.err       
                echo "#Fin de traitement : $nb_param fichiers\n\nFichiers renommés : $nb_renomme\nFichiers impossible à renommer : $erreur\n\n _!!_ Cliquer sur Valider pour afficher le rapport de traitement _!!_\n"
                       
        else
                echo "#Fin de traitement : $nb_param fichiers\n\nFichiers renommés : $nb_renomme\nFichiers impossible à renommer : $erreur\n\nOK, vous pouvez fermer en cliquant sur Valider !\n"
        fi
}

## Fonctions affichage du rapport de traitement
affich_log ()
{
if [ -f /tmp/exif_photos_rename.err ] ; then
        cat /tmp/exif_photos_rename.log | zenity --text-info --title "/tmp/exif_photos_rename.log" --width=500 --height=500
fi
rm -f /tmp/exif_photos_rename.log
rm -f /tmp/exif_photos_rename.err
}

## Traitement
if [ "$#" -eq 0 ]; then
        zenity --error --title="error" --text="Selectioner au moins 1 fichier"
        exit 1
fi
début_numerot
rename_jpeg "$@" | zenity --progress --title="exif_photos_rename" --percentage=0
affich_log

dimanche, avril 23 2006

Paramétrage de GNOME : gconf-editor

gconf-editor est un programme qui permet de paramétrer finement les réglages de Gnome mais surtout d'avoir tous les réglages possibles et imaginables dans une seule interface :

gconf-editor1.jpg

Deux, trois exemples :

  • /apps/metacity/general/reduced_resources : Si vrai, metacity donnera à l'utilisateur moins de retour d'informations et moins de sensations de « manipulation directe », en utilisant des cadres en fil de fer, en évitant les animations, ou d'autres moyens. C'est une réduction significative de convivialité pour beaucoup d'utilisateurs, mais peut permettre aux vieilles applications et aux serveurs de terminaux de fonctionner alors qu'ils seraient impraticables. Par ailleurs, la fonctionnalité fil de fer est désactivé lorsque l'accessibilité est activé afin d'éviter d'étranges dysfonctionnements du bureau
  • /apps/nautilus/desktop/trash_icon_visible : Si défini à vrai, une icône pointant sur la corbeille sera mise sur le bureau
  • /apps/nautilus/preferences/always_use_location_entry : Si défini à vrai, alors la fenêtre de navigation de Nautilus utilisera toujours une entrée textuel dans la barre d'outils d'emplacement, au lieu de la barre de chemin
  • /apps/nautilus-cd-burner/burnproof : Indique s'il faut utiliser l'option Burnproof disponible sur certain graveurs
  • /apps/nautilus-cd-burner/overburn : Indique s'il faut autoriser aux données de dépasser la taille physique du média
  • /system/http_proxy/ : Active les paramètres de proxy lors de l'accès HTTP sur Internet
  • /system/proxy : Active les paramètres de proxy lors de l'accès FTP sur Internet