Скрипт автостарта в ubuntu

Иногда нужно чтобы при загрузке Ubuntu выполнила какие-либо действия (к примеру, запустила какую-нибудь программу). Как же это сделать?

Всё просто как 3 копейки!

1. Нужно создать файл с командами, которые нужно выполнить при старте системы:

sudo nano /etc/init.d/autostart.script

Как понятно, autostart.script это название файла в котором будут записаны команды и оно может быть любым, но не должно совпадать с именами уже существующих файлов в папке /etc/init.d/.
В первой строке файла должно быть указано какая оболочка или интерпретатор будет выполнять команды в файле. Если вы хотите использовать те же команды, что и в терминале, то файл должен начинаться со строки:

#!/bin/bash

2. Нужно разрешить файлу выполняться:

sudo chmod +x /etc/init.d/autostart.script

3. Рассказываем системе что этот файл нужно исполнять при старте системы:

sudo update-rc.d autostart.script defaults 95

Где 95 это порядок в очереди исполнения. Подробнее можно узнать из

man update-rc.d

Перезапускаем систему и радуемся результату 🙂

P.S.
Для удаления из автостарта нужно выполнить:

sudo update-rc.d autostart.script remove

Скрипт автостарта в ubuntu: 9 комментариев

  1. Для OpenSUSE 10:
    su
    nano /etc/init.d/autostart.script
    ….
    chmod +x /etc/init.d/autostart.script
    ln -s /etc/init.d/autostart.script /etc/init.d/rc5.d/S95autostart.script

  2. Подскажите делаю Скрипт автостарта в ubuntu
    все нормально все запускается
    Затем делаю еще 1 скрипт только уже
    sudo update-rc.d auto.script defaults 94
    И получается что у меня скрипт под номером 94 запускается а 95 уже нет
    Как мне это исправить ?

  3. Мне надо запустить 2 игровых сервера вот пример
    autostart.script:
    #!/bin/bash
    cd /home/administrator/CSS/
    ./srcds_run -game cstrike +port 27015 +map de_dust2 -maxplayers 10

    auto.script:
    #!/bin/bash
    cd /home/administrator/L4D2/left4dead2/
    ./srcds_run -game left4dead2 +port 27016 +exec server.cfg +map c1m1_hotel coop

  4. manus, sudo запускает всё от пользователя root. Попробуйте выполнить:
    sudo mkdir ~/sudo_test
    cd !$
    sudo touch file_under_sudo
    ls -l

    И посмотреть в выводе кто владелец файла. Для удаления примера выполните:
    cd ~
    sudo rm -r ~/sudo_test

    Или я вопрос не правильно понял?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

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

Материалы распространяются под лицензией Creative Commons: Атрибуция — Некоммерческое использование — С сохранением условий (Attribution-NonCommercial-ShareAlike) 3.0 Unported.
Рейтинг@Mail.ru