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.
Installez le package zsh, qui contient le shell du même nom :
# apt-get install zsh |
Remplacez les fichiers de configuration par défaut par mes fichiers de configuration :
# cd ~/config # cp zshrc zshenv zlogin zlogout /etc/zsh/ # cp 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 /etc/zsh/ # mv dir_colors /etc/ |
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/zsh/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" |
où 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" |
où 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.
Pour changer de shell, un utilisateur doit exécuter 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 !
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é.
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/zsh/zshenv et ajoutez ou supprimez un répertoire à la ligne qui commence par export PATH=.
Précédent | Sommaire | Suivant |
Le système de gestion des packages Debian | Niveau supérieur | Le réseau et la sécurité |