Artisan Numérique

/bureau/gnome/ Nautilus d'un peu plus près

Nautilus et moi, c'est une histoire qui a mal commencé. Sans doute trop habitué à Konqueror lorsque j'ai migré de KDE à Gnome, et sans doute encore trop habitué à l'époque à l'explorer Windows pour essayer autre chose que Konqueror. Depuis j'ai appris à l'apprécier à un point tel que j'aurais aujourd'hui bien du mal à me passer de ce subtil mélange de souplesse, de puissance et d'extrême simplicité.

La métaphore du bureau

Nautilus est le gestionnaire de fichier (et de documents) officiel de Gnome. Et n'allez pas y cherchez plus que cela car il ne fait rien d'autre, pas de navigation oueb, pas de lecteur multimédia intégré (et encore que... ) mais un outil qui cherche tant bien que mal à placer le document au centre du bureau.

C'est en 2001 que la société Eazel, créée par un ex-développeur d'Apple, sort la première version de Nautilus. Le noble objectif était alors de concevoir pour Linux, une "métaphore du bureau" aussi souple que celle incarnée par le Finder du Mac.

Pour comprendre ce qu'apporte ce concept, il faut le mettre en concurrence avec la traditionnelle approche "application/fichier" qui jusqu'alors prédomine dans le monde PC, et ce avant tout pour des raisons techniques. Dans ce mode, lorsqu'un utilisateur a besoin disons d'écrire un nouveau document, il va devoir commencer par chercher l'application qui lui permettra de réaliser cette tâche, par exemple Word (il faut se remettre dans le contexte de l'époque). Ensuite il va taper son texte pour enfin pouvoir "sauver son nouveau document", ce qui lorsque l'on y réfléchi est un concept assez déroutante pour un document qui existe déjà...

Cette vision des choses pose deux problèmes. Tout d'abord celui de connaître le nom de l'application que l'on doit utiliser alors que l'on cherche seulement à "écrire". La seconde est d'inverser la logique qui veut que dans la vraie vie, on commence par prendre une feuille vierge pour écrire et pas l'inverse. Et encore je passe sur l'idée saugrenue de "sauver" un document qui n'est que l'héritage d'une époque où les espaces de stockages étaient aussi lents que limités. Il semblerait aujourd'hui autrement plus cohérent que cette sauvegarde soit une chose que l'utilisateur ne voit pas. Ou alors il faut me trouver bouton "sauver" sur une feuille de papier...

La "métaphore du bureau" propose d'inverser cette logique technique pour retomber sur nos pieds d'humains : ce qui prédomine c'est l'action, ensuite vient le moyen (l'outil). Dans cette logique, l'utilisateur va, sur son bureau, pouvoir "créer un nouveau document vierge". Ensuite, une fois que le document est là sous ses yeux, il va pouvoir lui appliquer des actions comme "modifier", "imprimer", "dupliquer", etc. C'est sur cette métaphore que l'OS d'Apple a bâti sa célèbre ergonomie. Et c'est aussi ce qu'a tenté d'introduire Microsoft avec la version 95 de son bureau, avec un succès dont je vous laisserais juge.

C'est donc cette métaphore qu'Eazel a voulu apporter à l'embryonnaire bureau Linux et comme beaucoup de start-up, la société a surtout réussi à brûler son cash. Mais fort heureusement pour nous, son dernier geste avant de disparaître fût de libérer les sources de Nautilus qui est plus tard devenu le centre névralgique du bureau Gnome.

Aujourd'hui cette métaphore est rentrée dans les moeurs pour la majorité des systèmes graphiques au point où l'on parle plus que de "bureau". De même pour le menu contextuel qui donne accès aux actions pour un élément donné du bureau. L'idée de cet article n'est pas de déclarer doctement que Nautilus est bureau orthodoxe pour GNU/Linux mais de comprendre ce qu'il est possible de faire avec.

Les modes de Nautilus

Mode "bureau"

Pour beaucoup Nautilus est un gestionnaire de fichier, ce qui est un peu en contradiction avec tout ce qui est dit plus haut. Et pourtant, sans que vous en ayez conscience, le bureau de Gnome, au sens du capharnaüm du terme est bien une instance de Nautilus lancée au dessus du fond d'écran et ce sur tout la surface de l'écran. C'est ainsi lui qui gère les icônes sur le bureau et les actions associées. Pour vous en convaincre lancez une console et faite un pkill nautilus, cela vaut toutes les explications.

Mode "spatial"

Outre ce mode un peu spécial de "bureau", Nautilus peut fonctionner en mode "navigateur" et en mode "spatial". Par défaut sous Gnome il est en mode "spatial" que certains qualifient aisément de spartiate. La première rencontre se fait généralement par le menu raccourcis du tableau de bord faisant apparaître une fenêtre dotée d'un simple menu, d'une barre de statut, de ses documents... et c'est tout.

Ce que ce mode a de caractéristique, et de déroutant, est que chaque click sur un dossier donne naissance à une nouvelle fenêtre, et ainsi de suite... Et pour qui ne sait pas le manipuler c'est l'envahissement et la chasse aux fermetures assurées.

Maintenant pour comprendre la puissance du concept, il faut déjà savoir que chaque fenêtre mémorise ses propres paramètres (type de vue, position, taille, etc.) et surtout que la clef pour éviter la prolifération, c'est le bouton central de la souris. Si vous clickez avec le bouton central sur un dossier, la fenêtre parente va disparaître pour ne laisser visible que la vue du nouveau dossier. Clickez avec le bouton central sur un document et la vue elle-même disparaîtra pour laisser la place à l'application associée.

Dans la même idée la barre de status cache elle aussi ses petits secrets. Sur la gauche vous avez une liste déroulante qui donne accès à l'ensemble des dossiers parents. Clickez-gauche dessus et vous ouvrez une nouvelle vue. Clickez-central et la vue courante disparaîtra pour laisser place à celle du dossier parent.

L'utilisation ultime de ce mode consiste à aller dans la configuration de Nautilus (Édition/Préférences), dans l'onglet Comportement et de passer en mode Simple clic pour ouvrir les éléments. Là, pour certains, c'est la crise de nerfs assurée :-)

En fait pour apprécier ce mode il faut intégrer le fait que son but n'est absolument pas de gérer des fichiers mais des documents. Si vous avez besoin de faire du ménage ou de déplacer des dossiers en volume, utilisez le mode "navigateur", il est fait pour cela. Le mode spatial permet de avant tout... de travailler. Et aidé des raccourcis, actions et emblèmes (voir un peu plus bas), il vous permet de vous concentrer sur l'essentiel : vos documents.

Si vous n'avez pas le mode "spatial" activé par défaut, ou si vous voulez ne plus utiliser le mode "spacial" par défaut, il suffit que dans une fenêtre de Nautilus vous alliez dans Édition/Préférences/Comportement et que vous décochiez (mode spatial) ou cochiez (mode navigateur) l'option Toujours ouvrir dans des fenêtres de navigation.

Mode navigateur

Sur un bureau fraîchement installé, pas si simple d'y avoir accès. La manière la plus évidente consiste à aller dans le menu Système, Administration puis Navigateur de fichiers. Une autre option est de le lancer en ligne de commande par nautilus --browser. Enfin, vous pouvez l'obtenir en cliquant droit sur le dossier d'une fenêtre de Nautilus en mode "spatial" et en choisissant Parcourir le dossier.

Dans ce mode Nautilus de dépaysera pas grand monde. Il agit un peu comme un gestionnaire classique à la mode Finder avec sa vue du dossier et son panneau latéral. Ce dernier peut être escamoté ou changé en mode "raccourcis" (comme sur le mac, notez d'ailleurs la présence de la petite icône d'éjection pour le démontage), "arborescence" (gestionnaire de fichier classique), "historique" (comme firefox), etc.

Par défaut vous ne pouvez pas saisir de chemins mais cela se change en cliquant sur l'espère ce feuille avec un crayon, en haut à gauche.

La vue dossier peut changer de style (liste déroulante en haut à droite) de manière assez classique (liste, icône, etc) avec depuis Gnome 2.24 l'arrivée d'une version "Compacte". Juste à côté de cette liste le niveau de zoom permet d'agrandir ou réduire les icônes ou les miniatures de documents.

Toujours avec Gnome 2.24, a aussi été ajouté la gestion des onglets par le classique Ctrl-T.

Emplacements, Raccourcis et Signets

Le menu Raccourcis sur la tableau de bord se révèlent très pratique pour accéder directement aux diverses ressources du système et ceci d'autant plus qu'il est disponible aussi dans le mode "navigateur" (panneau latéral) ainsi que dans n'importe quelle boîte d'ouverture ou de sauvegarde de fichier. Une partie des choses qui s'y trouvent sont gérées directement par Nautilus (Bureau, dossier Home, montages, médias amovibles) mais d'autres peuvent être ajoutés par vos soins.

Pour rajouter un nouveau signet vous pouvez simplement faire un glisser-déposer d'un dossier sur le panneau latéral en mode Raccourcis, ou alors saisir le chemin dans la zone Emplacement faire un Signets/Ajouter un signet ou Ctrl-D. Pour les modifier il faut aller dans le menu Signets/Éditer les Signets du navigateur de fichiers, mais étrangement, il n'est pas possible, du moins pas à ma connaissance, de changer les icônes... L'apparence du raccourcis sera donc celui du dossier lui même, qui en revanche peut lui, être changé.

Icônes, miniatures et aperçus

Icônes des dossiers

Pour changer l'icône d'un dossier if faut, en mode "navigateur", basculer le panneau latéral sur Informations. Ensuite il vous suffit de faire glisser la nouvelle image (n'importe quel type de fichier convient) sur celle du dossier pour que le résultat soit répercuté sur toutes les vues.

Ce qui est sympathique là dedans c'est que Nautilus ne pollue pas le système de fichier avec des documents cachés. Toutes les informations supplémentaires (emblèmes, icônes, notes) sont stockées, au format XML dans ~/.nautilus/metafiles/.

Les emblèmes

Comme nous l'avons vu plus haut, vous pouvez avec le panneau latéral Informations du navigateur de fichier de changer facilement l'icône d'un dossier. Il est aussi possible d'aller encore plus loin en leur ajoutant des emblèmes.

Pour tester cela, allez avec le navigateur de fichiers sur votre bureau (~/Desktop) et créez un dossier. Maintenant sur le volet de droite, en haut, sélectionnez dans la liste Emblèmes. Une série d'icônes apparaît. Prenez l'une d'entre elles et faites-la glisser sur le dossier, puis relâchez. Voilà votre dossier re-décoré pour l'hiver ! Vous pouvez répéter l'opération plusieurs fois.

Pour enlever une emblème, faites un clique-droit propriétés et dans le bon onglet, décochez ce qui ne vous plaît plus. Et puis tant qu'on y est, avant de sortir de cette boîte, allez dans l'onglet notes et tapez une prose de votre choix, puis validez. Votre dossier dispose maintenant, en plus des emblèmes que vous aurez laissées, d'un petit logo indiquant qu'une note est collée dessus... Très pratique tout cela. Et contrairement aux emblèmes, les notes peuvent aussi être ajoutés aux fichiers.

Les miniatures

Les aperçus sont une fonction importante d'un bureau. Ils permettent d'un regard de savoir à quoi correspond tel ou tel document.

Nautilus est très abouti concernant ces miniatures (aka thumbnails). Déjà, en interne, la génération de ces images passe par une file d'attente asynchrone assurant ainsi que la navigation ne soit par ralentie par ce traitement supplémentaire. Ainsi pour chaque document rencontré, Nautilus va chercher dans gconf (la clef est /desktop/gnome/thumbnailers) le thumbnailer associé au type de ce document et mettre son exécution en file d'attente.

Autre point intéressant, les images ne sont pas, comme pour les méta-données, stockées dans le dossier même comme pour beaucoup d'autre systèmes, mais dans le dossier ~/thumbnails. Ainsi pour une raison ou pour une autre vous avez besoin de régénérer ces images, il vous suffit donc de détruire ce dossier.

De manière générale, la configuration des miniatures passe par Edition/Préférences/Aperçu. Ici vous pouvez par grande catégorie de document définir un comportement commun comme l'activation systématique ou seulement pour les fichier locaux, ou encore la taille maximum des fichiers à prendre en charge.

C'est aussi ici que l'on active le très mignon aperçu audio qui permet de lire le contenu lorsque la souris s'arrête sur un tel fichier.

Après, le jeu est d'avoir des thumbnailers pour tous les types de document, ce qui est loin d'être le cas en standard. Sous mandriva il y a un paquet nautilus_thumbnailers qui en rajoute un certain nombre. Certaines applications (ex. evince pour les pdf) rajoutent les leurs. Et puis il y a des paquets spécialisés comme abiword-thumbnailer pour les fichiers office, raw-thumbnailer pour les fichiers RAW d'appareil photo numériques, ou encore gnome-xcf-thumbnailer pour les fichiers Gimp, etc.

Les actions

Nouveau document

Dans la métaphore du bureau, tout commence avec un Créer un document. Il en va donc de même pour Nautilus, sauf que le menu que l'on obtient par click-droit dans un dossier donne lieu à une liste un peu "pauvre". Il est cependant très simple d'ajouter tous les modèles de nouveau documents vierges que vous le désirez. Pour cela lancez Nautilus en module navigateur et allez dans le menu Allez à, puis Modèles.

Il se peut que Nautilus couine pour cause de dossier template non existant. Vous pouvez alors soit le créer à la main, soit éditer le fichier ~/.config/user-dirs.dirs et changer la valeur de la variable XDG_TEMPLATES_DIR vers un dossier de votre choix. Dans ce fichier vous pouvez aussi changer le chemin vrs le bureau, vers vos documents, etc. Une fois le fichier sauvé, vous devez redémarrer votre session Gnome.

Après c'est à vous de jouer, ouvrez par exemple OpenOffice-Writer, sauver un fichier vide, déplacez le dans le dossier des modèles et renommez le en Document texte. Maintenant si vous refaites un click-droit Créer un document, Document texte doit apparaître avec possibilité d'en changer directement le nom.

Un paquet de nouveaux documents prêt à l'emploi est disponible ici.

Ouvrir un document

La métaphore du bureau n'est tout de même pas poussée bien loin sous Nautilus avant tout parce que chacun aime à voir midi à sa porte. En effet il serait sans doute beaucoup trop simple que Gimp installe son moteur d'impression comme un service plutôt qu'une fonction qu'il héberge en son sein. Du coup, l'action "imprimer" sur un document "image" ne peut se faire qu'en lançant gimp.

En revanche la gestion des applications pouvant ouvrir un type de document donné est assez bien faite. Par un click droit Propriétés sur un fichier, vous pouvez dans l'ongle Ouvrir avec sélectionnez facilement l'application par défaut et en ajouter de nouvelles.

Les actions sur élément

Même si bien peu de choses sont faites en standard, Nautilus permet d'ajouter très facilement des actions sur le click-droit. Tout d'abord il est possible de puiser dans le stock fournit avec votre distibution. Sous Mandriva, un urpmq -y nautilus donne la liste de tous les paquets permettant d'étendre les actions avec des choses comme l'envoi direct de fichier par bluetooth ou par pidgin, l'ouverture d'un terminal à la position d'un dossier, le partage d'un dossier par NFS ou Samba, la conversion et la manipulation d'images, le gravage de fichier sur DVD, etc.

Il existe aussi pas mal d'extensions de ce genre sur le net, comme par exemple ArgonautSVN qui permet d'intégrer Subversion à Nautilus.

Après si vous n'y trouvez pas votre bonheur, vous pouvez en quelques minutes créer vois propres actions. Pour cela, naviguez jusqu'à ~/.gnome2/nautilus-scripts, créez un Document vide et renommez-le, par exemple Mon Script. Ensuite éditez-le et placez-y le contenu suivant :

#!/bin/sh
zenity --info --text "Le fichier sélectionné est $1"

Voilà, vous avez créé une action. Allez n'importe où, faites un click-droit sur un fichier, allez dans scripts et choisissez Mon Script. Comme vous l'aurez constaté, nul n'est besoin de rendre exécutable le fichier pour que cela fonctionne.

Maintenant Nautilus peut être un peu casse-pieds quant au répertoire courant d'une action portant sur un fichier. En effet, il va vous transmettre non pas le chemin complet en argument, mais le nom du fichier seulement. Et pour ce qui est du dossier, cela peut être soit le dossier courant ($PWD), soit celui contenu dans la variable NAUTILUS_SCRIPT_CURRENT_URI qui contient non pas un chemin classique, mais une URL préfixée par file://.

Du coup, en Perl, il faut passer par une petite procédure qui va nous renvoyer le chemin courant :

sub get_absolute_path {
  my ($source)=@_;

  # si le chemin n'est pas absolu, on va ajouter ce qu'il faut
  if ($source !~ /^\//) {
    # par défaut, on part du principe que c'est le chemin courrant
    my $pwd=$ENV{PWD};

    # On vérifie si variable d'environnement du chemin courrant
    # de Nautilus est présente. Si oui, on extrait la partie de l'URI
    # correspondant au chemin.
    my $nautilus=$ENV{'NAUTILUS_SCRIPT_CURRENT_URI'};
    if ($nautilus && $nautilus =~ /^file:\/\/(.*)$/) {
      # conversion des caractères spéciaux
      s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg;
      $pwd = $1;
    }
    # suppression de l'éventuel slash terminal
    $pwd =~ s/\/$//;
    $source="$pwd/$source";
  }
  if ( ! -e "$source") {
    `zenity --warning --text="Impossible de localiser $source"`;
    exit(1);
  }
  return $source;
}
Chemin courrant des scripts nautilus

Sinon, une alternative au dossier nautilus-scripts pour lancer vos procédures est l'utilisation du paquet nautilus-actions. Une fois que vous l'avez installé, allez dans le menu de la barre de démarrage Applications/outils et choisissez Configuration des actions de Nautilus. Là, une interface très détaillée permet de faire la même chose que précédemment mais avec un contrôle sur le type de fichier à cibler (type mime), un libellé, une icône, etc...

L'autre avantage de la dernière méthode est que les actions ajoutées sont directement accessibles sans passer par le menu scripts.

Utilisation plus avancée

Les adresses spéciales

En mode navigateur il est possible de saisir le chemin local d'un dossier, mais aussi des chemins spéciaux représentant des dossiers distants ou simplement des "vues de l'esprit" :

computer:// donne accès à tous les médias du système, c'est un peu un sous-ensemble de la vue des raccourcis. trash:// La poubelle ;-) Notez l'action Vider la corbeille qui s'affiche en dessus de la vue des fichiers en attente de destruction. network:// permet l'exploration des différents réseaux logiques (ex. Samba/Windows). burn:// qui permet de basculer sur le Créateur de DVD qui permet de faire une petite composition et ensuite l'envoyer sur un média vierge par Fichiers/Graver un disque... Malheureusement impossible d'effacer un disque ré-inscriptible. Pour cela il faut se rabattre sur un outil comme Brasero dav://serveur Permet d'accéder à un partage WebDAV. La version sécurisée est atteignable par davs://serveur sftp://serveur Permet d'accéder à un partage SSH. ftp://serveur Permet d'accéder à un serveur FTP. smb:// Permet d'accéder aux partages Samba/Windows. obexftp:// Permet d'accéder aux partages Bluetooth.

Recherche
Taper un texte...
... sélectionne les dossiers ou fichiers dont le nom correspond
Ctrl+F
Recherche les fichiers indexés.
Ctrl+S
Recherche un motif donné dans le dossier courant
Gestion des fenêtres
Ctrl+T
Nouvel Onglet
Ctrl+N
Nouvelle fenêtre
Alt+flèche haut
Nouvelle sur le dossier parent
Ctrl+W
Ferme la fenêtre courante
Ctrl+Shift+W
Ferme toutes les fenêtres parentes
Ctrl+Shift+Entrée
Ouvre une fenêtre fille en fermant la fenêtre parente
Ctrl+Shift+O
Ouvrir le dossier sélectionné dans une nouvelle fenêtre
Ctrl+Q
Ferme toutes les fenêtres
Ctrl-Shift+1
Bascule la vue dans le mode "Icônes"
Ctrl+Shift+2
Bascule la vue en mode "Liste"
Ctrl+Shift+3
Bascule la vue en mode "Liste Compacte"
F9
Cache ou affiche le panneau latéral (en mode navigateur).
Gestion des fichiers
Ctrl+H
Rend visible les fichiers cachés.
Ctrl+Shift+N
Création d'un nouveau dossier.
Shift+Del
Supprime vraiment (pas de poubelles)
F2
Renommme le fichier ou dossier sélectionné.
Alt+Enter
Affiche le panneau de propriétés de l'élément sélectionné.
Mouvement
Ctrl+L
Place le focus sur la zone de saisie du chemin.
Alt+HOME
Se déplacer dans le dossier HOME
Alt+Flèche haut
Se déplacer vers le dossier parent.
Divers
Ctrl++
Augmente le zoom.
Ctrl+-
Baisse le Zoom.
Ctrl+0
Repasse en taille normale.

Afficher les permissions avancées des fichiers

Comme sous Windows, Nautilus vous cache des choses lorsque vous affichez les propriétés d'un documents. Il est ainsi possible d'obtenir un onglet de permissions plus étoffé en lançant gconf-editor et en cochant la clef /apps/nautilus/preferences/show_advanced_permissions ou en tapant directement :

gastongconftool-2 --type bool --set /apps/nautilus/preferences/show_advanced_permissions true

L'ensemble des paramétrages avancés de nautilus sont décrits ici.

Modifier l'apparence du bureau

Pas mal de chose sont faisables pour modifier la manière dont Nautilus prend en charge le bureau en utilisant directement l'éditeur de configuration Gnome (Système/Préférences/Éditeur de configuration) ou en passant directement par la très utile commande gconftool-2.

cacher (utilise "true" pour montrer) le bureau lui-même (utile ?)
gastongconftool-2 --set /apps/nautilus/preferences/show_desktop --type bool false

cacher ou afficher l'icône de votre dossier $HOME :
gastongconftool-2 --set /apps/nautilus/desktop/home_icon_visible --type bool false

cacher ou montrer le poste de travail
gastongconftool-2 --set /apps/nautilus/desktop/computer_icon_visible --type bool true

Même chose pour la poubelle
gastongconftool-2 --set /apps/nautilus/desktop/trash_icon_visible --type bool false

Enfin pour cacher ou montrer les volumes montés (disques, montages, etc).
gastongconftool-2 --set /apps/nautilus/desktop/volumes_visible --type bool false

Conclusion

Voilà, fin du petit topo sur Nautilus, en espérant avoir réussi à faire apprécier cet outil du quotidien par excellence.