Afficher le contenu d’un répertoire en temps réel

RafraîchirCet article est consacré à un problème agaçant et que j’ai vu apparaître de manière plus ou moins aléatoire sur toutes sortes de distributions Linux, indépendamment de l’environnement de bureau utilisé. Prenons un cas de figure concret pour décrire le problème en question.

  1. J’ouvre un navigateur de fichiers comme Dolphin, Thunar, Caja, etc.
  2. Je télécharge une archive compressée vers le répertoire courant.
  3. À première vue, le nouveau fichier n’apparaît pas dans la liste.
  4. J’appuie sur F5 pour rafraîchir l’affichage, et j’aperçois mon fichier.
  5. J’extrais l’archive vers le répertoire courant.
  6. Même problème, le contenu de l’archive n’apparaît pas.
  7. J’appuie encore sur F5 pour rafraîchir l’affichage, et le problème est réglé.

Thunar Archive

Certes, le problème n’est pas très grave en soi, puisqu’il suffit de rafraîchir manuellement l’affichage du répertoire pour accéder aux nouveaux fichiers. Mais en termes d’usabilité, ce n’est pas un comportement optimal. Sans oublier le fait que j’installe des postes de travail Linux à mes clients, et cela m’est arrivé plus d’une fois qu’un client m’appelle pour m’expliquer qu’il ne trouve pas le fichier qu’il vient pourtant de télécharger.

Après investigation, ce comportement est lié à inotify, un mécanisme du noyau Linux qui fournit des notifications concernant le système de fichiers. Je ne vais pas rentrer dans les détails techniques inquiétants et me concentrer sur l’essentiel. La valeur max_user_watches définit la limite système du nombre de fichiers dont on surveille les changements en temps réel. Sur les systèmes Red Hat Enterprise Linux et CentOS, cette valeur est trop basse.

# cat /proc/sys/fs/inotify/max_user_watches
8192

On peut déjà essayer d’augmenter cette valeur “à chaud”.

# sysctl fs.inotify.max_user_watches = 524288
# sysctl -p

Voyons si cela a réglé mon problème d’affichage.

  1. J’ouvre le navigateur de fichiers Thunar.
  2. Je télécharge une archive compressée vers le répertoire courant.
  3. Le fichier s’affiche en temps réel.
  4. J’extrais l’archive vers le répertoire courant.
  5. Le répertoire résultant s’affiche directement.
  6. Mon problème est résolu.

À partir de là, je peux rendre la modification persistante en créant un fichier /etc/sysctl.d/inotify.conf et en l’éditant comme ceci.

# Monitor directories for change
fs.inotify.max_user_watches = 524288

Un grand merci à Liam O’Toole sur la liste de diffusion de CentOS pour son aide précieuse.

Ce contenu a été publié dans CentOS, Documentation Microlinux, avec comme mot(s)-clé(s) , . Vous pouvez le mettre en favoris avec ce permalien.

3 réponses à Afficher le contenu d’un répertoire en temps réel

  1. ToutAlu dit :

    https://forums.linuxmint.com/viewtopic.php?f=63&t=273751

    Merci pour cette astuce qui va permettre d’améliorer l’expérience utilisateur au quotidien !

  2. r00tBSD dit :

    Merci pour l’astuce, moi aussi ça me gonflait aussi un peu !

  3. André Ray dit :

    Merci des infos, Avec Caja sur Archlinux Mate je n’ai pas ce problème, sauf sur le NAS !
    cela m’a surpris la première fois de voir le fichier que je venais d’effacer.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.