bannière du site

Tilix : l'ami des administrateurs système

Rédigé par sogal 7 commentaires
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 :


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) :


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 :


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.

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.


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.


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 :


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 :


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


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 :

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 :


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



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 :


Puis se connecter :



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.

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... » :



Et renseignez le :





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 : 
  1. à l'aide des signets vous lancez une connexion distante ;
  2. grâce aux mots de passe enregistrés vous déverrouillez votre clé SSH par exemple ;
  3. 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

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 :


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 :


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 :


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 ! 

7 commentaires

#1  - Cascador a dit :

Yo,

C'est très séduisant et prometteur, merci pour l'article ! Je vais le tester très rapidement ;)

Perso je suis actuellement sur Guake.

Tcho !

Répondre
#2  - caméléon38 a dit :

bonsoir,
vous donner l'impression de vous intéresser à opensuse.
Est-ce qu'un admin du site pourrait me répondre enfin ( env. 10 messages) et m'expliquer pourquoi je ne peux pas poster sur le forum d' Alionet, ça serait super sympa, même pour m' envoyer paître.
Désolé d'être hors-sujet. caméléon38 sur le forum Alionet.
Merci beaucoup.

Répondre
#3  - sogal a dit :

@ Cascador : salut ! j'espère qu'il te plaira ! Guake est pratique mais il me manquait souvent la possibilité de le scinder, donc je le lançais avec tmux en tant que shell pour pallier cela. Dans le même genre il existe Terminator qui apporte uniquement la possibilité de se scinder mais sans les autres fonctionnalités de Tilix. ++

@ caméléon38 : je ne pense pas qu'il y ai volonté de vous envoyer paître, du tout. La communauté Alionet est un peu en transition ce derniers temps, donc soit l'adresse n'est plus valide, soit la messagerie est pleine. Êtes-vous déjà inscrit sur le forum ? Si oui et si vous le pouvez, je vous invite à m'envoyer un message privé (j'ai le même pseudo) afin que je relaye l'information et qu'on résolve ça au plus vite. À bientôt.

Répondre
#4  - Cascador a dit :

Yo,

Je me permets de taper la discut sur Tilix ;)

Je trouve le mode quake (à la Guake) complètement stupide ou sinon j'ai pas compris. Il faut paramétrer un raccourci pour tilix --quake, j'attends que quand je fais ce raccourci tilix apparaisse (ça c'est ok) et qu'il se cache quand je refais ce raccourci (ça c'est pas ok). Guake fonctionne sur ce principe et je ne comprends pas comment on peut utiliser le terme "drop-down terminal" sans ce fonctionnement.

Je trouve également l'issue 12 (https://github.com/gnunn1/tilix/issues/12) expliquant qu'il n'y aura pas d'onglet aberrante. Si tout le monde passe aux onglets dans les navigateurs, explorateurs de fichiers et certains terminaux c'est que ça a fait ses preuves. M'enfin je respecte ce choix. Sur Guake j'ai un titre dans l'onglet, je peux me repérer. Comment tu fais sur Tilix quand tu as plusieurs "sessions" ?

Merci, Tcho !

Répondre
#5  - sogal a dit :

@Cascador: Ha mais permets toi ! Pas de soucis !

Pour le mode "quake" : il faut effectivement ajouter un raccourci pour l'utiliser, c'est une option offerte en plus en quelque sorte et le choix du raccourci est laissé à l'utilisateur. Je peux t'assurer que cette fonctionnalité a bien le comportement que tu décris. Je l'ai assigné à F12 et une pression sur cette touche l'affiche, une seconde le fait disparaître. Une erreur de paramétrage du raccourci ? ou un conflit de cette touche qui, parfois, serait capturée par l'environnement de bureau ou bien une application ? je n'ai jamais noté ce comportement en 6 mois. Quel DE utilises-tu ?

Pour l'histoire des onglets, c'est en cours d'implémentation en tant qu'option (voir https://github.com/gnunn1/tilix/issues/1047). Les onglets sont un choix répandus, mais parfois un choix un peu par défaut, faute de pouvoir imaginer mieux. Ça ne m'a pas posé de soucis à l'utilisation de Tilix, j'utilise souvent Ctrl + PageUp/PageDown pour naviguer entre elles. Et quand j'en ai un peu plus, j'utilise la "side-bar" (dont j'ai remapé l'affichage à Alt + Z), j'aime bien avoir ce visuel miniature sur mes sessions et je trouve ça original et plus moderne que les onglets.
Si jamais tu veux tester, j'ai construit un .rpm de la version git/master, c'est disponible ici : http://download.opensuse.org/repositories/home:/sogal/openSUSE_Leap_42.3/x86_64/

@++

Répondre
#6  - Cascador a dit :

Yo,

Merci pour toutes ces précisions.

Je suis sur Xubuntu (donc XFCE), je viens de tester avec un autre raccourci clavier et même chose. Étant donné le rythme de développement et l'histoire des onglets, je vais attendre la prochaine release et retester ;)

Tcho !

Répondre
#7  - sogal a dit :

@Cascador : officiellement le support de Tilix n'est assuré que pour Gnome et Unity (donc uniquement pour Gnome du coup :) )
Je pense que les onglets arriveront en effet assez rapido, d'ici un mois ou deux.
C'est curieux cette histoire de raccourci qui ne bascule pas l'état de visibilité correctement quand même. Le soucis n'est pas présent ni avec Guake ni lorsqu'on utilise xfce4-terminal en mode drop-down.

Répondre

Écrire un commentaire

 Se rappeler de moi sur ce site
Capcha
Entrez le code de l'image

Fil RSS des commentaires de cet article