Le réglage le plus important est à faire dans les fichiers
commun d'initialisation des logins shells : /etc/csh.login
pour tcsh
et /etc/profile
pour bash
.
Ceux qui n'obtiennent pas le bon PATH à partir de ces fichiers
sont : rsh
, ssh
, les éléments des
menus du gestionnaire de fenêtres sous X ne lançant pas
explicitement de login shell, les commandes lancés à partir
de inittab
, les travaux de cron
, les travaux des
démons comme magicfilter
(lancé par lprd
),
les scripts CGI (WWW), etc...
Si le PATH est fixé dans /etc/csh.cshrc
, il sera
utilisé si rsh
ou ssh
lance des commandes sur
une machine distante où l'utilisateur utilise
tcsh/csh
. Par contre, il n'est pas possible de régler
le PATH si l'utilisateur utilise bash/sh
. Voici une méthode
pour ne garder le PATH que dans un seul fichier, par exemple
/etc/environnement-commun
, dans lequel on écrit :
${EXPORT}PATH${EQ}/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/X11:/usr/local/bin:/usr/games:.On peut ensuite l'utiliser à partir de
/etc/csh.login
(pour tcsh
et csh
)
set EQ=" " set EXPORT="setenv "; source /etc/environnement-communA partir de
/etc/profile
(pour bash
, mais pas pour le
vrai sh
)
EQ='=' EXPORT="export " . /etc/environnement-communEt à partir de
/etc/environment
(pour XDM)
EQ='=' EXPORT="export " . /etc/environnement-commun
Cette méthode marchera la plupart du temps, sauf que ssh
se plaindra des lignes contenues dans /etc/environment
(ainsi
que des variables EQ et EXPORT). De plus, rsh
n'aura toujours
pas le bon PATH s'il passe par bash
.