J'avais un script qui active automatiquement mon wifi sans utiliser networkmanager, mais je ne sais pas comment exécuter le script en tant que root pendant que le système démarre. Comment faire pour que le script s'exécute automatiquement pendant le démarrage ?
Réponses
Trop de publicités?Placez le script que vous voulez exécuter dans le répertoire /etc/init.d et rendez le script exécutable.
chmod 755 myscript
Une fois que c'est fait, créez un lien symbolique dans le répertoire du niveau d'exécution que vous souhaitez utiliser, par exemple si vous voulez exécuter un programme dans le niveau d'exécution graphique 2, le niveau d'exécution par défaut d'Ubuntu, vous le placerez dans le répertoire /etc/rc2.d
répertoire. Vous ne pouvez pas seulement le placer dans le répertoire, vous devez signifier quand il sera exécuté en indiquant le démarrage avec un "S" et l'ordre d'exécution est important. Placez-le après tout ce qui se trouve dans le répertoire en lui donnant un numéro plus élevé.
Si le dernier script à être exécuté est rc.local
et il est nommé S99rc.local
alors vous devez ajouter votre script en tant que S99myscript
.
ln -s /etc/init.d/myscript /etc/rc3.d/S99myscript
Chacun est rétrocompatible /etc/rc*.d
a des liens symboliques vers le répertoire /etc/init.d/
répertoire.
Utilisez un crontab
pour que votre script soit exécuté après le redémarrage,
vous pouvez le faire en ajoutant @reboot
code dans cron
Ouvrir la crontab par l'utilisateur root :
$ sudo crontab -e
Ajoutez l'enregistrement suivant en bas :
@reboot yourScriptPath
Cela fera ce que vous voulez.
Cela a fonctionné pour moi sur Ubuntu 17.04 :
-
créer un fichier script tel que
disable_cdrom
en pratique pour vous le lieu. Dans mon cashome/yterle/disable_cdrom
. Dans mon cas :#!/bin/sh eject /dev/sr0 -i 1
-
le rendre exécutable
chmod 775 disable_cdrom
-
naviguer vers
/etc/systemd/system
et y créer unservice
fichier. Par exemplesudo gedit /etc/systemd/system/disable_cdrom.service
Mon disable_cdrom.service
ressemble à ça :
[Unit]
Description=Disable cdrom
[Service]
Type=oneshot
ExecStart=/bin/sh /home/yterle/disable_cdrom
[Install]
WantedBy=multi-user.target
Donde ExecStart
points pour exécuter votre script avec /bin/sh
Ensuite, exécutez systemctl enable disable_cdrom.service
pour activer le service systemd
- Réponses précédentes
- Plus de réponses