Un shell plus puissant que bash : zsh

Dans ma quête de rédemption envers Linux, j’ai découvert récemment un nouveau shell encore plus puissant que bash…

C’est en visitant le blog de “Quack1″ ->  http://quack1.no-ip.org/ que j’ai découvert ce nouveau shell qu’est “zsh”.
(Merci pour la contribution ! :-))

Les exemples et les images valent mieux que des mots, regardez plutôt le diaporama librement fournit par @UnixToolTip

Le diaporama est en anglais, mais très simple à comprendre.

Article basé sur le billet de Quack1 à cette adresse -> http://quack1.no-ip.org/zsh_intro.html

Pourquoi Zsh ?

Logo Zsh

Bash est le shell par défaut de nombreuses distributions, que se soit Ubuntu, Debian, Archlinux, Mageia et autres.
Malgré l’âge de ce shell, celui-ci est toujours aussi fiable pour une utilisation de tous les jours, sans vouloir pousser le shell dans ses derniers retranchements.

Toutefois, voulant toujours être hors norme, il me fallait un nouveau shell, digne des plus grands caprices d’un geek… !

Zsh est plus puissant que Bash, notamment de par les améliorations apportées par zsh.
Quelques exemples en vrac :

  • Inter-opérabilité avec Bash ;
  • Compatibilité avec n’importe quelle distribution utilisée pour mes tests (soit Debian 7 et Archlinux) ;
  • Nombreuses commandes pré-configurées et automatisées avec des logiciels comme Git (pour facilité l’accès et l’utilisation) ;
  • Avoir un Shell qui a de la gueule !

Pour avoir plus exemples, vous pouvez aller voir la page officielle à cette adresse -> http://zsh.sourceforge.net/FAQ/zshfaq01.html#l4

Installer Zsh

L’installation sous Debian est tout aussi simple que sous Archlinux – Utilisez votre gestionnaire de paquets pour télécharger et lancer l’installation de ce shell :

Le shell ne pèse que quelques kilo-octets, d’où le téléchargement et l’installation très rapide.
Toutefois, vous aurez une configuration a effectuer si vous souhaitez avoir ce shell par défaut pour tout nouvel utilisateur créé, et pour vous (vote session actuelle) aussi…

Utiliser Zsh

Pour utiliser Zsh rapidement dans un terminal, il vous suffit de lancer la commande “zsh” pour arriver dans votre nouveau shell.

Lors du premier lancement, il n’y a aucun fichier de configuré quant à zsh – appuyez sur la touche “0″ de votre clavier (pavé numérique) pour créer un premier fichier de conf simple et basique, permettant directement d’utiliser zsh. Dans tous les cas, cette création de fichier de conf vous sera suggérée.

Cependant, une fois la session déconnectée, le shell zsh sera coupé et vous retournerez sur bash – Vous devrez donc saisir une nouvelle fois la commande zsh dans votre terminal avant de pouvoir utiliser ce shell…

A moins que vous ne suiviez la procédure très simple et rapide ci-dessous :-) :

Changement du shell pour un utilisateur connecté

Comme dit précédemment, l’exécution de la commande zsh permet d’avoir un shell à un instant donné – L’idée est d’avoir ce shell automatiquement lorsque la session s’ouvre.

Ouvrez donc un terminal, et entrez-y la commande “chsh“, pour CHange SHell.
Une première question vous sera posée quant au mot de passe de l’utilisateur courant – une seconde question concerne l’emplacement du shell que vous souhaitez avoir au démarrage de la session (pour zsh, il s’agit de : “/bin/zsh“).

Exemple pour notre machine :

chsh

Par défaut, chsh reconnait votre shell qui a été pré-configuré.

Pour que les modifications puissent être effectives, il faut se déconnecter totalement de la session en cours, et se reconnecter.

La différence entre les deux shells (configurés par défaut, sans options spécifiques)

  • 1er cas : Bash (Sous ArchLinux, mais similaire à toutes les distributions bénéficiant de Bash) ;
  • 2ème cas : Zsh.
bash-zsh

Les deux shell, “côte-à-côte”

Naturellement, les shell sont par défaut assez austère – Vous pouvez les configurer grâce au fichier .bashrc à la racine de votre dossier personnel.

Activer zsh par défaut pour tous les nouveaux utilisateurs créés sur la station (Debian)

Lorsque vous créez un nouvel utilisateur sur votre machine, vous pouvez utiliser la commande “adduser“, vous permettant d’avoir plusieurs options faciles d’accès quant à cette création, sans pour autant changer son shell, qui sera Bash. C’est le même cas de figure pour la commande “useradd“, sauf si vous y ajouter l’attribut (pour zsh) suivant : “-s /bin/zsh“.

Ces deux commandes se basent sur un même fichier de configuration, “adduser.conf“. Le fichier se trouve dans le dossier “/etc/“.

Vous devez ouvrir ce fichier avec votre éditeur de textes et les droits sudo, pour modifier la variable contenue dans “DSHELL”.
Par défaut, cet attribut DSHELL contient “/bin/bash” – vous avez à remplacer “bash” par “zsh” pour que les utilisateurs nouvellement créés bénéficient de “zsh” au lieu de bash.

Vous pouvez enregistrer et fermer le fichier une fois les modifications effectuées – Les prochains utilisateurs créés auront zsh comme shell par défaut !

Article basé sur le billet de Quack1 à cette adresse -> http://quack1.no-ip.org/zsh_intro.html

0