Toi aussi bouge tes dossiers xdg-user-dirs (Documents, Images, Musique, Téléchargements, Vidéos) !

Rédigé par antistress le 29 septembre 2012 (mis à jour le 08 mai 2019) - 7 commentaires

Pile de dossiers posée sur un bureau

xdg-user-dirs est une spécification de freedesktop.org qui définit un lot de répertoires standards prêts à l'emploi (Documents, Images, Musique, Téléchargements, Vidéos notamment). Celui-ci est créé par défaut dans votre répertoire /home.

J'ai adjoint à mon disque dur de taille confortable (500 Go) un SSD de capacité minimale (64 Go) seulement destiné à héberger mon système afin que celui-ci soit bien réactif.

Le but est donc de délocaliser sur le gros disque les données volumineuses que je souhaite stocker.

Pour autant il n'est pas question de délocaliser la partition /home toute entière car celle-ci contient un certain nombre de données auxquelles les logiciels accèdent fréquemment (les options de configuration, certaines de vos données personnelles comme les marque-pages du navigateur, vos courriels etc.) et je ne veux pas perdre le bénéfice des faibles temps d'accès du SSD et ralentir le système en les logeant sur le disque dur.

L'idée est donc de seulement déplacer le jeu de répertoires courant xdg-user-dirs car ce sont précisément ces répertoires qui vont avoir besoin d'espace pour remplir leur mission...

Résumé

Pour résumer, mes unités de stockage sont :

  • un SSD de 64 Go
  • un disque dur de 500 Go

Lors de l'installation, j'ai créé trois partitions sur mon SSD : /, swap et /home.

Le disque dur est en attente d'affectation.

Signaler le disque dur au système (ça se passe dans le fichier fstab)

Toutes les manipulations de ce paragraphe nécessitent les privilèges d'administration.

Tout d'abord on va lui donner un nom explicite, par exemple « data » en créant le dossier correspondant avec la commande mkdir /mnt/data.

Ensuite on va configurer le montage automatique de la partition au démarrage du système.

Pour cela vous allez avoir besoin de l'UUID (ou numéro d'identifiant unique) de votre partition. Deux façons de procéder : en ligne de commande ou via une interface graphique :
- en ligne de commande : Commencez par repérer vos partitions avec la commande fdisk -l. Puis, avec la commande blkid, repérez l'UUID de votre partition que l'on va reporter dans le fichier fstab.
- via une interface graphique : Lancez l'excellent outil Disques du bureau GNOME (alias gnome-disk-utility) pour y copier simplement l'UUID de votre partition à reporter dans le fichier fstab.

Puis, éditez ce fichier fstab avec la commande nano /etc/fstab et ajoutez une ligne pour votre partition sur ce modèle :
UUID=9d16fb94-f4d7-4f31-8734-491f2d94054c /mnt/data ext4 noatime,defaults 0 2
où vous remplacerez les parties en gras par les bonnes valeurs.

La Syntaxe d'une entrée fstab est la suivante :
[Device] [Mount Point] [File System Type] [Options] [Dump] [Pass]
Vous trouverez des informations très complètes à ce sujet en tapant la commande man fstab.

Ext4 étant un système de fichiers pointu quant à la gestion des droits d'utilisation, et la partition ayant été créée avec les privilèges d'administration, il va maintenant falloir vous accorder les droits de lecture/écriture sur cette partition en tant que simple utilisateur. Pour cela, la partition étant montée, entrez la commande chown -R robert:robert /mnt/data (mettez votre nom d'utilisateur à la place de « robert » ou ne changez rien si « robert » est votre nom d'utilisateur).

Déplacer les dossiers xdg-user-dirs sur la nouvelle partition

Bon, rassurez-vous, le plus dur est fait.

La définition des répertoires xdg-user-dirs se fait dans le fichier ~/.config/user-dirs.dirs que nous allons donc modifier au moyen de la commande nano ~/.config/user-dirs.dirs. C'est là que vous reportez les nouveaux chemins (XDG_DOWNLOAD_DIR="/mnt/data/Téléchargements" et ainsi de suite. J'ai laissé Bureau, Modèles et Public en place).

Pour que le changement soit pris en compte, tapez la commande xdg-user-dirs-update && xdg-user-dirs-gtk-update.

C'est fait, vous pouvez profiter de vos deux disques.
S'il arrivait que la partition ne soit pas montée lors d'un démarrage du système, celui-ci recréerait les répertoires xdg-user-dirs comme à l'origine et il faudrait remodifier le fichier ~/.config/user-dirs.dirs.
Si le sélecteur de fichiers de GTK+ n'affiche plus les répertoires XDG une fois leur chemin modifié, il faudra modifier manuellement le fichier ~/.gtk-bookmarks en conséquence (voir aussi GNOME Bugzilla – Bug 685777 à ce sujet).

7 commentaires

#1  - bochecha a dit :

Tiens, toi qui utilises GNOME, tu sais si upstream prévoit à un moment donné de virer de dossier Desktop par défaut ?

C'est pas compliqué de l'assigner à /home/monuser pour qu'il disparaisse, mais c'est relou de devoir le faire à chaque install, et j'ai déjà vu plusieurs personnes être confuses par la "disparition" de fichiers qu'ils mettaient sur leur bureau.

Répondre
#2  - antistress a dit :

pitet https://bugzilla.redhat.com/show_bug.cgi?id=843486 & https://bugzilla.gnome.org/show_bug.cgi?id=682605 ? C'est tout ce que j'ai trouvé

Répondre
#3  - Olivier a dit :

Salut,

J'ai un petit peu de mal à suivre le fil de tes explications. Désolé...

Je ne suis pas vraiment sûr en fait de comprendre de quels partitions tu parles.
Dans mon cas, qui ne correspond peut-être pas à tes explications, j'ai un (ancien) dur classique 1To. Il hébergeait mon précédent Ubuntu.
Aujourd'hui j'ai installé un SSD64Go sur lequel j'ai installé une 12.10. Elle se trouve donc sur sdb1 (/) tandis que ma home est restée sur l'ancien dur en sda2.
Quand tu parles de récupérer les UUID et de monter une partoche sur /mnt/data... je supposes que tu parles de la /home (vu qu'on peut pas remonter la /) Sauf quelle est déjà montée. Je démonte ? ... Je suis un peu perdu. Si tu veux bien m'éclairer.

Merci,
Olivier.

Répondre
#4  - antistress a dit :

@Olivier : ce que je propose c'est de mettre le home et le / sur le ssd pour profiter à plein de ses temps d'accès, et, après, de déplacer seulement certains dossiers tels Vidéos, Images, Musique... pour les mettre sur le disque dur et profiter de l'espace disponible.
Si tu as déjà ton home sur le disque dur, faudrait en créer un nouveau dans une partition dédiée de ton ssd, et y déplacer tes fichiers (de configuration et autres) sauf les gros dossiers Vidéos, Images, Musique... que tu laisserais sur le disque dur du coup

Répondre
#5  - Olivier a dit :

@antistress : Je reviens bien tard dans cette discussion. Il y a eu quelques imprévus (familiaux...) et quelques profondes modifications sur ce que j'avais fait.
Tu avais bien compris ma précédente conf, où je n'avais que '/' sur mon SSD et '/home' était restée sur mon dur mécanique. Pour une obscure raison, j'étais en fait incapable de redémarrer (après le premier boot) dans cette config. J'ai ré-essayé plusieurs install, et toujours le même échec (mon HDD mécanique avait précédemment une '/' et surtout mon MBR...).

Bref, j'ai changé pour une config plus intelligente : '/' et '/home' sont sur mon SSD et j'ai gardé les gros dossiers (Documents, Téléchargements, Musique, ...) sur une partoche dédiée de mon HDD mécanique. Je l'ai monté (et ajouté au fstab), et j'ai mis à jour le fichier user-dirs.dirs. Le seul problème qui reste, c'est que les commandes que tu donnes à la fin (xdg-user-dirs-*...) ne me créent aucun lien depuis ma home vers ma partoche sur mon HDD mécanique. Ce n'est pas ce que sont sensées faire ces commandes ?

PS : J'ai toujours la solution de mettre dans ma home des lien symboliques vers ma partoche "mécanique" mais bon, ça ne me semble pas être l'idéal ;)

Répondre
#6  - antistress a dit :

@Olivier : Il faut changer à la main les chemins dans le fichier ~/.config/user-dirs.dirs. La dernière commande (xdg-user-dirs-update && xdg-user-dirs-gtk-update) met à jour le système avec ces nouveaux chemins.

Répondre
#7  - UBUNTU a dit :

Complément
Sous UBUNTU1510, le changement n'est pas pris en compte tant que le reboot n'est pas effectué.

Répondre

Fil RSS des commentaires de cet article

Écrire un commentaire

NB : en publiant votre commentaire, vous acceptez qu'il soit placé sous la licence CC BY-SA comme indiqué aux conditions d'utilisation du site

Quelle est le sixième caractère du mot qnsp27m ?