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, et 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 ? Voici quelques exemples.

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 le système 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 à vos 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