Dopo l'aggiornamento a 16.04 LTS rc.local non esegue un comando


21

Nella precedente versione installata kubuntu 15.xx ho aggiunto una riga in /etc/rc.local- /home/diet/scripts/my-auto-mount-scriptche ovviamente faceva riferimento a uno script che se su unità di rete wifi domestiche dovevano essere montate.

Questo ha funzionato perfettamente su Kubuntu 15.xx

Dopo l'aggiornamento sembra che /etc/rc.localvenga ignorato all'avvio perché l'esecuzione del comando /etc/rc.localsembra ancora fare il trucco. Il motivo per cui penso che rc.local venga ignorato è perché lo script a cui fa riferimento dovrebbe produrre log in caso di successo dello script ma anche in caso di errore dello script, ma non ci sono log.

Qualcuno può darmi alcuni suggerimenti su come risolvere questo problema?

PS: sì, lo so che inserire le cose /etc/fstabè anche un modo per montare le unità, ma quando non sono a casa lo odio che posso vedere le unità sul delfino e avere quelle piccole croci rosse su di loro perché non ci sono . In questo modo quando sono in viaggio (è un laptop) le persone non riescono a vedere quello che ho a casa.


Risposte:


24

Ubuntu ora utilizza systemd e rc.local è ora considerato un servizio disattivato per impostazione predefinita. È possibile attivare rc.local "on" immettendo il comando seguente e riavviando:

sudo systemctl enable rc-local.service

Grazie mille per aver dedicato del tempo a fornirmi una soluzione! ho anche trovato una soluzione che aggiungendo lo script a ./.config/autostart-scripts/ esegue anche lo script all'avvio!
Dieta Bos,

Il comando sysemctl funziona per me. Si noti inoltre che questo è diverso dagli script utente in ~ / .config / autostart-scripts in quanto /etc/rc.local dovrebbe essere eseguito all'avvio, prima che qualsiasi utente acceda. Notare che qualsiasi errore nello script rc.local potrebbe causarlo fermare; scan / var / syslog per rc.local se pensi che non funzioni per te.
DJ

1
E systemd non supporta un "modo ufficiale" per eseguire script all'avvio? Come era rc.local?
Cirelli94,

4

cambia solo questo

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

nano /etc/rc.local 

cambiarlo in prima linea

#!/bin/sh -e

a

#!/bin/bash 

salva e divertiti!


Perfetto, la combinazione con la risposta precedente ha funzionato per me (16.04)
Yuriy Polezhayev

Questa risposta ha funzionato per me invece della precedente, perché Ubuntu 14.04 non ha systemctl
francsands
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.