Présentation de Tilix
Étant à la fois développeur et administrateur systèmes, je passe beaucoup de temps avec une console de terminal ouverte, et généralement plusieurs à la fois. J'ai donc pas mal cherché quel était l'outil parfait pour mon usage, et depuis quelques mois je suis passé sous Tilix qui me convient parfaitement. Comme il m'arrive de le recommander à d'autres personnes, j'ai voulu faire un petit article pour le présenter.
Les critères
Je voulais un terminal qui réponde aux critères suivants :
- capable d'afficher simultanément plusieurs terminaux (Je n'ai jamais été fan de le faire avec screen ou tmux) ;
- simple d'utilisation ;
- capable d'enregistrer plusieurs configurations de fenêtre ;
- capable de donner des titres aux terminaux / onglets / fenêtres ;
- présent dans les dépôts d'Ubuntu, histoire d'avoir les mises à jour automatiques ;
- si possible, capable de fonctionner en mode "Quake", c'est-à-dire lancé en permanence et apparaissant sur une partie de l'écran en appuyant sur une simple touche ;
- si possible également, basé sur GTK, afin de s'accorder au reste de mon système.
Sur mon précédent ordinateur, j'utilisais Terminator, mais je n'étais pas très satisfait du fonctionnement (notamment au niveau de l'enregistrement des sessions) et il bugguait sur mon nouvel ordi. J'en ai donc profité pour chercher une alternative et c'est là que je suis tombé sur Tilix.
Avantages
Comme on peut le voir sur la capture d'écran, l'interface est épurée, mais pratique : Un bouton permet d'ouvrir des onglets supplémentaires, deux autres de subdiviser les onglets verticalement ou horizontalement en plusieurs terminaux.
Chaque terminal a un bouton d'agrandissement pour passer un terminal particulier en plein écran.
Il est possible de donner des noms aux onglets et aux terminaux, et d'enregistrer la disposition, incluant lesdits noms et une commande à lancer systématiquement au démarrage.
Il est également possible de réorganiser tout ça en déplaçant les terminaux par simple glisser-déposer.
Cas pratique
J'ai souvent besoin, pour une activité donnée, des mêmes terminaux. Par exemple, pour développer un projet Django, j'aime bien avoir :
- Un terminal séparé avec
python manage.py runserver
lancé (pour ne pas avoir à l'arrêter et relancer à la main à chaque fois que je veux faire autre chose) - Un autre terminal pour un usage généraliste pour le projet (par exemple pour installer ou supprimer un paquet python, passer des commandes git, lancer le shell Django, lancer une commande comme un
python manage.py collectstatic
, etc.) - Sur certains projets où je passe beaucoup de temps dans le shell, je garde un onglet dédié
- Sur les projets où je déploie en ligne de commande, j'ai aussi un onglet pour le serveur distant
Et tout ça en plus d'un terminal pour les trucs liés au système de manière générale, qui est dans son onglet dédié.
Et bien sûr, pour tous les terminaux où c'est pertinent, je veux que mon virtualenv soit lancé par défaut.
Ça donne par exemple la disposition suivante pour ce site :
Comme dit plus haut, je peux faire tout ça en quelques minutes, enregistrer la disposition quand j'en suis satisfait en simple clic et la charger quand je veux à nouveau travailler sur le projet en question.
Personnalisation
Les trucs pour lequels j'ai galéré un peu sont :
- le lancement en mode "quake" ;
- le lancement par défaut au démarrage d'une session par défaut
J'ai fini par trouver comment faire pour résoudre ces deux problèmes d'un coup : ajouter un raccourci clavier personnalisé à Ubuntu[1] appelant la ligne de commande suivante :
env GDK_BACKEND=x11 tilix --quake --session=~/outils/tilix/default.json
Le seul problème avec cela est qu'il lance quand même un autre onglet basique par défaut en plus.
Le dernier bémol est que l'outil est actuellement à la recherche d'un nouveau mainteneur, et qu'il n'y a donc pas eu de nouvelle version depuis un an.
Image d’en-tête:
Image générée via Dall-E: "A cyberpunk netrunner looking at multiple monitors with terminals, digital art" - DP