Nouvelle configuration de l'environnement de travail

(pour les machines du SCRIPT 2005-2006)

Nous vous proposons quelques modifications de votre configuration personnelle pour rendre le travail avec le shell plus agréable et plus efficace. Quelques avantages:,

La mise en place de la nouvelle configuration est en soi déjà un petit exercice qui vous permet de voir si vous connaissez déjà suffisamment bien les outils de base d'UNIX.

Installation

Pour passer à la nouvelle configuration, vous devez

  1. Sauvegarder les trois fichiers exemple_zshrc, exemple_myprofile et exemple_alias dans votre répertoire de base sur votre machine.
  2. Renommer les fichiers:
    • exemple_zshrc en .zshrc
    • exemple_myprofile en .myprofile
    • exemple_alias en .alias
  3. Activer la nouvelle configuration avec la commande echo 'exec zsh' >.bashrc (ceci à pour effet de remplacer le bash que vous utilisiez jusqu'à maintenant par le zsh).

Si vous ne voyez pas comment faire, cherchez un peu dans les leçons sur la pratique d'UNIX avant de nous demander.

Description

Voici une description succinte de la structure de la nouvelle configuration, et de ce qu'elle améliore. Il n'est pas indispensable de l'avoir entièrement comprise pour l'utiliser, sauf si vous souhaitez pouvoir la modifier ou la compléter. Il est néanmoins recommandé de la lire une fois, notamment la partie sur les alias. En effet, vous pouvez facilement ajouter vos propres alias pour abréger les commandes les plus utilisées. Le but de cette description est de vous donner une idée du fonctionnement des fichiers de configuration.

Généralités: options et environnement

Le comportement du shell et des commandes UNIX peut être modifié pour l'adapter à l'environnement utilisé (quelle est l'imprimante par défaut ? Dans quels répertoires chercher les commandes ?) et aux préférences personnelles (éditeur préféré, commandes abrégées, affichage en couleurs, informations contenues dans le prompt). Les préférences globales (valables pour toutes les commandes et le shell) sont stockées dans des variables (que vous pouvez voir à l'aide de la commande env pour "environment"). Par exemple, le nom complet de votre editeur préféré est contenu dans la variable EDITOR:

ordi:~> echo $EDITOR
/usr/bin/emacs

(par exemple). On peut modifier ce genre de variable de manière durable dans .myprofile.

En plus de cela, vous savez que le comportement de la plupart des commandes UNIX peut être modifié par des options qu'on ajoute à la commande lors du lancement (ls -l ne donne pas le même résultat que ls). Certains programmes permettent de stocker les options qu'on voudrait toujours avoir dans une variable (LS_OPTIONS pour ls). D'autres permettent de les modifier après le lancement du programme (commande setopt pour le zsh).

Finalement, de nombreux programmes sauvegardent les préférences de l'utilisateur pour les recharger au lancement suivant (xemacs par exemple stocke les préférences dans le répertoire .xemacs). Cela a généralement peu de sens de modifier cette sauvegarde directement (c'est plus confortable à partir du programme lui-même), et peu même être difficile puisque chaque programme a sa propre manière de stocker ces informations. Nous n'allons donc pas utiliser cette possibilité.

Les fichiers

Les réglages sont regroupés dans des fichiers de configuration, qui sont lus au lancement d'un shell ou d'un programme. Pour ne pas que ces fichiers "polluent" le répertoire de base de l'utilisateur, leurs noms commencent par un point. Ceci a pour effet de les rendre invisibles (ls ne les affiche pas), sauf si on demande explicitement à les voir (ls -a).

Les fichiers de la nouvelle configuration, décrits ci-dessous, sont tous des fichiers de texte contenant des commandes de shell. Cela signifie que vous pouvez regarder leur contenu à l'aide de la commande more ou less, les modifier si vous voulez avec votre éditeur préféré (nedit, kwrite, xemacs, ...) et en tester des morceaux en les tapant au prompt d'un shell.

Remarque: si vous modifiez les fichiers de configuration, n'oubliez pas que les changements n'affecteront que les shells lancés ultérieurement. Pour recharger la configuration dans un shell qui tourne déjà, tapez source .zshrc

.zshrc
Lorsqu'on lance un terminal avec un shell, ce dernier essayera automatiquement de lire son fichier de configuration (.zshrc s'il s'agit de zsh, .bashrc pour bash, etc.). Vous pouvez voir que les deux premières choses que fait ce fichier, c'est de lire .myprofile (réglages de variables globales) et .alias (abbréviations de commandes). Suivent d'autres réglages du comportement du shell, notamment ce que doit contenir le prompt (le contenu de la variable PS1).
.myprofile
Ce fichier contient des réglages globaux, et sera lu et executé par .zshrc. Il ajoute d'abord le répertoire courant .(point) à la liste PATH des endroits où le shell cherche les commandes que vous tapez au prompt. D'autres réglages suivent, dont celui de l'éditeur préféré. Notez que le caractère "#" marque le début d'un commentaire, ce qui veut dire que le reste de la ligne est ignoré par le shell. Si vous souhaitez, vous pouvez afficher des informations pour l'utilisateur au lancement (echo est l'équivalent de printf() en C).
.alias
Les alias sont un moyen proposé par le shell pour abréger des commandes souvent utilisées (pour comprendre comment faire, voir le contenu de ce fichier). Le fichier de la nouvelle configuration contient déjà quelques définitions utiles (par exemple au lieu de ls -l, tapez juste ll), vous pouvez en rajouter autant que vous voulez. Le fichier est lu par .zshrc, donc au lancement du shell. Répétons que tout ce que vous voyez dans les fichiers de configuration peut être tapé directement au prompt. Il y a toutefois une différence importante entre la définition d'un alias au prompt et la définition d'un alias dans ce fichier: la première rend l'alias utilisable tout de suite, mais l'alias sera perdu quand vous quittez le shell; la seconde définit l'alias de manière permanente, mais uniquement dans les nouveaux shells que vous lancerez par la suite (pas dans ceux qui tournent déjà). La bonne démarche est donc de tester les nouveaux alias d'abord dans un shell, et de les inscrire dans ce fichier quand on s'est assuré qu'ils font ce qu'on veut.
Auteur(s) : A. Daerr. Dernière modification : Fri Nov 10 01:51:02 2006. [validate XHTML]