Після оновлення до 16.04 LTS rc.local не виконує команди


21

У попередній встановленій версії kubuntu 15.xx я додав рядок у /etc/rc.local- /home/diet/scripts/my-auto-mount-scriptякий, очевидно, посилався на сценарій, що якщо на домашньому мережевому диску Wi-Fi слід монтувати.

Це працювало бездоганно на kubuntu 15.xx

Після оновлення, здається /etc/rc.local, він ігнорується під час завантаження, оскільки виконання команди /etc/rc.localвсе одно, здається, робить свою справу. Я вважаю, що причина rc.local ігнорується в тому, що сценарій, на який він посилається, повинен створювати журнали про успіх сценарію, але також і про помилку сценарію, але журналів немає.

Хто-небудь може дати мені деякі вказівки, як вирішити цю проблему?

PS: так, я знаю, що введення матеріалів /etc/fstab- це також спосіб встановлення накопичувачів, але коли я не вдома, я ненавиджу, що я можу побачити накопичувачі на дельфіні і мати на них маленькі червоні хрестики, оскільки їх немає . Таким чином, коли я в дорозі (це ноутбук) люди не можуть бачити, що я маю вдома.


Відповіді:


24

Зараз Ubuntu використовує systemd, а rc.local тепер вважається сервісом, який вимкнено "вимкнено". Ви можете увімкнути rc.local "увімкнено", ввівши таку команду та перезавантажившись:

sudo systemctl enable rc-local.service

Дуже дякую, що знайшли час, щоб надати мені рішення! Я також знайшов рішення, що додавання сценарію до ./.config/autostart-scripts/ також запускає скрипт при запуску!
Дієта Бос

Команда sysemctl працює для мене. Також зауважте, що це відрізняється від сценаріїв користувачів у ~ / .config / autostart-script, оскільки /etc/rc.local має працювати під час завантаження, перш ніж будь-який користувач увійде в систему. Зверніть увагу, що будь-які помилки в rc.local-скрипті можуть викликати це зупиняти; scan / var / syslog для rc.local це ви думаєте, що це не працює для вас.
djb

1
І systemd не підтримує "офіційний спосіб" запуску скриптів при запуску? Наче rc.local був?
Cirelli94

4

змінити це лише

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

nano /etc/rc.local 

змінити це в першому рядку

#!/bin/sh -e

до

#!/bin/bash 

збережіть і насолоджуйтесь!


Ідеально, комбо з попередньою відповіддю працювало на мене (16.04)
Юрій Поляжаєв

Ця відповідь працювала для мене замість попередньої, оскільки Ubuntu 14.04 не має systemctl
франків
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.