Ceci est une ancienne révision du document !



Thunar

Thunar est l'explorateur de fichiers de XFCE. Il a été développé pour être à la fois léger et très convivial.

Thunar est déjà installé sur Xubuntu.

Installation sur Gnome/KDE

Depuis Hardy, Thunar est disponible dans les dépôts Universe (il était auparavant dans les dépôts principaux).

Si vous installez Thunar sur Gnome ou KDE il faut aussi installer le paquet xfce4-icon-theme sinon vous n'avez pas d'icônes au dessus des fichiers. Les greffons cités ci-dessous sont également suggérés.

Installer en 1 clic
Installer en 1 clic.

Greffons

Ils sont inclus par défaut dans Xubuntu :

Également disponible dans les dépôts Universe :

  • thunar-thumbnailers : miniatures pour les fichiers: EPS, Postscript, DVI, PDF, Fig (.fig), LaTeX (teTeX requis), images Raw (raw-thumbnailer ou dcraw requis), Grace (grace requis), OpenDocument (unzip requis), SVGZ, vidéos (ffmpegthumbnailer requis).

Parcourir des dossiers distants

Par défaut, Thunar ne peut pas, seul,parcourir des dossiers distants (ftp, dossiers partagés via Samba…), à la différence de Nautilus.

Pour cela, on peut utiliser gigolo, comme expliqué ici et ici, et la doc ubuntu.fr sur gigolo .

Mise en garde: consultez la doc depots-launchpad préalablement.

Partager ses dossiers

Par défaut, Thunar ne permet pas directement de partager ses dossiers sur un réseau local (NFS ou Samba), à la différence de Nautilus. Les utilisateurs de Xubuntu devront utiliser shares-admin pour configurer leurs partages.

Reconnaître et ouvrir les partitions

Thunar reconnaît par défaut les clés USB, les médias amovibles et les lecteurs/graveurs de CD et DVD. Par contre, il ne reconnaît plus les partitions de type NTFS confère Lost NTFS mounts with xfce 4.4.2 et Change log : "thunar" package depuis sa version 0.9.0. A partir de cette version, il ne monte pas tout seul ce type de partitions. Il faut attendre qu'une prochaine version soit disponible dans les dépôts d'Ubuntu et qu'elle résolve le problème.

Pour patienter vous pouvez toujours utiliser disk-manager, ou tout autre programme ou commande, pour monter vos partitions NTFS. Et si vous voulez que vos partition figurent dans le panneau de droite de Thunar, il faudra faire un clic droit sur le dossier "Documents" (par exemple) et faire "Envoyer Vers" » "Side Pane".

Thunar permet de définir des actions personnalisé, ainsi on peut corrigé le problème lié à la copie de plusieurs fichiers (les informations qui sont données sont erronées), grâce à un script.

Voici un script que j'avais dégoter il y a un bout de temps, et que j'ai modifié afin qu'il fonctionne pour plusieurs fichiers, afin que se script puisse couper coller des fichiers, il suffit de remplacer à la ligne 30, "cp -R"p par "mv", et aux lignes 18, 22, 24, 27, 28, "copie" par "déplacement" et "copié" par "déplacé".

Il suffit donc d'enregistrer sa dans un fichier (ayant par exemple comme nom "cp_p.sh"), puis de faire clique droit dessus puis "Propriétés", onglet "Permissions", "autoriser se fichier à être exécuté comme un programme". Ensuite dans thunar, "Éditer"→"Configurer les actions personnalisées"→colonne de droite premier bouton, Nom: "copie amélioré" Commande:si le fichier est dans votre répertoire principale, "~/cp_p.sh %F" attention le F doit bien être majuscule, puis onglet "Conditions d'apparition" sélectionné tout, et enfin valider. Maintenant, quand vous cliquez droit, vous avez une fonction "copie amélioré", qui permet d'utilisé notre script à la place de la copie normal.

#! /bin/bash
 
# SRC
# https://help.ubuntu.com/community/Nautilus_Scripts
# http://ubuntuforums.org/showthread.php?t=101859
# http://ubuntuforums.org/showthread.php?t=417978
# http://forums.archlinux.fr/topic1223.html
 
# PRESENTATION: les +
# annulation fonctionnelle (kill process fils, residu supprimé)
# check de l'espace libre, des droits.
 
# EXECUTION
# à executer en mode graphique avec l'option %m dans nautilus-actions
# ou lancer en CLI en se plaçant dans un repertoire où se trouve un gros fichier puis executer Copievers.sh grosFichier.avi
 
# INITIALISATION
copy="Copie en cours..."
title_copy="Veuillez patienter..."
title_success="Succès"
title_error="Erreur"
title_conflict="Conflit durant la copie"
title_select="Selectionnez un répertoire"
error="Une erreur est survenue lors de la copie"
error_w="Vous n'avez pas les droits en écriture sur"
error_s="Pas assez espace disque!"
success="correctement copié(s)"
progress="Copie en cours"
conflict="Voulez-vous remplacer"
cmd="cp -Rp"
copied=0
nbFiles=0
 
# FONCTIONS
function copie ()
{
   ORIG_SIZE=`du -k "$arg"|awk '{print $1}'`
   checkFreeSpace $ORIG_SIZE
   $cmd "$arg" "$location" &
   CP_SIZE=`du -k "$location/${arg//*\//}"|awk '{print $1}'`
   [ "$CP_SIZE" == "" ] && CP_SIZE=0
   (
   echo "0"
   sleep 0.2
   while (( $CP_SIZE != $ORIG_SIZE )); do
      # un echo est obligatoire dans ce while
      echo "$(( $(( $CP_SIZE * 100 )) / $ORIG_SIZE ))"; sleep 0.2
      CP_SIZE=`du -k "$location/${arg//*\//}"|awk '{print $1}'`
      [ "$CP_SIZE" == "" ] && CP_SIZE=0
   done
   if [ "$CP_SIZE" == "$ORIG_SIZE" ]; then
   {
   	echo "100"
   }
   fi
   ) | zenity --progress --percentage=0 --text "$copy \"$arg\"..."
   # ^ barre de progression de zenity
   # v on controle si annulation ou pas.   
   controlCp
}
 
# un paramètre: la taille du fichier
function checkFreeSpace ()
{
# location sera de la forme /, /tmp, /home, /opt...
# on split le path pour trouver la partition
   part=`echo $location | cut -d'/' -f2`
   findit=`df | grep $part`
   # si findit est vide alors concerne la partition /
   if [ "$findit" == "" ]; then
      findit=`df / | grep /`
   fi
      tab=( $findit )
      # point de montage se trouve sur 5
          mountPoint=${tab[5]}
      # l'espace libre sur 3
          freeSpace=${tab[3]}
   if [ $1 -gt $freeSpace ]
   then
      zenity --error --text="$error_s" --title "$title_error";
      exit 1
   fi
}
 
function controlCp ()
{
   # On peut utiliser $? ou ${PIPESTATUS[0]}
   if [ "$?" != "0" ]; then
      # si annulation on kill le fils et on sort du script
      killChildProcess
      # on vire le residu
      pathfile="$location/${arg//*\//}"
      # on evite les rm -R avec pour paramètre * ~ / .
      if [ ${#pathfile} -gt 1 ] && [ ${#location} -gt 1 ] && [ ${#arg} -gt 1 ]; then
         rm -R "$pathfile"
      fi      
      exit 1
   else copied=`expr $copied + 1`
   fi
}
 
function killChildProcess ()
{
   # normalement il n'y en a qu'un seul...au cas où.
   for child in $(ps --ppid $$ -o pid,cmd | grep -R "$cmd" | awk '{print $1}')
   do
     kill $child
   done
}
 
# TRAITEMENT
# on renseigne le repertoire de destination
location=`zenity --file-selection --directory --title="$title_select"`
if [ "$?" = 0 ]; then
# si on a pas annuler...on check les droits en écriture
   if [ -w "$location" ]; then
      for arg
      do
         nbFiles=`expr $nbFiles + 1`
         # on vérifie si le fichier courant n'existe pas à la destination
         if [ -e "$location/${arg//*\//}" ]; then
         # s'il existe message -> conflit
         zenity --question --title="$title_conflict" --text="$conflict $location/${arg//*\//} ?"
            if [ "$?" = 0 ]; then
            # si on souhaite tout de même écraser
               copie
            fi
         else
         # s'il n'existe pas on copie
            copie
         fi
      done
      # on check copied / nbFiles
      if [ $copied -gt 0 ]; then
         zenity --info --text="$copied/$nbFiles $success" --title "$title_success";
      fi
 
   else zenity --question --title="$title_error" --text="$error_w $location"
   fi
fi
  • thunar.1303505129.txt.gz
  • Dernière modification: Le 22/04/2011, 22:50
  • (modification externe)