Existe-t-il un moyen d'ajouter une application / un script au démarrage de Linux pour que chaque fois que le système démarre, il sera exécuté?
Je recherche un moyen automatisé, c'est-à-dire que l'utilisateur ne devrait pas ajouter ceci par cron job ou quelque chose comme ça.
Réponses:
Quelque chose comme Cron ?
Notez l'
@reboot
entréeC'est l'approche la plus flexible, et celle qui ressemble le plus aux «tâches planifiées» de Windows (mieux en fait).
la source
/etc/cron.d
ou d'appeler crontab depuis votre programme à leur insu.Démarrage automatique de Xorg
Mis à part les scripts de démarrage au niveau du système, votre environnement de bureau peut avoir sa propre façon d'exécuter des programmes automatiquement. Le dossier
.config/autostart
est censé être un moyen indépendant du bureau de définir les entrées d'exécution automatique./etc/xdg/autostart
est pour la configuration à l'échelle du système. Détails sur la spécification sur http://developer.gnome.org/autostart-spec/ .Pour LXDE, les entrées de démarrage automatique peuvent également être définies dans
~/.config/lxsession/LXDE/autostart
.C'est un peu différent si vous devez exécuter vos scripts une fois le réseau opérationnel. Dans ce cas, vous devez vérifier les scripts spéciaux post-connexion qui peuvent être définis pour votre gestionnaire de réseau. Les deux NetworkManager et Wicd ont leurs propres façons de spécifier les entrées autorun post-connexion. Si le réseau est configuré via
ifupdown
, les scripts de post-up peuvent être placés dans le/etc/network/if-up.d/
dossier. Mais une meilleure approche pour exécuter des scripts post-connexion pourrait être systemd (pour les systèmes qui le prennent en charge, ce qui est la majorité des distributions modernes).Démarrage automatique en tant que service systemd
Si la chose que vous souhaitez démarrer automatiquement n'est pas une application graphique qui nécessite un bureau, il est préférable d'éviter d'utiliser les fonctionnalités de démarrage automatique fournies par xorg ou par votre environnement de bureau actuel.
systemd
est devenu omniprésent dans de nombreuses distributions modernes, et il offre beaucoup de contrôle et de flexibilité en termes de démarrage et de fonctionnement de vos services.Je vais résumer certains avantages ( systemd peut faire beaucoup plus ):
User=myuser
Restart=on-failure|on-watchdog|on-abnormal|always
Type=simple|forking|oneshot|notify|dbus
Wants=network-online.target
dans la[Unit]
section).Un exemple de service qui démarre un démon telegram-cli. Placez-le
/etc/systemd/system/tg.service
.Vous pouvez maintenant activer le démarrage automatique du service:
Démarrez le service:
Arrêtez le service:
Vérifiez l'état:
Désactivez le service:
Pour vous éviter de taper davantage, vous pouvez ajouter votre
~/.bashrc
lignealias sc='sudo systemctl $*'
puis vous pourrez raccourcir les commandes ci-dessus, par exemplesc start tg
.Plus d'informations:
la source
Oui, il est possible d'exécuter des programmes au démarrage sur Linux en définissant les chemins d'accès aux exécutables
rc.local
qui résident dans le répertoire/etc
ou/etc/rc.d
, par exemple:Remarque: n'oubliez pas d'attribuer des droits exécutables comme décrit dans la documentation du fichier, ie
Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure that this script will be executed during boot.
la source
cron
planificateur est votre ami.Startup applications
aide du bouton d'accueilAdd
Startup command box
entrez la commandeOK
(vous devriez voir votre nouvelle commande dans la liste)Close
Testez en redémarrant ou en vous déconnectant puis en vous reconnectant.
Source: https://help.ubuntu.com/community/AddingProgramToSessionStartup
la source
Chaque distribution utilise chaque technique de bootstrap, il faut donc regarder les documents pour votre distribution. /etc/rc.local est un endroit où vous pouvez mettre des scripts automatisés, mais il est vraiment obsolète. Maintenant, la plupart des systèmes basés sur Linux utilisent des niveaux d'exécution ou l'amorçage de systemd, de sorte que la plupart des travaux démarrés automatiquement pourraient être contrôlés avec précision.
la source
J'ai trouvé ma réponse ici: /programming/7221757/run-automatically-program-on-startup-under-linux-ubuntu J'ai pu créer un fichier / script pour éteindre mon trackpad pendant que je ma session Linux Ubuntu 12.10.
la source