25.11.2008

Автозагрузка в Linux

Источник

Задача: автоматически запустить при старте системы некий скрипт, демон или программу.

Вариант решения:
Автоматическая загрузка скриптов может понадобиться по различной причине. Например, нужно стартовать некий системный демон, или просто лень каждый раз при запуске компьютера запускать вручную браузер. Если администраторских прав на запуск не требуется, то пользователям графической оболочки GNOME пригодится данный мануал. В случае KDE, в каталоге ~/.kde/Autorun/ будут выполняться все скрипты с соответствующими правами.

Мои «приключения» начались с того, что требовалось запускать скрипт с администраторскими правами и не вводить каждый раз пароль при загрузке иксов. Все оказалось очень просто. Итак, создаем папку, где будут храниться скрипты:
$ mkdir MyScripts
и помещаем в нее необходимый нам скрипт под названием myscript.sh. В моем случае его содержание могло выглядеть вот так:
sudo ipmasq
Последним штрихом будет прописывание пути к скрипту в файл rc.local, находящийся у меня в каталоге /etc. Предварительно сделав с него бекап
sudo cp /etc/rc.local /etc/rc.local.bac
откроем его в текстовом редакторе
sudo gedit /etc/rc.local
и введем перед строкой exit 0
путь к скрипту:
/home/XXXXXX/MyScripts/myscript.sh
Теперь можно перезагружаться =).

7 комментариев:

  1. Анонимный12.11.2009, 14:58

    я бы отнес эту запись к вредным советам...

    правильней было бы поместить скрипт в /etc/init.d/ и добавить его в нужные уровни загрузки (init 1, init 2)

    ОтветитьУдалить
  2. Анонимный20.03.2010, 09:17

    а у меня норм пашет)

    ОтветитьУдалить
  3. Анонимный14.05.2010, 22:38

    Вариант с уровнями загрузки более корректный.

    а режим "а у меня норм пашет)" - это костыль.

    ОтветитьУдалить
  4. Анонимный18.05.2011, 20:04

    Это не костыль, а скорей безбожная наивность... Если человек работает в линуксе без понимания, на авось, то он вызывает у меня лишь сострадание...

    ОтветитьУдалить
  5. Анонимный29.08.2011, 08:33

    Вариант с rc.local правильней чем с init.d если нужно при старте системы выполнить скрипт или простую команду, если же надо запустить демон тогда лучше поместить в init.d
    Автор молодец, вполне понятно обьяснил как и что сделать.

    ОтветитьУдалить
  6. Вы бы тут еще объяснили, в чем разница между размещением в rc.local и init.d - было бы очень круто!!!

    ОтветитьУдалить
  7. Анонимный14.11.2012, 09:44

    автор молодец.

    ОтветитьУдалить