Après la mise à niveau vers 16.04 LTS, rc.local n'exécute pas de commande

21

Sur la version installée précédente kubuntu 15.xx, j'ai ajouté une ligne dans /etc/rc.local- /home/diet/scripts/my-auto-mount-scriptqui faisait évidemment référence à un script qui, s'il était sur le réseau domestique, devait être monté.

Cela a fonctionné parfaitement sur kubuntu 15.xx

Après la mise à niveau, il semble /etc/rc.localêtre ignoré au démarrage car l'exécution de la commande /etc/rc.localsemble toujours faire l'affaire. La raison pour laquelle je pense que rc.local est ignoré est que le script auquel il se réfère devrait produire des journaux sur la réussite du script mais également sur l'échec du script, mais il n'y a pas de journaux.

Quelqu'un peut-il me donner quelques conseils sur la façon de résoudre ce problème?

PS: oui je sais que mettre des trucs /etc/fstabdedans c'est aussi une façon de monter les disques, mais quand je ne suis pas chez moi je déteste que je puisse voir les disques sur les dauphins et avoir ces petites croix rouges dessus car ils ne sont pas là . De cette façon, quand je suis sur la route (c'est un ordinateur portable), les gens ne peuvent pas voir ce que j'ai à la maison.

Diet Bos
la source

Réponses:

24

Ubuntu utilise maintenant systemd, et rc.local est maintenant considéré comme un service qui est désactivé par défaut. Vous pouvez activer rc.local "on" en entrant la commande suivante et en redémarrant:

sudo systemctl enable rc-local.service
sshades
la source
Merci beaucoup d'avoir pris le temps de me fournir une solution! j'ai également trouvé une solution qui ajoute le script à ./.config/autostart-scripts/ exécute également le script au démarrage!
Diet Bos
La commande sysemctl fonctionne pour moi. Notez également que ceci est différent des scripts utilisateur dans ~ / .config / autostart-scripts car /etc/rc.local devrait s'exécuter au démarrage, avant que tout utilisateur ne se connecte. Notez que toute erreur dans le script rc.local peut le provoquer faire halte; scannez / var / syslog pour rc.local si vous pensez que cela ne fonctionne pas pour vous.
djb
1
Et systemd ne prend pas en charge une «manière officielle» d'exécuter des scripts au démarrage? Comme rc.local était?
Cirelli94
4

seulement changer cela

chmod 755 /etc/init.d/rc.local

nano /etc/rc.local 

changer cela en première ligne

#!/bin/sh -e

à

#!/bin/bash 

économisez et profitez!

askopz
la source
Parfait, le combo avec la réponse précédente a fonctionné pour moi (16.04)
Yuriy Polezhayev
Cette réponse a fonctionné pour moi au lieu de la précédente, car Ubuntu 14.04 n'a pas systemctl
franksands