[script]De quel fichier l'appeler ??(résolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
Répondre
Avatar de l’utilisateur
widapit
Maître du Kyudo
Messages : 1148
Inscription : mar. 30 mars 2010, 22:53
Localisation : Toulouse

[script]De quel fichier l'appeler ??(résolu)

Message par widapit »

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-
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 !
Avatar de l’utilisateur
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)

Message par karhu »

Bonjour

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.
Avatar de l’utilisateur
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)

Message par FoolEcho »

Cela dépend si tu souhaites que seul ton utilisateur en profite ou si tu veux que tout le monde en profite.
karhu a écrit :Tu peux utiliser /etc/profile pour le mettre, ou alors dans le fichier de configuration de ton shell (genre ~.bashrc).
/etc/profile si tu veux que tous les utilisateurs en profitent.
~/.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... :mrgreen: )
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.» :nage:
Avatar de l’utilisateur
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)

Message par widapit »

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 !
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 !
Avatar de l’utilisateur
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)

Message par karhu »

foolecho a écrit : /etc/profile si tu veux que tous les utilisateurs en profitent.
D'accord, mais on peut tester $USERNAME, je fais ça pour monter les partitions propres à chacun.
foolecho a écrit : ~/.bash_profile si c'est par l'utilisateur
D'accord aussi, mais comme le mien ne lance que ~.bashrc, je n'ai pas fait la différence. :oops:
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.
Avatar de l’utilisateur
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)

Message par widapit »

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 !
Avatar de l’utilisateur
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)

Message par FoolEcho »

Tu as tout compris, c'est le plus propre (ne pas oublier de rendre le script exécutable). :D
karhu a écrit :D'accord aussi, mais comme le mien ne lance que ~.bashrc, je n'ai pas fait la différence. :oops:
Tu ne seras pas le dernier à te faire avoir. ;) 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.
karhu a écrit :Lancer le script avec les "autostart" du gestionnaire semble être la meilleur place.
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é). :chinois:
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.» :nage:
Avatar de l’utilisateur
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)

Message par widapit »

OK, et merci beaucoup !

plus qu'a écrire maintenant :lol: ...
et rendre éxecutable :copain:
routeur(OpenWRT); serveurs(Debian, Arch); cléUSB(Black-Arch);
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
Avatar de l’utilisateur
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)

Message par FoolEcho »

Donc peut-être attendre avant de passer le sujet en résolu ? :mrgreen:
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
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)

Message par widapit »

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 !!! :oops:
routeur(OpenWRT); serveurs(Debian, Arch); cléUSB(Black-Arch);
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
Avatar de l’utilisateur
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)

Message par FoolEcho »

widapit a écrit :je me disais que ca y est
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). :D
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
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)

Message par widapit »

OK, c'est nickel;
c'est bien '/etc/profile.d/mon_fichier.sh qu'il fallait !!! :bravo: !!!
ça démarre juste après que mon vieil ordi commence à faire moins de bruit après identification !!
Merci
:resolu: :mrgreen:
routeur(OpenWRT); serveurs(Debian, Arch); cléUSB(Black-Arch);
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
Avatar de l’utilisateur
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)

Message par karhu »

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). :wink:

Karhu.
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [script]De quel fichier l'appeler ??(résolu)

Message par tuxce »

/etc/profile est lu par un shell lorsqu'il est lancé en tant que "login shell", donc après qu'un utilisateur s'identifie.
Avatar de l’utilisateur
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)

Message par karhu »

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.
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Avatar de l’utilisateur
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)

Message par FoolEcho »

Nan (enfin je veux dire oui avec tuxce qui m'a grillé pendant que je rédigeais ce pavé :copain: ... et karhu a eu le temps de répondre :mrgreen: ), 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).
karhu a écrit :(par contre je viens de corriger mes fichiers .bash-profile et .bashrc). :wink:
Tu fais bien... le réflexe de beaucoup est de charger le .bashrc, mais chacun a son rôle... :chinois:
.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... :oops:
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
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)

Message par widapit »

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 !!!! :mrgreen:
routeur(OpenWRT); serveurs(Debian, Arch); cléUSB(Black-Arch);
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
Avatar de l’utilisateur
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)

Message par FoolEcho »

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...
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). :chinois:
«The following statement is not true. The previous statement is true.» :nage:
Répondre