Contenu | Rechercher | Menus

Thunar

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

Installation

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.

Configuration

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.

Partage de 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 cf. 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".

Actions personnalisées

Thunar permet de définir des actions personnalisées, ainsi on peut corriger 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 dégoté il y a un bout de temps, et modifié afin qu'il fonctionne pour plusieurs fichiers, afin que ce 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 ça dans un fichier (ayant par exemple comme nom "cp_p.sh"), puis de faire un clic droit dessus puis "Propriétés", onglet "Permissions", "autoriser ce 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ée" Commande:si le fichier est dans votre répertoire principal, "~/cp_p.sh %F" attention le F doit bien être majuscule, puis onglet "Conditions d'apparition" sélectionner tout, et enfin valider.

Maintenant, quand vous cliquez droit, vous avez une fonction "copie améliorée", qui permet d'utiliser notre script à la place de la copie normale.

#! /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 --auto-close --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
while ((1))
do
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
      break
   else
   {
   	zenity --question --title="$title_error" --text="$error_w $location"
   	if [ "$?" = 1 ]; then
   	{
   		exit 1
   	}
   	fi
   }
   fi
fi
done

Bugs connu

Au premier lancement, il mets une minute à démarrer, puis démarre en double.

Liens


thunar.txt · Dernière modification: Le 23/12/2011, 16:12 par Canigou 66
Le contenu de ce wiki est sous licence : CC BY-SA v3.0