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.
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.
Configuration
Greffons
Ils sont inclus par défaut dans Xubuntu :
- thunar-archive-plugin : l'archivage
- thunar-media-tags-plugin : les tags ID3
- thunar-volman: extension pour le gestionnaire de fichiers Thunar, qui active la gestion automatique des disques et médias amovibles. cf. http://goodies.xfce.org/projects/thunar-plugins/thunar-volman (sous Gutsy et suivants: apt://thunar-volman) et thunar-volman-plugin (sous Feisty: apt://thunar-volman-plugin)
É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".
Actions personnalisées
Thunar permet de définir des actions personnalisé, 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 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 --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