139 votes

Exécuter automatiquement un programme au démarrage sous Linux Ubuntu

J'aurais besoin d'un programme à lancer à chaque fois que je démarre mon Ubuntu Linux. Je dois donc l'ajouter à la liste de mes programmes de démarrage. Un seul problème : je dois le faire via le terminal.

23 votes

@Flexo Cette réponse n'est présente dans aucun des deux liens que vous avez fournis. +1 à cette question et réponse

2 votes

En fait, la réponse ici fait référence à la première de ces questions.

182voto

Dave Lasley Points 2600
sudo mv /filename /etc/init.d/
sudo chmod +x /etc/init.d/filename 
sudo update-rc.d filename defaults 

Le script devrait maintenant démarrer au démarrage. Notez que cette méthode fonctionne également avec les liens durs et les liens symboliques ( ln ).

À ce stade du processus de démarrage, le PATH n'est pas encore défini, il est donc essentiel que des chemins absolus soient utilisés tout au long du processus. Mais comme l'a fait remarquer Steve HHH dans les commentaires, déclarer explicitement le chemin complet du fichier ( /etc/init.d/filename ) pour la commande update-rc.d n'est pas valide dans la plupart des versions de Linux. Selon le page de manuel pour update-rc.d le deuxième paramètre est un script situé dans le répertoire /etc/init.d/* .

Comme le soulignent également les commentaires (par Charles Brandt), /filename doit être un style init script. Un bon modèle a également été fourni - Modèle d'init script du système V .

Comme indiqué dans les commentaires (par Russell Yan), cela ne fonctionne qu'en mode par défaut de update-rc.d .

Selon le manuel de update-rc.d, il peut fonctionner sur deux modes : "les machines utilisant le mode legacy auront un fichier /etc/init.d/.legacy-bootordering "Dans ce cas, vous devez transmettre la configuration de la séquence et du niveau d'exécution par le biais d'arguments de ligne de commande.

L'ensemble d'arguments équivalent pour l'exemple ci-dessus est

sudo update-rc.d filename start 20 2 3 4 5 . stop 20 0 1 6 .

1 votes

Juste pour info, l'option "defaults" met un lien pour démarrer le script dans les niveaux d'exécution 2, 3, 4 et 5. (et met un lien pour arrêter en 0, 1 et 6).

0 votes

Merci beaucoup, je vais le vérifier dès que possible ! Savez-vous s'il est possible de faire quelque chose comme ça sur un ordinateur Mac ? Il s'agit d'un système d'exploitation Unix, un peu comme Linux... Savez-vous s'il est possible de faire la même chose sur Mac ? Merci encore !

0 votes

Macs beaucoup plus facilement. Il suffit de placer le script dans la liste des éléments de connexion dans les préférences de vos comptes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X