Скрипт автостарта в 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