Ecologie

Publié le par Peck

Cet artcle est maintenant sur http://linux-attitude.fr/post/Ecologie

Niveau
:
Résumé : /etc/environment

PAM
Comme vous le savez, c'est depuis longtemps PAM qui gère vos sessions.

Les variables d'environnement font partie de ces sessions. C'est le module pam_env qui les gère avec une ligne du style :
session       required   pam_env.so readenv=1

Il lit 2 fichiers de configuration : /etc/environment et /etc/security/pam_env.conf

Le premier définit des variables d'environnement au format shell habituel.
VAR="toto"

Le second permet de les définir de façon un peu plus évoluées.
VAR DEFAULT="titi"
VAR OVERRIDE="tata"

La priorité va donc à OVERRIDE, /etc/environment puis à DEFAULT.
Placez donc toute votre configuration dans /etc/environment sauf besoin particulier.


Variables
Mais quelles sont donc les variables sympathiques qu'on peut y mettre ?

TMOUT : timeout de bash, si vous n'entrez rien pendant ce nombre de secondes, le shell se terminera. C'est une valeur très utile pour éviter de se retrouver avec des shells ouvert dans une console et personne devant la machine, on se prémunit ainsi des têtes en l'air.

LANG : la langue utilisée, pam étant bien intégré, la valeur est valable pour quasiment tout le système. C'est le bon moyen pour passer d'iso à utf8 et inversement.

PROMPT_COMMAND : commande lancée entre chaque ligne de commande de shell. Par exemple si comme moi vous êtes un malade du ls et que vous tapez ls frénétiquement quand vous ne savez pas quoi taper, mettez "ls", vous l'aurez à chaque ligne (oui c'est très chiant à la longue).

Sinon vous avez le droits à toutes les variables d'environnement que vous voulez, comme PS1, TMPDIR, PATH, HISTSIZE, HISTFILESIZE.ou des variables spécifique à des applications.

PS : pour ce qui est du ls fréquent, en réalité j'ai un alias bien pratique dans mon .bashrc
$ function cdls { cd $1 && ls; }
$ cd alias cd=cdls

Publié dans admin

Commenter cet article

David G. 14/08/2007 10:47

A noter la variable HISTCONTROL, qui permet d'obtenir un historique un peu plus propre si elle est mise à "ignoredups" ou "ignoreboth".

HISTCONTROL="ignoredups" permet d'éviter d'enregistrer deux commandes consécutives identiques, et la navigation dans l'historique s'en trouve facilitée.

HISTCONTROL="ignoreboth" est l'équivalent de HISTCONTROL="ignoredups,ignorespace". "ignorespace" permet d'ignorer les lignes de commande débutant par un espace, ce qui permet d'éviter de polluer l'historique avec des commandes hors contexte (comme un simple ls ou pwd).

Il existe une autre valeur "erasedups" qui permet de supprimer les occurences antérieures de la ligne de commande, mais je ne l'utilise pas personnellement car ça 'casse' les contextes précédents.