volted.net

A blog about openSUSE and free thoughts

Tilix : l'ami des administrateurs système

December 01, 2018 — sogal

Il y a quelques mois, je présentais Tilix , un émulateur de terminal scindable. Après plusieurs mois d'utilisation, je souhaite partager quelques astuces qui font de ce terminal un excellent outil pour les administrat{rices,eurs} système. Pour rappel, Tilix (anciennement Terminix) est un émulateur de terminal utilisant la libvte et écrit en D avec interface GTK3+. À ce titre, il est donc particulièrement conçu pour s'intégrer avec GNOME.

À l'instar de Terminator, il est scindable, ce qui permet d'avoir de nombreux terminaux dans une seule fenêtre :

Tilix

Il peut être également un remplaçant de Guake, dans la mesure où il fonctionne aussi en tant que « dropdown terminal » (terminal déroulant dit à la Quake) :

Tilix

Bref, il est mignon mais tout ça c'est du classique, pas de quoi justifier un deuxième article. Non, ce qui va nous intéresser aujourd'hui, ce sont les fonctionnalités avancées de Tilix, à savoir :

  • Gestion de signets, locaux ou distants ;
  • Liens personnalisés (liens cliquables sur la base d'expressions rationnelles) ;
  • Changement de profil automatique selon l'emplacement (local ou distant (SSH)) ;
  • Gestion des mots de passe ;
  • Lancement d'actions en interne ;
  • Gestion avancée du presse-papier.

Gestion des signets :

Tilix permet d'enregistrer et gérer une liste de « signets », c'est-à-dire des emplacements locaux ou distants. Il suffira ensuite d'ouvrir cette liste, de sélectionner le signet voulu pour se rendre immédiatement dans le dossier ou ouvrir la session SSH vers un hôte distant.

Note : les signets sont enregistrés dans $HOME/.config/tilix/bookmarks.json, je vous recommande de créer ce fichier à la main au préalable si vous constatez que vos signets ne sont pas enregistrés correctement après avoir quitté Tilix.

Dossier :

Tilix vous permet d'organiser vos signets en créant un simple dossier dans lequel vous allez pouvoir les créer, afin qu'ils soient bien organisés. C'est utile pour, par exemple, regrouper des connexions SSH vers un même groupe de machines :

Tilix

Cliquer sur le dossier puis sur le « + » pour y ajouter des signets.

Signets locaux :

Pour ajouter des signets, ouvrir les préférences de Tilix, puis aller dans la section Signets pour cliquer sur le « + ».

Ici, je vais ajouter un signet vers la copie local de mon projet sur l'Open Build Service.

Tilix

Signets distants :

La procédure est la même, mais choisir « Distant » puis renseigner les paramètres du signet :

  • Nom : la référence de votre signet ;
  • Protocole : au choix : SSH, SFTP, TELNET, FTP ;
  • Hôte : le nom d'hôte de la cible suivi du numéro de port ;
  • Utilisateur : l'utilisateur de la connexion ;
  • Paramètres : les options de SSH par exemple ;
  • Commande : si c'est une connexion SSH, la commande à lancer sur l'hôte distant.

Tilix

Un bon exemple de « Don't drink and root » !

Commande :

Même procédure que les autres, mais là on saisit simplement une commande à lancer, le signet est donc ici un simple alias.

Tilix

Ma commande pour mettre à jour la copie locale de mon dépôt OBS.

Utiliser les signets :

Vous pouvez accéder à vos signets via « Ctrl + Maj + B », vous n'avez plus qu'à le sélectionner et la commande correspondante est lancée :

Tilix

Liens personnalisés :

Tilix vous permet de définir une liste de liens (URI vers une page web ou un emplacement file:// local ou distant) qui vont être rendus cliquables sur la base d'une expression rationnelle ou d'un simple mot. Pour ce faire, ouvrir les préférences puis la section Avancé. Pour l'exemple, je vais ajouter un lien pour me rendre d'un clic sur le forum d'obsd4a.net (OpenBSD For All), celui d'Alionet (communauté openSUSE francophone), celui de Debian-Facile ou encore ma copie locale de la doc Python :

Tilix

Le terme d'expression rationnelle est devenu cliquable, soit par « Ctrl + clic », soit par un clic-droit :

Tilix

Changement de profil automatique :

On arrive là dans une fonctionnalité de Tilix que j'apprécie beaucoup et qui peut permettre d'éviter de faire des bêtises en tapant une commande dans le mauvais répertoire ou dans une connexion distante : il s'agît du changement de profil automatique. Tilix, comme beaucoup d'émulateurs de terminal modernes, vous permet de créer plusieurs profils (couleurs, shell utilisé, police de caractères etc...) mais en plus, il permet de passer automatiquement de l'un à l'autre en fonction de l'emplacement actif, que ce soit un dossier local ou, plus intéressant mais nécessitant un poil plus de manipulation, une connexion SSH.

En local :

Tilix

Pour l'exemple j'ai créé un profil appelé « Root » qui sera activé automatiquement lorsque je serais dans un des dossiers suivants :

/etc
/usr
/root

Maintenant, dans l'onglet « Avancé » du profil, je vais définir la condition nécessaire à son activation.

Comme il est précisé, les valeurs doivent être au format « hôte:dossier » ou « hote: » ou « :dossier », les « : » sont obligatoires, ainsi « hôte » ou « dossier » seuls ne sont pas permis.

Et maintenant, si je me rends dans /etc :

Tilix

La bascule s'est faite automatiquement et dès que je quitte /etc Tilix me remet mon profil par défault :

Tilix

Lors d'une connexion distante :

Tilix nous permet de faire la même chose lors d'une connexion SSH. Mais cela nécessite un brin de configuration sur l'hôte distant :

Copie du script sur l'hôte distant :

Il faut pousser le script /usr/share/tilix/scripts/tilix_int.sh dans le $HOME de l'utilisateur distant :

scp /usr/share/tilix/scripts/tilix_int.sh user@hostname:/home/user

Puis s'y connecter au préalable pour ajouter le lancement du script à la connexion, via son .bashrc par exemple :

[sogal@host ~]$ cat .bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
. ./tilix_int.sh

Configuration de la condition :

Puis définir, là aussi, la condition de bascule de profil comme précédemment mais en précisant l'hôte (celui fournit par la commande hostname sur laquelle Tilix se base) cette fois-ci :

Tilix

Puis se connecter :

Tilix On voit à gauche que le profil a changé dès l'établissement de la connexion SSH.

Puis qu'il rebascule vers le profil par défaut dès que je me déconnecte. Tilix

Gestion des mots de passe :

Tilix permet également de conserver en mémoire des mots de passe. Pour cela, cliquez sur le menu du terminal actif et choisir « Mots de passe... » :

Tilix

Et renseignez le :

Tilix

Tilix

Tilix conserve les mots de passe enregistrés dans le trousseau de gnome-keyring.

C'est une fonction très intéressante couplée aux précédentes :

  • à l'aide des signets vous lancez une connexion distante ;
  • grâce aux mots de passe enregistrés vous déverrouillez votre clé SSH par exemple ;
  • puis Tilix vous bascule immédiatement dans le profil de votre choix le cas échéant.

Lancement d'actions en interne :

Au sein d'un session Tilix en cours, ce dernier permet de lancer des actions internes pouvant être utiles pour, par exemple, scinder la fenêtre en deux puis ouvrir un programme X dans la tuile créée :

tilix -a session-add-right -e htop

Tilix

Fonctionnalité utile lorsque couplée à un alias.

Gestion avancée du presse-papier :

Tilix nous offre des options intéressantes du copier-coller. Elles sont à activer dans les préférences :

Tilix

Dialogue avancé :

Vous pouvez configurer un raccourci pour l'afficher ou bien choisir de toujours l'afficher. Ce dialogue permet par exemple de configurer le nombre d'espaces dans les tabulations lors du collage :

Tilix

Avertissement en cas de collage dangereux :

Une fonctionnalité parfaite pour les utilisateurs étourdis !

Tilix dispose d'une fonctionnalité qui vous averti lors du collage d'une commande potentiellement dangereuse (exécutée avec sudo par exemple). Ceci est utile lorsqu'on suit un peu bêtement un tutoriel depuis le Web mais ne fonctionne que lorsque la commande est suivie d'un retour à la ligne qui entraînera son exécution immédiate :

Tilix

En conclusion :

Voilà, j'espère que cette revue des fonctionnalités avancées de Tilix vous aura convaincu, ou du moins donné envie, de l'adopter pour vos travaux. Tilix est développé activement, de nouvelles versions voient le jour environ tous les deux mois et apportent leur lot de nouveautés intéressantes, donc n'hésitez pas à les suivre s'il vous intéresse. Je continuerai à publier des infos sur son développement et les sorties des nouvelles versions stables.

À bientôt, enjoy !

Tags: terminal