Votre console prend du temps à se charger ?

Peut-être que comme moi, le temps de chargement de votre console est long. Plus précisément, le temps que le prompt apparaisse est interminable. (de l’ordre de la demi-seconde à la seconde…).

J’ai pensé d’abord que j’avais un bashrc codé comme un pied, en le relisant je ne voyais rien de suspect. Je me suis mis à tester le temps que mettait les divers parties de mon fichier /etc/bash.bashrc et j’ai vite découvert le coupable : bash_completion.

Si vous ne savez pas encore ce que c’est, empressez-vous de lire ce très bon article d’artisan linux.

En cherchant un peu sur le net, je suis tombé sur ce message de la liste de diffusion de debian de février 2008. Le fil de discussion confirme bien la culpabilité de bash_completion et le message que je vous cite donne un script tout à fait intéressant.

Plutôt que de charger le fichier /etc/bash_completion (et donc /etc/bash_completion.d) dans le bashrc qui lui même est chargé avant que le prompt ne s’affiche, pourquoi ne pas charger les completions au moment où l’on en a besoin ?

Le script est à lancer avec les droits root bien sûr, et il va creer un fichier /etc/bash_dyncompletion et un répertoire /etc/bash_dyncompletion.d à partir des fichiers de completions habituels.

Le résultat est incroyable. Je vous invite à tester si vous utilisez bash_completion.

Une completion dynamique devrait être implémentée dans bash-completion-3.0. Etant à la 1.2, je pense que ce contournement a encore de beaux jours à vivre sur mes machines.

A noter qu’il faudra relancer le script à chaque fois que vous mettrez à jour les completions.

PS : j’ai gardé l’anglicisme completion au lieu complétement…


Vus : 587
Publié par François : 67