Un terminal aux petits oignons

Un terminal aux petits oignons

Après des années d’utilisation très basique je me suis enfin penché sur l’amélioration de mon terminal. Au départ il me servait uniquement pour les mises à jour système, au fil du temps son utilisation s’est imposée d’elle-même a tel point qu’il est en permanence ouvert dans le coin d’un de mes bureaux virtuels.

Ne sachant pas où aller et de quoi j’avais besoin, j’ai constitué un mini cahier des charges comme ligne directrice.

J’ai principalement besoin :

  • Un thème graphique reposant pour le yeux.
  • La surbrillance des commandes tapées (m’indiquer quand j’ai fait une faute de frappe sur une commande).
  • D’un seul coup d’oeil connaître la branche git sur laquelle je travaille, et si des changements sont à « commiter ».
  • Dans une même fenêtre travailler sur plusieurs terminaux, avec par exemple des sessions ssh différentes.
  • Un Prompt succin avec les infos essentielles

Tout est prêt, let’s go !

1. Le choix de l’application

Mon choix c’est porté sur Terminator, rapide, léger, paramétrable très simplement (un seul fichier de config). Je peux passer d’un seul terminal à 10 avec une seule séquence de touche, et je peux tous les piloté à partir d’un seul prompt.

Pour agrémenter le tout un joli thème inspiré du thème solarized de Ethan Schoonover.

Pour ceux qui sont intéressés voici Ma configuration ->

2. Le choix du Shell

Pour résumé le shell est la partie centrale du terminal, l’interpréteur de commandes dans la langue de Molière, il permet d’accéder aux fonctionnalités internes du système d’exploitation. Le plus connu étant le bash et ses dérivés, j’ai préféré  zsh.

Installation :

Après le redémarrage du terminal zsh est opérationnel ! Tout le nécessaire de configuration de zsh se trouve dans notre home /home/utilisateur/.zshrc. C’est le coeur de zsh !

Pour simplifier grandement sa configuration je l’utilise avec un petit utilitaire appelé antigen. Ce petit utilitaire me permet de mieux gérer les plugins dont j’ai besoin pour zsh, ainsi que d’autre fonctionnalités que j’ai renseignés dans le zshrc.

En gros lorsque je veux installer et utiliser un plugin (bundle dans antigen) il me suffit de renseigner dans mon zshrc et il fait le reste.  Exemple si je veux utiliser des plugins de oh-my-zsh :

Antigen va m’installer oh-my-zsh, et activera les plugins que j’ai configurés par la suite.

Pour le prompt j’utilise un thème perso, inspiré du thème  powerline line

Pour ceux qui sont intéressés voici Ma configuration ->

3. En conclusion

Depuis que je me suis penché sur l’amélioration de mon terminal, je suis plus tranquille et moins fatigué dans son utilisation. Mes tâches d’administration souvent pénible et répétitives se font avec une effroyable efficacité. J’arrive maintenant à mettre tous les serveurs à jours en une ligne de commande. Le terminal fait partie de ses petits outils que l’on néglige souvent, car leur puissance est  méconnue.

Et voici le résultat :

terminal_13052014

9 thoughts on “Un terminal aux petits oignons

  1. Terminator n’est pas rapide et léger.

    Terminator est basé sur gnome-terminal, et comme tous les terminaux basés sur gnome-terminal, il est extrêmement lent. Il n’y a qu’à essayer de faire un cat sur un fichier d’une centaine de méga, puis essayer de faire n Ctrl-C pour interrompre, la commande ne sera enregistrée que plusieurs dizaines de secondes après (une éternité).

    La même manip sur n’importe quel terminal non-basé sur gnome-terminal prend en compte directement l’opération (konsole, xterm, urxvt…).

    La meilleure solution reste un terminal plus rapide et utiliser tmux, par ailleurs bien plus élégant, puissant et paramétrable que le multi-fenêtrage basique de terminator.

    1. Eh bien pour l’utilisation que j’en fait je le trouve bien plus réactif et souple que le gnome-terminal. Après n’étant un furieux du terminal je n’ai pas poussé mes recherches bien loin.
      Pour le reste c’est une question de subjectivité, se sont mes choix et ils sont assumés 🙂

      1. Je confirme Terminator n’est vraiment pas léger. Si vous n’ouvrez que 2/3 shell ca va mais personnellement c’est plus 20/50 shell minimum et dans ce cas la l’empreinte mémoire est particulièrement lourde.

        Sinon les fonctions de ce terminal sont vraiment sympathiques mais pour mes contraintes ca ne passe pas.

  2. Salut

    Pas mal ta config merci, je viens de l’installer.
    J’y apporterai quelques petits changements, je ne suis pas fan du soulignement des commandes par exemple 😉
    Par contre good job pour la gestion des projets git

    Guillaume

    1. Merci iKonenn 🙂

      Moi aussi au début j’ai eu du mal avec les commandes soulignés, mais je m’y suis fait à la longue ;). Franchement git quand tu gère ta config sur plusieurs machine c’est le pied, et encore plys avec vcsh et mr. Qui seront à l’honneur dans mon prochain billet.

      Amuses-toi bien et si tu as modifs inintéressantes je suis preneur 😉

      A bientôt

  3. Très bon tuto ! C’est l’occasion d’évaluer le couple ZSH + Antigen en remplacement de BASH + Liquid Prompt, mais toujours avec Tmux. J’avais aussi commencé avec Terminator avant d’essayer Tmux. Comme tu apprécies la richesse de personnalisation de ZSH, tu tenteras probablement Tmux un de ces quatre 😉

  4. Salut,
    tmux n’est pas un emulateur de terminal, c’est un multiplexeur, qui tourne sur n’importe quel émulateur de terminale.
    Aussi, c’est pas subjectif quand on te dit que terminator est lourd et lent (et lent parce que lourd mais pas que…), c’est objectif (dans la plus exact définition des mots subjectif et objectif).
    Bref… tu préfère un émulateur lent et lourd mais joli, c’est ton choix et ça se respect et en effet, tu n’as pas vraiment besoin du terminale, ce qui explique ton choix.
    20-50 terminaux ça arrive quand on administre plusieurs systèmes, qu’on fait du développement et qu’on aime pas perdre son temps avec des GUI lourds qui n’apportent finalement rien à la rapidité de production (même c’est un frein), bref… qu’on fait vraiment de l’informatique.
    Après, le minimum en GUI permet d’utiliser des services sans se faire ch… à installer tous les codes pour faire tourner ça sans applications, mais uxvt ou st sont austères au départ, mais super rapide et puissants. utiliser tmux (le multiplexeur) est super pratique, surtout avec resurect et tmuxp pour créer et sauvragarder des sessions où l’on pourra revenir ensuite, aussi pour utiliser via ssh c’est top. vim comme éditeur de texte sait tout faire ou presque avec quelques plugins… et ranger ou mc comme gestionnaire de fichier (je préfère ranger parce que il a des commandes similaires à vim). avec un shell zsh, c’est vraiment top.
    Je pense que cette petite culture informatique est intéressante pour développer un article complet et précis.
    En ce moment, j’essaye d’apprendre comment configurer mon shell zsh pour que powerline puisse afficher deux lignes du shell au lieu d’une seule, avec en haut les paramètres ssh/git/environnemnt de programmation, puis en dessous le prompt shell.
    Si tu as une idée (comme tu as posté ce com en 2014, depuis tu as dûe apprendre plein de trucs j’imagine, on ne sait jamais… je demande au cas où. Et peut être un autre lira et saura aussi.
    Merci pour ton article.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

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