Être moderne avec Atuin
Contexte anti-hype
Je ne compte plus le nombre d’articles que j’ai lus, vantant tel ou tel nouvel outil en ligne de commande qui va changer ma vie de développeur/administrateur système/utilisateur de Linux. Et généralement je passe mon chemin.
Si je peux installer un nouvel outil sur ma machine de travail, personnelle et professionnelle, et sur les machines
que j’administre moi même, je ne pourrais généralement pas l’installer sur les machines des clients, sur lesquelles j’ai
rarement l’autorisation requise, lesquelles machines le plus souvent n’ont même pas encore zsh. Je préfère
donc continuer à apprendre à me passer de ces outils, pour ne pas être gêné par des habitudes acquises lorsque je me
connecte sur des machines qui ne les ont pas.
Avoir une version plus puissante ou plus moderne de ps, ls, du,
df, htop, avoir un prompt ultra moderne qui indique l’heure et le temps qu’il fait, bof.
Comment j’en suis venu à devenir moderne
Mais parmi les petits désagréments de mon quotidien en ligne de commande, il y avait un qui se produisait régulièrement et restait agaçant : mon historique shell se corrompait. À cause d’hibernations qui consommaient trop de batterie, de crash au bout de plusieurs semaines sans reboot, bref de machines mal éteintes.
Il se trouve que dans la liste des outils modernes qui remontent souvent dans les actualités, il y a Atuin, dont le but premier est de partager les historiques entre plusieurs machines. Cette fonctionnalité ne m’intéresse guère, mais ce qui est plus intéressant, c’est que l’historique est enregistré dans une base sqlite.
Utilisation et configuration d’Atuin
Une fois installé (cargo install atuin, echo 'eval "$(atuin init zsh)"' >> ~/.zshrc),
au prochain shell, le fonctionnement de la recherche dans l’historique sera modifié:
- la recherche reste accessible comme avant avec
ctrl+r; - mais ensuite les flèches
upetdownpermettent de choisir la commande à relancer; - puis la flèche
droitepermet d’afficher la commande à relancer pour pouvoir la modifier, quand la touchereturnla commande immédiatement.
Le seul élément de la configuration par défaut que j’ai changé c’est la directive filter_mode. Par
défaut je préfère afficher les commandes lancées:
- dans la
sessionactuelle, - dans le répertoire courant (
directory), -
global.
Conclusion
Atuin a résolu mes problèmes d’historiques shell qui disparaissaient. C’est déjà appréciable. Je n’ai pas besoin du mécanisme de synchronisation entre mes machines : chaque machine ayant son rôle, le peu de commandes communes entre elles ne nécessitent pas de les partager.
J’utilise des systèmes Unix depuis plus de trente ans. Cette légère touche de nouveauté apportée par Atuin est bien agréable. La nouvelle interface de recherche dans l’historique, une fois qu’on s’y est habitué, se révèle pratique (et complémentaire aux autres outils d’accès à l’historique shell). Il se peut que je commence à prendre goût aux nouveaux outils.
