Ubuntu - Comment exécuter une commande de terminal au démarrage?

12

Je veux exécuter une commande au démarrage d'Ubuntu. Les commandes en particulier sont:

sudo shutdown +m
sudo shutdown +1

Je souhaite que l'ordinateur s'éteigne dès qu'il démarre à des fins de test. Je prévois de rallumer l'ordinateur avec un peu de circuits que je teste.

Comment puis-je exécuter cette commande automatiquement au démarrage du système?

brindille
la source
9
"arrêt automatique au démarrage" sonne mal. :)
Ankit

Réponses:

15

Placez-le /etc/rc.local. (Il est exécuté en tant que root, il sudon'y est donc pas nécessaire.)

En outre, vous pouvez être intéressé à lire des informations supplémentaires sur les niveaux d'exécution: http://en.wikipedia.org/wiki/Runlevel

Eugene Demidov
la source
Vous pouvez également aller dans Système / Préférences / Applications de démarrage et y ajouter le script.
SaintWacko
Ne fonctionne pas pour moi sur Ubuntu Server 18.04 - Je veux échanger en tant quesudo swapon /swapfile
Nam G VU
Utilisez crontab avec la syntaxe @reboot qui fonctionne pour moi ref. superuser.com/a/586078/34893
Nam G VU
6

Il existe différentes façons d'exécuter automatiquement des commandes:

  1. Le système parvenu exécutera tous les scripts sous forme dont il trouvera une configuration dans le répertoire /etc/init. Ces scripts s'exécuteront au démarrage du système (ou en réponse à certains événements, par exemple une demande d'arrêt) et sont donc l'endroit idéal pour exécuter des commandes qui n'interagissent pas avec l'utilisateur; tous les serveurs sont démarrés à l'aide de ce mécanisme. Vous pouvez trouver une introduction lisible sur: http://upstart.ubuntu.com/getting-started.html les pages de manuel man 5 initet man 8 initvous donner tous les détails.

  2. Un script shell nommé .gnomercdans votre répertoire personnel est automatiquement généré chaque fois que vous vous connectez à une session GNOME. Vous pouvez y mettre des commandes arbitraires; les variables d'environnement que vous définissez dans ce script seront visibles par tous les programmes que vous exécutez dans votre session. Notez que la session ne démarre pas tant que le .gnomercscript n'est pas terminé; par conséquent, si vous souhaitez démarrer automatiquement un programme de longue durée, vous devez l'ajouter &à l'appel du programme, afin de le détacher du shell en cours d'exécution.

  3. L'option de menu Système -> Préférences -> Applications de démarrage vous permet de définir quelles applications doivent être lancées au démarrage de votre session graphique (Ubuntu en prédéfinit un certain nombre), et de les ajouter ou de les supprimer à votre goût. Cela a presque le même objectif et la même portée que le .gnomercscript, sauf que vous n'avez pas besoin de connaître la shsyntaxe (mais vous ne pouvez pas non plus utiliser de shconstruction de programmation).

Ankit
la source
1

Pour les choses simples, vous pouvez ajouter une commande dans Système-> Préférences-> Sessions pointant vers l'emplacement de votre script.

Alternativement, vous pouvez l'ajouter /etc/init.d/rc.localou faire un travail parvenu s'il s'agit de choses de bas niveau .

Jetez un œil à https://help.ubuntu.com/community/UbuntuBootupHowto pour plus d'informations

Ankit
la source