Le Samedi 1 Février 2003 11 heures 49, LEFEBVRE Herve a écrit :
> On Samedi 1 Février 2003 10:56, Louis RAMEL wrote:
> > Bonjour,
> > Excuses moi pour cette reponse tardive.
> > j'ai fais ce que tu m'as dis et bien sur cela marche.
> > Ma reponse tardive est due au fait que etant debutant j'ai cherché dans
> > mes bouquins sur linux la differrence entre la commande login et ouvrir
> > un shell.
>
> Bon réflexe.
>
> > Si j'ai bien compris loggin c'est quand kdm par exemple me demande le nom
> > d'utilisateur et que je dois fournir le password pour debuter la session.
>
> oui, par exemple.
>
> > et c'est la que *_profile est executé. *profile n'ext il executé que en
> > mode graphique? vrai faux?
>
> Faux. Si tu fais CTRL+ALT+F1 par exemple, tu arrives sur une console en
> mode texte, où le login t'es demandé. Là encore c'est bien le .profile qui
> sera exécuté.
>
> (Fait ALT+F7 pour retrouver ton écran graphique).
>
> > ouvrir un shell cela signifie t il travailler en mode commande ou ouvrir
> > un terminal et dans ce cas c'est le .bashrc qui est executé. Vrai faux?
>
> Approximativement vrai.
>
> Ouvrir un terminal est une chose, ouvrir un shell en est une autre. Le
> shell c'est en quelque sorte la ligne de commandes. Par défaut, en règle
> générale, quand on ouvre un terminal on lance dans ce terminal
> l'application "bash" qui est un shell. Mais tu peux très bien ouvrir un
> terminal qui va lancer une application en mode texte sans lancer de shell.
> C'est possible.
>
> C'est le .bashrc qui est exécuté si le shell que tu ouvres est le bash
> (c'est le shell par défaut sous Linux), mais il y en a d'autres : ksh, csh,
> sh ... dans ces cas sont exécutés les .kshrc etc.
>
> > Visiblement c'est pas tres clair dans mon esprit et la lecture ne m'a pas
> > renseigné car pour moi ce qui etait execute a l'ouverture de la session
> > etait valable pour toute la session que ce soit en graphique ou en mode
> > commande ou autre.
>
> Parce que tu confonds 2 choses :
>
> La session et la ligne de commandes.
>
> La session c'est le login. Quand elle s'ouvre, on exécute /etc/profile puis
> le $HOME/.profile s'il existe.
>
> Quand tu ouvres un shell, en fait ce que tu fais c'est que tu exécutes le
> programme "bash" (ou ksh, csh...). Le programme bash initialise son
> environnement en exécutant /etc/bashrc puis le $HOME/.bashrc s'il existe.
>
> > Merci encore pour ton aide
>
> Ca va mùieux dit comme ça ?
Pour en dire un peu plus :

a) il semble que le PATH original soit défini dans le fichier 
"/usr/share/config/kdm/kdmrc" avec les 2 lignes suivantes :
SystemPath=/usr/bin:/sbin:/usr/sbin:/bin:/usr/local/bin 
UserPath=/usr/bin:/bin:/usr/local/bin
quand on utilise kdm pour ouvrir une session.

b) si on suit la logique d'Hervé alors pourquoi ce contenu dans 
"$HOME/.bashrc" :

# .bashrc
# User specific aliases and functions
# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

qui semblerait indiquer que "/etc/bashrc" soit lancer à partir de 
"$HOME/.bashrc" !

c) enfin, il y a aussi sous "$HOME" un fichier nommé ".bash_profile" qui lui 
semble lancer "$HOME/.bashrc" après avoir réellement modifier le PATH !

Alors l'ordre de lancement à l'ouverture d'un shell bash, c'est quoi :
"$HOME/.bash_profile" --> "$HOME/.bashrc" --> "/etc/bashrc" ?

-- 
Daniel Moyne (Nulix)----------------------------------------------------------
Software : Mandrake 9.0 (Dolphin)  \\|//    kernel "2.4.19-16mdk"
KDE 3.0.5a                        / --- \
                                 (' o-o ')
--------------------------------oOO-(_)-OOo------------------------------------


Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";

Répondre à