[Linux-bruxelles] re:[Linux-bruxelles] comment faire un ln sous e_d'un_script_ situé dans usr/local/bin?

Ludovic Brenta ludovic.brenta at insalien.org
Jeu 19 Juin 19:20:27 CEST 2003


Osvaldo La Rosa <info at brlspeak.net> writes:

> Donc je veux juste savoir:
> - si on peut faire des scripts qu'on met dans usr/local+bin et qui
> soient utilisables pour tous et pas que sous console
> - et donc si oui, alors comment on les rend utilisables sous kde; point


Oui, Unix et GNU/Linux sont conçus pour cela.  Il y a 4 conditions à
remplir:

- La première ligne du script doit être une ligne "shebang" comme:
  #!/bin/sh  ou bien #!/bin/perl ou autre interpréteur.

- Le fichier du script doit être lisible et exécutable (chmod a+rx)

- Le fichier ne doit pas contenir de CR-LF à la MS-DOS

- Le script doit être dans le $PATH.  Ici ça devient compliqué, parce
  que le $PATH est différent pour chaque processus.  Il est très
  possible que le $PATH de KDE soit différent du $PATH du shell dans
  un xterm.

En effet, bash lit les fichiers /etc/profile, ~/.bash_profile,
~/.bash_login et ~/.profile, dans cet ordre; chacun de ces fichiers
peut mettre /usr/local/bin dans le $PATH.

Mais le $PATH de KDE dépend de la méthode de connection (login).

Si tu te connectes en mode texte, c'est /bin/login qui configure le
$PATH à "/usr/local/bin:/bin:/usr/bin:.", puis il lance le shell, qui
change le $PATH en lisant /etc/profile, ~/.bash_profile, ~/.bash_login
et ~/.profile; ensuite tu tapes "startx", qui peut encore changer le
$PATH.

Si tu te connectes en mode graphique (xdm, kdm ou gdm), le
gestionnaire d'écran lance le script /etc/X11/xdm/Xsession, qui
contient le $PATH par défaut pour tous les utilisateurs.  Ensuite, ce
qui se passe dépend de la distribution.  Par exemple, dans Red Hat
Linux 7.2, Xsession exécute les fichiers suivants, qui peuvent tous
changer le $PATH de KDE:

/etc/X11/xinit/xinitrc.d/*

puis le premier des scripts suivants:

/usr/share/apps/switchdesk/Xclients.kde
$HOME/.xsession
$HOME/.Xclients
/etc/X11/xinit/Xclients

Donc, le $PATH de KDE dépend de ta distribution et de tous ces
fichiers.

Chez moi (sur Debian), j'ai simplifié tout cela.  J'utilise xdm, sans
sélection possible de l'environnement, et Xsession exécute simplement
$HOME/.xsession.  .xsession met ce qu'il faut dans mon $PATH et lance
selectwm.

-- 
Ludovic Brenta.





Plus d'informations sur la liste de diffusion Linux-bruxelles