Chapitre 4. Configurer le shell

1. Qu'est-ce qu'un shell ?

Le shell est ce qui s'exécute quand vous vous logguez. C'est lui qui vous présente le prompt, qui envoie vos commandes au système, qui enregistre certaines variables. Il est encore là quand vous vous délogguez.

Vous avez un vaste choix de shells différents. Le shell par défaut sous Linux s'appelle bash. Mais il existe aussi csh , tcsh , zsh , sash , etc...

Je vais vous proposer d'installer le shell zsh, de télécharger des fichiers de configuration et ensuite de passer de bash à zsh .

2. Installer et configurer zsh

2.1. Installer le package et les fichiers de configuration

Pour l'instant, vous ne savez pas encore installer des packages. Je vous propose donc de taper sans comprendre la commande suivant en root :


# 
                      apt-get install zsh
                    

Remplacez les fichiers de configuration par défaut par mes fichiers de configuration :


# 
                      cd ~/config
                    
# 
                      cp zshrc zshenv zlogin zlogout dir_colors /etc/
                    
              

ou, si vous ne suivez pas ma formation depuis le début :


% 
                      wget http://people.via.ecp.fr/~alexis/formation-linux/config/zshrc
                    
% 
                      wget http://people.via.ecp.fr/~alexis/formation-linux/config/zshenv
                    
% 
                      wget http://people.via.ecp.fr/~alexis/formation-linux/config/zlogin
                    
% 
                      wget http://people.via.ecp.fr/~alexis/formation-linux/config/zlogout
                    
% 
                      wget http://people.via.ecp.fr/~alexis/formation-linux/config/dir_colors
                    
# 
                      mv zshrc zshenv zlogin zlogout dir_colors /etc/
                    

2.2. Configurer le proxy

Si vous devez passer par un proxy pour accéder à Internet, au lieu de taper à chaque fois export http_proxy=..., vous allez éditer en root le fichier /etc/zshenv puis décommenter et personnaliser les lignes adéquates :

  • si votre proxy ne requière pas d'authentification par login et mot de passe :

    
    # Proxy HTTP / FTP sans mot de passe
    export http_proxy="http://proxy.exemple.org:8080"
    export ftp_proxy="ftp://proxy.exemple.org:8080"
    
    # Ne pas passer par le proxy pour les domaines locaux
    export no_proxy="exemple.org"
    

    proxy.exemple.org est le nom DNS de votre proxy et 8080 son port.

  • si votre proxy requière une authentification par login et mot de passe :

    
    # Proxy HTTP / FTP avec mot de passe
    export http_proxy="http://login:password@proxy.exemple.org:8080"
    export ftp_proxy="ftp://login:password@proxy.exemple.org:8080"
    
    # Ne pas passer par le proxy pour les domaines locaux
    export no_proxy="exemple.org"
    

    proxy.exemple.org est le nom DNS de votre proxy, 8080 son port, login et password votre login et mot de passe pour le proxy.

Enregistrez et quittez.

2.3. Changer de Shell

Pour changer de shell, un utilisateur doit exéctuer la commande chsh et préciser où se trouve son nouveau shell. Il bénéficiera alors des fichiers de configuration par défaut que vous venez d'installer. Il pourra aussi mettre ses propres fichiers de configuration dans son home (même nom mais précédé d'un point).

Pour passer à zsh , un utilisateur doit donc taper :


% 
                      chsh
                    
Enter the new value, or press return for the default
   Login Shell [/bin/bash]:
                    
                      /bin/zsh
                    

Pour que le changement soit effectif, il faut se délogger (Ctrl-d) et se relogguer. Vous pouvez alors admirer la différence !

2.4. Shell par défaut pour les nouveaux utilisateurs

Pour changer le shell par défaut pour les nouveaux utilisateurs, il faut modifier le fichier de configuration de la commande adduser qui sert à ajouter un utilisateur au système. En root, éditez le fichier /etc/adduser.conf avec vim :


# 
                      vim /etc/adduser.conf
                    

Changez la ligne :

DSHELL=/bin/bash
              

par la ligne :

DSHELL=/bin/zsh
              

Enregistrez et quittez. Comme ça, quand le root rajoutera un nouvel utilisateur avec la commande :


# 
                      adduser toto
                    

ce nouvel utilisateur aura un shell zsh bien configuré.

2.5. Qu'est-ce que le PATH ?

PATH est une variable d'environnement. Pour afficher le contenu d'une variable d'environnement, on utilise la commande echo :


% 
                      echo $PATH
                    
/usr/local/bin:/usr/local/sbin:/bin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:
/sbin:/home/alexis/bin

La variable PATH contient la liste de tous les répertoires dans lesquels le système va chercher les exécutables des commandes que vous tapez au prompt, séparés par des "deux points". Par exemple, le répertoire /bin/ contient les commandes Unix de base, et vous pouvez vérifier qu'il est bien dans le PATH .

Pour modifier le PATH , éditez le fichier de configuration /etc/zshenv et ajoutez ou supprimez un répertoire à la ligne qui commence par export PATH= .

Retour en haut de la page
Mandragor.org - Version 8.3