Sous Slackware (mais ça doit être adaptable facilement sous une autre distribution), je ferais ça d’abord en ajoutant le code suivant dans /etc/rc.d/rc.local :
Le script /etc/rc.d/rc.local est exécuté à la fin de la séquence de démarrage (sous Slackware, il est vide par défaut — il est précisément conçu pour que l’administrateur puisse y rassembler ses bidouillages) ; ici, il exécute le programme demandé et stocke le résultat (sous une forme sourçable par un shell, c’est-à-dire nom=valeur) dans un fichier quelque part dans /var.
Ensuite, dans /etc/profile, ou dans un fichier quelconque dans /etc/profile.d (ces fichiers étant sourcés lors de tout démarrage de session), on vérifie la présence du fichier /var/state/resultats, on le source, et on exporte la variable dans l’environnement :
if[ -f /var/state/resultats ];then
. /var/state/resultats
export mon_resultat
fi
(La variable n’est pas accessible depuis tout le système — en particulier, tous les processus démarrés dans les scripts d’init en ignoreront toujours l’existence —, mais elle sera accessible à tous les programmes démarrés depuis une session utilisateur.)
La présence de systemd (ou d’un autre système d’init non-classique) ne devrait pas changer grand’chose, dès lors qu’on peut insérer un bout de script shell quelque part à une étape du démarrage. Avec systemd, j’imagine qu’il faudra créer une unit uniquement chargée d’exécuter un script dédié.
[^] # Re: Juste une question
Posté par gouttegd . En réponse au journal Systemd va gagner une console système, un bootsplash et un login-screen. Évalué à 3. Dernière modification le 02 décembre 2013 à 15:14.
Sous Slackware (mais ça doit être adaptable facilement sous une autre distribution), je ferais ça d’abord en ajoutant le code suivant dans
/etc/rc.d/rc.local:Le script
/etc/rc.d/rc.localest exécuté à la fin de la séquence de démarrage (sous Slackware, il est vide par défaut — il est précisément conçu pour que l’administrateur puisse y rassembler ses bidouillages) ; ici, il exécute le programme demandé et stocke le résultat (sous une forme sourçable par un shell, c’est-à-direnom=valeur) dans un fichier quelque part dans/var.Ensuite, dans
/etc/profile, ou dans un fichier quelconque dans/etc/profile.d(ces fichiers étant sourcés lors de tout démarrage de session), on vérifie la présence du fichier/var/state/resultats, on le source, et on exporte la variable dans l’environnement :(La variable n’est pas accessible depuis tout le système — en particulier, tous les processus démarrés dans les scripts d’init en ignoreront toujours l’existence —, mais elle sera accessible à tous les programmes démarrés depuis une session utilisateur.)
La présence de systemd (ou d’un autre système d’init non-classique) ne devrait pas changer grand’chose, dès lors qu’on peut insérer un bout de script shell quelque part à une étape du démarrage. Avec systemd, j’imagine qu’il faudra créer une unit uniquement chargée d’exécuter un script dédié.