[script]De quel fichier l'appeler ??(résolu)
- widapit
- Maître du Kyudo
- Messages : 1148
- Inscription : mar. 30 mars 2010, 22:53
- Localisation : Toulouse
[script]De quel fichier l'appeler ??(résolu)
Salut,
j'ai envie de lancer juste quelques commandes (donc un petit script) mais à un certain moment...
je souhaiterais qu'il se lance dès que les login/password sont reconnus valides. j'ai commencé à chercher dans quelques fichiers (en les "déchiffrant" comme je pouvais, avec mon petit niveau !) style un peu tout ceux qui finissent par des '.rc' les 'profile' 'login' dans '/etc' mais je trouve pas..... (évidemment !!) .
quelqu'un sait ca et peut m'aider ??
-merci-
j'ai envie de lancer juste quelques commandes (donc un petit script) mais à un certain moment...
je souhaiterais qu'il se lance dès que les login/password sont reconnus valides. j'ai commencé à chercher dans quelques fichiers (en les "déchiffrant" comme je pouvais, avec mon petit niveau !) style un peu tout ceux qui finissent par des '.rc' les 'profile' 'login' dans '/etc' mais je trouve pas..... (évidemment !!) .
quelqu'un sait ca et peut m'aider ??
-merci-
Dernière modification par widapit le mar. 10 mai 2011, 19:41, modifié 3 fois.
routeur(OpenWRT); serveurs(Debian, Arch); cléUSB(Black-Arch);
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
- karhu
- Maître du Kyudo
- Messages : 1215
- Inscription : lun. 27 sept. 2010, 14:32
- Localisation : Ile de France
Re: [script]De quel fichier l'appeler ??(en cours)
Bonjour
Tu peux utiliser /etc/profile pour le mettre, ou alors dans le fichier de configuration de ton shell (genre ~.bashrc).
Karhu.
Tu peux utiliser /etc/profile pour le mettre, ou alors dans le fichier de configuration de ton shell (genre ~.bashrc).
Karhu.
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
- FoolEcho
- Maître du Kyudo
- Messages : 10711
- Inscription : dim. 15 août 2010, 11:48
- Localisation : Basse-Normandie
Re: [script]De quel fichier l'appeler ??(en cours)
Cela dépend si tu souhaites que seul ton utilisateur en profite ou si tu veux que tout le monde en profite.
~/.bash_profile si c'est par l'utilisateur (mieux que .bashrc, sinon ton script va être exécuté à chaque ouverture de console ou nouvel onglet... je te laisse imaginer l'effet d'un "xterm &" ou n'importe quel autre console...
)
Maintenant, pour des trucs un peu tordu (genre si le script doit notifier avant que le gestionnaire de fenêtres soit en place... on en parlait sur un autre sujet), ça peut ne pas fonctionner... mais il y a au moins une possibilité de plus (cf. http://forums.archlinux.fr/post67977.html#p67977 )
Pour un utilisateur particulier en session graphique, on peut aussi passer par des scripts stockés dans un endroit particulier ( des répertoires du style ~/.kde4/Autostart/ pour KDE, ~/.config/autostart/ pour gnome , etc. ... à vérifier selon les variables d'environnements ... kde a une interface graphique pour se faire... je suppose que gnome et les autres aussi)
EDIT: Aussi, si le gestionnaire de connexion est un peu personnalisé (slim ou autre), il faut faire attention de bien lancer le bash avec l'option -l, sinon /etc/profile n'est pas lu. Un petit topo qui t'aidera à comprendre comment tout ça s'orchestre: http://www.math-info.univ-paris5.fr/cdc/shell.html
/etc/profile si tu veux que tous les utilisateurs en profitent.karhu a écrit :Tu peux utiliser /etc/profile pour le mettre, ou alors dans le fichier de configuration de ton shell (genre ~.bashrc).
~/.bash_profile si c'est par l'utilisateur (mieux que .bashrc, sinon ton script va être exécuté à chaque ouverture de console ou nouvel onglet... je te laisse imaginer l'effet d'un "xterm &" ou n'importe quel autre console...

Maintenant, pour des trucs un peu tordu (genre si le script doit notifier avant que le gestionnaire de fenêtres soit en place... on en parlait sur un autre sujet), ça peut ne pas fonctionner... mais il y a au moins une possibilité de plus (cf. http://forums.archlinux.fr/post67977.html#p67977 )

Pour un utilisateur particulier en session graphique, on peut aussi passer par des scripts stockés dans un endroit particulier ( des répertoires du style ~/.kde4/Autostart/ pour KDE, ~/.config/autostart/ pour gnome , etc. ... à vérifier selon les variables d'environnements ... kde a une interface graphique pour se faire... je suppose que gnome et les autres aussi)
EDIT: Aussi, si le gestionnaire de connexion est un peu personnalisé (slim ou autre), il faut faire attention de bien lancer le bash avec l'option -l, sinon /etc/profile n'est pas lu. Un petit topo qui t'aidera à comprendre comment tout ça s'orchestre: http://www.math-info.univ-paris5.fr/cdc/shell.html
«The following statement is not true. The previous statement is true.» 

- widapit
- Maître du Kyudo
- Messages : 1148
- Inscription : mar. 30 mars 2010, 22:53
- Localisation : Toulouse
Re: [script]De quel fichier l'appeler ??(en cours)
merci beaucoup !!
et oui, il faut que ce soit spécifique à l'utilisateur (login en tty) c'est pour ça que je veux pas les lancer avec '/etc/rc.local' ...
c'est pour lancer des conf réseaux et un ou deux trucs particuliers à chacun .
merci encore... maintenant, je sais par où commencer !!
à la prochaine !
et oui, il faut que ce soit spécifique à l'utilisateur (login en tty) c'est pour ça que je veux pas les lancer avec '/etc/rc.local' ...
c'est pour lancer des conf réseaux et un ou deux trucs particuliers à chacun .
merci encore... maintenant, je sais par où commencer !!
à la prochaine !
Dernière modification par widapit le mar. 10 mai 2011, 08:46, modifié 1 fois.
routeur(OpenWRT); serveurs(Debian, Arch); cléUSB(Black-Arch);
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
- karhu
- Maître du Kyudo
- Messages : 1215
- Inscription : lun. 27 sept. 2010, 14:32
- Localisation : Ile de France
Re: [script]De quel fichier l'appeler ??(en cours)
D'accord, mais on peut tester $USERNAME, je fais ça pour monter les partitions propres à chacun.foolecho a écrit : /etc/profile si tu veux que tous les utilisateurs en profitent.
D'accord aussi, mais comme le mien ne lance que ~.bashrc, je n'ai pas fait la différence.foolecho a écrit : ~/.bash_profile si c'est par l'utilisateur

Lancer le script avec les "autostart" du gestionnaire semble être la meilleur place. L'utilisateur est loggé et authentifié, et normalement on ne lance le gestionnaire de fenêtres qu'une fois.
Karhu.
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
- widapit
- Maître du Kyudo
- Messages : 1148
- Inscription : mar. 30 mars 2010, 22:53
- Localisation : Toulouse
Re: [script]De quel fichier l'appeler ??(en cours)
ben, d'après ce que j'ai pu lire dans les liens qu'a donné FoolEcho, apparament, ce qui correspond le mieux, ca serait de faire un fichier .sh et le placer dans '/etc/profile.d' . Ou je me plante complet ??
routeur(OpenWRT); serveurs(Debian, Arch); cléUSB(Black-Arch);
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
- FoolEcho
- Maître du Kyudo
- Messages : 10711
- Inscription : dim. 15 août 2010, 11:48
- Localisation : Basse-Normandie
Re: [script]De quel fichier l'appeler ??(en cours)
Tu as tout compris, c'est le plus propre (ne pas oublier de rendre le script exécutable). 
Dans la majorité des cas on ne voit pas la différence... sauf en cas d'exécution d'un script gourmand (pernicieux car moins visible) ou carrément qui exécute un shell (l'avantage est que c'est... spectaculaire) et tu le sens passer.


Tu ne seras pas le dernier à te faire avoir.karhu a écrit :D'accord aussi, mais comme le mien ne lance que ~.bashrc, je n'ai pas fait la différence.![]()

C'est commode quand on ne veut pas s'embêter davantage sur le shell et qu'on veut certaines choses au démarrage (l'avantage... ou l'inconvénient étant que ça reste propre à un environnement donné).karhu a écrit :Lancer le script avec les "autostart" du gestionnaire semble être la meilleur place.

Dernière modification par FoolEcho le mar. 10 mai 2011, 10:20, modifié 1 fois.
«The following statement is not true. The previous statement is true.» 

- widapit
- Maître du Kyudo
- Messages : 1148
- Inscription : mar. 30 mars 2010, 22:53
- Localisation : Toulouse
Re: [script]De quel fichier l'appeler ??(en cours)
OK, et merci beaucoup !
plus qu'a écrire maintenant
...
et rendre éxecutable
plus qu'a écrire maintenant

et rendre éxecutable

routeur(OpenWRT); serveurs(Debian, Arch); cléUSB(Black-Arch);
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
- FoolEcho
- Maître du Kyudo
- Messages : 10711
- Inscription : dim. 15 août 2010, 11:48
- Localisation : Basse-Normandie
Re: [script]De quel fichier l'appeler ??(résolu)
Donc peut-être attendre avant de passer le sujet en résolu ? 

«The following statement is not true. The previous statement is true.» 

- widapit
- Maître du Kyudo
- Messages : 1148
- Inscription : mar. 30 mars 2010, 22:53
- Localisation : Toulouse
Re: [script]De quel fichier l'appeler ??(résolu)
je sais pas .... je me suis peut-être emballé .... je me disais que ca y est, mais effectivement, je vais faire quelques tests ce soir et voir si ca se passe comme prévu avant !!! 

routeur(OpenWRT); serveurs(Debian, Arch); cléUSB(Black-Arch);
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
- FoolEcho
- Maître du Kyudo
- Messages : 10711
- Inscription : dim. 15 août 2010, 11:48
- Localisation : Basse-Normandie
Re: [script]De quel fichier l'appeler ??(en cours)
Sur le principe, oui... reste la pratique (je dis ça dans ton intérêt... mais normalement c'est juste une histoire de script maintenant).widapit a écrit :je me disais que ca y est

«The following statement is not true. The previous statement is true.» 

- widapit
- Maître du Kyudo
- Messages : 1148
- Inscription : mar. 30 mars 2010, 22:53
- Localisation : Toulouse
Re: [script]De quel fichier l'appeler ??(en cours)
OK, c'est nickel;
c'est bien '/etc/profile.d/mon_fichier.sh qu'il fallait !!!
!!!
ça démarre juste après que mon vieil ordi commence à faire moins de bruit après identification !!
Merci

c'est bien '/etc/profile.d/mon_fichier.sh qu'il fallait !!!

ça démarre juste après que mon vieil ordi commence à faire moins de bruit après identification !!
Merci


routeur(OpenWRT); serveurs(Debian, Arch); cléUSB(Black-Arch);
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
- karhu
- Maître du Kyudo
- Messages : 1215
- Inscription : lun. 27 sept. 2010, 14:32
- Localisation : Ile de France
Re: [script]De quel fichier l'appeler ??(résolu)
Foolecho, il me semble que les scripts situés dans /etc/profile.d sont lancés par /etc/profile, et que à ce moment là le login et le mot de passe ne sont pas encore connus. Nous sommes toujours dans le lancement du système qui doit déboucher sur une console TTY (init 3) ou un display manager (init 5).
Si c'est bien le cas la demande initiale de widapit demandait que login/password le soit. C'est la raison qui me pousse à préférer les "autostart" du gestionnaire de fenêtres.
Ai je juste ? (par contre je viens de corriger mes fichiers .bash-profile et .bashrc).
Karhu.
Si c'est bien le cas la demande initiale de widapit demandait que login/password le soit. C'est la raison qui me pousse à préférer les "autostart" du gestionnaire de fenêtres.
Ai je juste ? (par contre je viens de corriger mes fichiers .bash-profile et .bashrc).

Karhu.
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Re: [script]De quel fichier l'appeler ??(résolu)
/etc/profile est lu par un shell lorsqu'il est lancé en tant que "login shell", donc après qu'un utilisateur s'identifie.
- karhu
- Maître du Kyudo
- Messages : 1215
- Inscription : lun. 27 sept. 2010, 14:32
- Localisation : Ile de France
Re: [script]De quel fichier l'appeler ??(résolu)
Merci tuxce, comme tu as pu le lire je le pensais comme partie intégrante du démarrage système.
La mise à jour mémoire est faite.
Karhu.
La mise à jour mémoire est faite.
Karhu.
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
- FoolEcho
- Maître du Kyudo
- Messages : 10711
- Inscription : dim. 15 août 2010, 11:48
- Localisation : Basse-Normandie
Re: [script]De quel fichier l'appeler ??(résolu)
Nan (enfin je veux dire oui avec tuxce qui m'a grillé pendant que je rédigeais ce pavé
... et karhu a eu le temps de répondre
), login et mot de passe sont renseignés au moment de la connexion, c'est une fois que l'authentification est correcte (par un autre mécanisme en amont, donc), que sont examinés /etc/profile (qui effectivement s'occupe de faire le tour de /etc/profile.d/ ), /etc/bash.bashrc et les réglages de l'utilisateur ~/.bash_profile (qui doit normalement charger aussi ~/.bashrc).
.bash_profile (coquille je suppose
)
Tu peux vérifier ce que je t'ai dit, à savoir que .bash_profile n'est lu qu'une fois à la connexion de façon soft: tu y exportes une nouvelle variable et tu ouvres un nouveau shell dans ta même session graphique (ce n'est donc pas un shell de connexion, donc tout ce qui est "profile" est déjà connu et ta nouvelle variable n'est pas connue... par contre, même opération dans le .bashrc et là elle apparaît).
EDIT: non seulement, je suis lent... mais en plus je ne me relis pas...


Tu fais bien... le réflexe de beaucoup est de charger le .bashrc, mais chacun a son rôle...karhu a écrit :(par contre je viens de corriger mes fichiers .bash-profile et .bashrc).![]()

.bash_profile (coquille je suppose

Tu peux vérifier ce que je t'ai dit, à savoir que .bash_profile n'est lu qu'une fois à la connexion de façon soft: tu y exportes une nouvelle variable et tu ouvres un nouveau shell dans ta même session graphique (ce n'est donc pas un shell de connexion, donc tout ce qui est "profile" est déjà connu et ta nouvelle variable n'est pas connue... par contre, même opération dans le .bashrc et là elle apparaît).
EDIT: non seulement, je suis lent... mais en plus je ne me relis pas...

«The following statement is not true. The previous statement is true.» 

- widapit
- Maître du Kyudo
- Messages : 1148
- Inscription : mar. 30 mars 2010, 22:53
- Localisation : Toulouse
Re: [script]De quel fichier l'appeler ??(résolu)
Salut..... un petit up
...juste pour rajouter que sur le wiki, il est bien indiqué (en tout cas pour rajouter startx) de faire la modif au niveau du '~/.bash_profile' comme ici
...du coup, j'ai essayé de déplacer mon script et de l'appeler de '~/.bash_profile'; ça marche aussi, je n'ai constaté aucune différence : dans un cas comme dans l'autre, mon script se lance après authentification de mon user...
Voilà, c'est tou !!!!
...juste pour rajouter que sur le wiki, il est bien indiqué (en tout cas pour rajouter startx) de faire la modif au niveau du '~/.bash_profile' comme ici
...du coup, j'ai essayé de déplacer mon script et de l'appeler de '~/.bash_profile'; ça marche aussi, je n'ai constaté aucune différence : dans un cas comme dans l'autre, mon script se lance après authentification de mon user...
Voilà, c'est tou !!!!

routeur(OpenWRT); serveurs(Debian, Arch); cléUSB(Black-Arch);
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
- FoolEcho
- Maître du Kyudo
- Messages : 10711
- Inscription : dim. 15 août 2010, 11:48
- Localisation : Basse-Normandie
Re: [script]De quel fichier l'appeler ??(résolu)
La différence est que la modification n'est valable que pour l'utilisateur en question dans ~/.bash_profile... alors que dans /etc/profile.d/ l'ensemble des utilisateurs est concerné (encore une fois, tout dépend du but du script).widapit a écrit :...du coup, j'ai essayé de déplacer mon script et de l'appeler de '~/.bash_profile'; ça marche aussi, je n'ai constaté aucune différence : dans un cas comme dans l'autre, mon script se lance après authentification de mon user...

«The following statement is not true. The previous statement is true.» 
