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"