Linux : comment renommer son terminal ?

Linux : comment renommer son terminal ?

I. Présentation

Je ne sais pas vous, mais perso j’ai souvent plusieurs terminaux d’ouverts, chacun avec sa propre thématique : bash, zsh, tutoriel en cours, PowerShell (oui, je sais, PowerShell sous Linux, allez-y, huez-moi :D).

Et question d’organisation, j’aime bien que chacun porte un nom évocateur. C’est simple, on ne cherche pas 3 heures la bonne fenêtre : on sait d’un coup d’œil où on se trouve.

Sauf que voilà : l’application terminal par défaut d’Ubuntu Gnome ne le permet pas / plus. On peut customiser son arrière-plan, même mettre un GIF animé (la classe!), mais renommer sa fenêtre ? Non pas possible.

Et comme je refuse de m’avouer vaincu, laissez-moi vous donner ma petite astuce pour résoudre ça. Vous l’aurez compris, dans ce tutoriel, je vais répondre à la question suivante : comment renommer son terminal sous Linux ?

II. Prérequis

  • Terminal bash (Distribution Linux ou WSL)

III. Utiliser le terminal Mate

La première option serait de changer de terminal. On peut installer Terminal Mate sous Ubuntu, qui permet nativement de renommer sa fenêtre.

Pour l’installer :

sudo apt install mate-terminal -y

Note : Le -y vous permet d’éviter de donner votre confirmation avant installation des paquets.

Comme vous pouvez le constater, c’est on ne peut plus simple : Cliquez sur le menu Terminal, puis sur Modifier le titre. Et ça marche !

Je ne comprends d’ailleurs toujours pas pourquoi sur Gnome cette fonctionnalité pourtant bien pratique (indispensable même) a tout bonnement disparu du terminal. Si quelqu’un a une explication, je suis preneur.

Maintenant, laissez-moi vous avouer quelque chose : j’adore utiliser mon terminal avec une petite touche de transparence. C’est pratique quand vous passez votre temps à switcher entre la doc et le terminal sur le laptop, et puis ça peut impressionner vos voisins dans le train :D.

Et le truc, c’est que je n’ai jamais réussi à faire fonctionner correctement la transparence correctement avec le terminal Mate : c’est soirée disco, ça clignote de partout, ça pique les yeux et surtout c’est inutilisable. Et ça, ce n’est juste pas envisageable.

Je suis donc revenu à mon terminal Gnome par défaut, et la problématique reste entière. Du coup, je me suis orienté vers la seconde solution : créer une fonction custom dans mon profil bash.

IV. Fonction custom pour changer le nom du terminal

J’ai donc créé une fonction de quelques lignes qui me permet de changer facilement et rapidement le nom de mon terminal. Et pour que cela soit persistant, j’ai ajouté cette fonction dans mon profil utilisateur. Comment ?

En modifiant le fichier /home//.bashrc :

vim ~/.bashrc

Puis j’ai ajouté dans ce fichier les lignes suivantes pour créer la fonction set-title :

#  Fonction pour changer le titre de la fenêtre terminal
function set-title() 
  if (( -z "$ORIG" )); then
  ORIG=$PS1
  fi
  TITLE="\(\e)2;$*\a\)"
  PS1=$ORIG$TITLE

Testons ça dans un nouveau terminal, en tapant set-title, suivi d’une chaîne de caractère :

set-title Coucou
set-title Ceci est un super titre

Comme vous pouvez le voir, non seulement ça fonctionne, mais en plus ça prend en compte les espaces :

Maintenant un peu d’explication :

  • La variable $PS1 est une variable d’environnement et correspond à votre environnement bash sous Linux.
  • $* correspond à l’ensemble des arguments saisis. Autrement dit, via $* on capture tout ce qui est saisi après l’appel de notre fonction, donc après set-title.

Bien. Si on déroule notre fonction étape par étape, voici ce que ça donne :

  • On commence par récupérer le contenu de la variable $PS1 et on le stocke dans $ORIG, au cas où.
  • On crée ensuite une nouvelle variable $TITLE avec les entrées saisies au clavier (tout ce qu’il y a après le set-title), puis on réécrit le contenu de $PS1, en y injectant $ORIG (le prompt actuel donc), + $TITLE (le nom de la fenêtre).

Et là vous me demandez pourquoi ça marche. Comment ça se fait que la magie opère ?

Regardons plus en détail la variable TITLE, que l’on pourrait décomposer en trois sections :

On a déjà vu ce que faisait le $*. Quand aux deux autres sections, elles sont interprétées par le driver du terminal. En voyant le code (\e)2; passer, votre terminal sait qu’il va ajouter tout ce qu’il y a entre ça et le \a dans le titre du terminal.

Plutôt sympa, non ?

V. Conclusion

En l’état, il vous faudra exécuter cette fonction à chaque fois que vous souhaiterez changer le nom du terminal, la modification ne s’effectue pas automatiquement.

On verra d’ailleurs dans un futur article comment faire pour mettre à jour automatiquement le titre du terminal, par exemple pour afficher le nom du répertoire courant.

N’hésitez pas à me dire en commentaires si vous souhaitez voir d’autres customisations de l’environnement bash.

Hébergez votre site à partir de 2$ sur 👉👉👉 https://www.tnctech.ca

À propos Santana

Analyste en cybersécurité avec 5 ans d'expérience dans la protection des systèmes d'information contre les menaces et les attaques. Expertise dans la surveillance des réseaux, l'analyse des vulnérabilités, et la gestion des incidents de sécurité. Passionnée par l'innovation technologique et la mise en œuvre de solutions de sécurité robustes pour protéger les données sensibles et assurer la conformité réglementaire.

Vérifiez également

Script Bash - Générer des nombres aléatoires sous Linux

Script Bash – Comment générer des nombres aléatoires sous Linux ?

Table de Matieres1 I. Présentation2 II. Utiliser la variable $RANDOM pour les nombres aléatoires3 III. …

Script Bash - Affecter le résultat d'une commande à une variable

Bash : comment stocker le résultat d’une commande dans une variable ?

I. Présentation Dans ce tutoriel, nous allons apprendre à stocker le résultat d’une commande Linux …

Linux – Afficher la branche Git dans le prompt

Linux – Afficher la branche Git dans le prompt

Table de Matieres1 I. Présentation2 II. Prérequis3 4 IV. Tester le bon fonctionnement5 V. Conclusion …

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.