[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Lancer une unique fois un script au premier démarrage



Bonjour,

La création d’un fichier témoin dans /tmp est peu valable car /tmp est emmené à se vider au boot.

Je ne comprend pas bien le but recherché. Si c’est au niveau de la première connexion d’un utilisateur tout est à faire dans les scripts lancés à sa connexion. Si c’est une tâche globale du serveur à lancer au boot c’est alors un service global qui peut gérer ça.

Globalement, quelque soit le contexte le plus simple est de lancer par défaut une tâche dont la référence s’effacera après l’exécution.

Si c’est global pour le serveur le plus simple est de créer un service « 1erboot » qui se lancera quand il faut et dont le script se terminera par une désaffectation du service :
systemctll disable 1erboot
Et, pourquoi pas, l’effacement du service

Si c’est dans le cas d’une configuration de l’utilisateur le même mécanisme peut être utilisé dans le « ~/.config ».

A+

Le 6 oct. 2025 à 19:56, Étienne Mollier <emollier@debian.org> a écrit :

Bonsoir Pierre,

Quelle solution ferait cela une seule fois à la première
ouverture de XFCE ?

Pour poursuivre sur la question d'un script qui ne s'exécute
qu'une seule fois après un redémarrage, une autre variante
pourrait être d'écrire un fichier dans /tmp à l'exécution du
script et de ne pas poursuivre l'exécution si ce fichier existe.
Comme le /tmp est censé être vidé par le système au démarrage de
la machine (s'il ne s'agit pas déjà d'un tmpfs), le script est
garanti de n'être exécuté qu'une fois au plus après le démarrage
de la machine, aussi longtemps que le fichier est présent.  Pour
le développement et le débugage, il suffit d'effacer le fichier
témoin dans /tmp pour remettre le déclencheur à zéro.  Un petit
morceau de script naïf implémentant cette idée ressemblerait à :

#! /bin/sh
if [ -e /tmp/le_script_tourna ]
then exit 0
fi
le_script_en_lui_meme_tourne
touch /tmp/le_script_tourna

Bonne soirée,  :)
--
 .''`.  Étienne Mollier <emollier@debian.org>
: :' :  pgp: 8f91 b227 c7d6 f2b1 948c  8236 793c f67e 8f0d 11da
`. `'   sent from /dev/pts/1, please excuse my verbosity
  `-

-- 
Pierre Malard

Clé OpenGPG : https://keys.openpgp.org

   « Le socialisme vrai ne veut pas renverser l'ordre des classes ;
   il veut fondre les classes dans une organisation du travail qui
   sera meilleure pour tous »
                            Jean Jaures - "Les misères du patronat" - 1890
        _,'|             _.-''``-...___..--';)
       /_ \'.      __..-' ,      ,--...--'''
      <\    .`--'''       `     /'
       `-';'               ;   ; ;
 __...--''     ___...--_..'  .;.'
(,__....----'''       (,..--''        πr

perl -e '$_=q#: 3|\ 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-.  ;-;;,_:  |,A-  ) )-,_. ,\ (  `'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"'  `-'"'"'\_): 24πr::#;y#:#\n#;s#(\D)(\d+)#$1x$2#ge;print'






Reply to: