Después de actualizar a 16.04 LTS rc.local no está ejecutando un comando

21

En la versión anterior instalada, kubuntu 15.xx, agregué una línea /etc/rc.local, /home/diet/scripts/my-auto-mount-scriptque obviamente se refería a un script que, si está en casa, las unidades de red wifi deberían estar montadas.

Esto funcionó a la perfección en kubuntu 15.xx

Después de la actualización, parece que /etc/rc.localse está ignorando en el arranque porque ejecutar el comando /etc/rc.localtodavía parece ser el truco. La razón por la que creo que se ignora rc.local es porque la secuencia de comandos a la que se refiere debería producir registros en el éxito de la secuencia de comandos, pero también en la falla de la secuencia de comandos, pero no hay registros.

¿Alguien puede darme algunos consejos sobre cómo solucionar este problema?

PD: sí, sé que poner cosas /etc/fstabtambién es una forma de montar las unidades, pero cuando no estoy en casa, odio que pueda ver las unidades en Dolphin y tener esas pequeñas cruces rojas en ellas porque no están allí. . De esta manera, cuando estoy de viaje (es una computadora portátil), la gente no puede ver lo que tengo en casa.

Diet Bos
fuente
Relacionado: askubuntu.com/questions/919054/…
mook765

Respuestas:

24

Ubuntu ahora está usando systemd, y rc.local ahora se considera un servicio que está desactivado de manera predeterminada. Puede activar "rc.local" ingresando el siguiente comando y reiniciando:

sudo systemctl enable rc-local.service
cortinas
fuente
¡Muchas gracias por tomarse el tiempo para brindarme una solución! ¡También encontré una solución que al agregar el script a ./.config/autostart-scripts/ también ejecuta el script al inicio!
Diet Bos
El comando sysemctl funciona para mí. También tenga en cuenta que esto es diferente de los scripts de usuario en ~ / .config / autostart-scripts ya que /etc/rc.local debe ejecutarse en el momento del arranque, antes de que cualquier usuario inicie sesión. Tenga en cuenta que cualquier error en el script rc.local puede causarlo a detenerse; escanea / var / syslog para rc.local si crees que no te funciona.
djb
1
¿Y systemd no admite una "forma oficial" de ejecutar scripts al inicio? Como rc.local era?
Cirelli94
4

solo cambia esto

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

nano /etc/rc.local 

cambia esto en primera línea

#!/bin/sh -e

a

#!/bin/bash 

guardar y disfrutar!

askopz
fuente
Perfecto, el combo con la respuesta anterior funcionó para mí (16.04)
Yuriy Polezhayev
Esta respuesta funcionó para mí en lugar de la anterior, porque Ubuntu 14.04 no tiene systemctl
franksands