Unionfs facile sous Nautilus

Il y a quelques mois de cela, je me suis trouvé quelques temps à devoir utiliser Windows pour mes cours. Cherchant à esquiver Vista et XP ne tournant pas sur ma machine, j'en ai profité pour tester seven.

Une nouveauté dans l'explorateur de fichiers m'a paru être une bonne idée : les "librairies". Rien d'extraordinaire en soi, il s'agit ni plus ni moins que d'un genre d'unionfs (possibilité de faire apparaître le contenu de plusieurs dossiers dans le même dossier), fonctionnalité utilisée depuis longtemps sous Linux (existant aussi pour NetBSD et FreeBSD), notamment pour les Live CD, en plus limité (les "librairies" n'existent pas au niveau système de fichier, elles sont juste un bricolage au niveau application). Cependant, l'intégration à explorer me paraissait plutôt pratique.

J'ai donc réalisé une petite extension Nautilus qui me permet de faire la même chose. Via un onglet dans la fenêtre des propriétés d'un dossier, je peux choisir de faire apparaître le contenu d'autres dossiers à l'intérieur. Ces dossiers sont en fait des branches unionfs (fuse-unionfs en fait, afin de ne pas nécessiter de droits root), dont la liste est mémorisée et qui sont montées automatiquement à chaque lancement de session.

Et comme un petit screenshot vaut mieux qu'un long discours :

On voit ici que le dossier de droite affiche le contenu des deux autres dossiers.

Mais, me direz vous, à quoi cela sert-il donc ?
Eh bien, en ce qui me concerne, il s'agit d'un moyen pratique d'organiser mes données. On peut par exemple imaginer avoir deux dossiers "vidéos", l'un situé sur un disque local, l'autre sur un disque interne, et vouloir voir toutes ses vidéos dans le même dossier.

Pour installer cette extension sous Debian/Ubuntu ou dérivée (remplacer sudo par su, selon votre système) :

sudo apt-get install python-pyinotify python-notify python-nautilus bzr unionfs-fuse bindfs
bzr co lp:nautilus-easy-unionfs
cd nautilus-easy-unionfs
sudo make install
cd ..
rm -rf nautilus-easy-unionfs
killall nautilus #va quitter nautilus

Sous d'autres systèmes ou distributions, les dépendances pourront avoir d'autres noms/ne pas être packagées et quelques chemins codés en dur risquent de poser problème (si vous êtes motivés pour faire des paquets...).

Notez toutefois qu'il peut subsister quelques bugs et que quelques fonctionnalités doivent encore être ajoutées (pour le moment, on ne peut choisir l'ordre de montage des branches, toutes les branches sont en lecture-seule et si une branche ou un point de montage est absent lors de l'ouverture de la session mais devient disponible par la suite, le montage n'a pas lieu).

Vus : 1326
Publié par Zanko : 16