Как создать скрипт для автозапуска программы линукс


Как добавить скрипт в автозагрузку Ubuntu

Инструкции Май 17, 2015 admin

Иногда возникает необходимость выполнить свой скрипт во время загрузки системы. Сделать это можно несколькими способами.

Автозагрузка с помощью стандартной утилиты Ubuntu

Создайте скрипт в удобном месте и сделайте его выполняемым:

sudo chmod ugo+x /путь_к_скрипту/имя_скрипта

Запустите утилиту Приложения запускаемые автоматически в меню Dash:

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

Скрипт будет выполнен во время загрузки Ubuntu.

Создание скрипта в init.d

Создайте скрипт в директории /etc/init.d/ удобным для вас способом затем сделайте его исполняемым командой:

sudo chmod ugo+x /etc/init.d/имя_скрипта

Теперь добавите его в автозагрузку:

sudo rc-update add имя_скрипта defaults

Скрипт запуститься во время инициализации системы.

Загрузка с помощью rc.local

Создайте скрипт где вам удобно и сделайте его исполняемым как в первом способе. Откройте файл rc.local командой:

sudo nano /etc/rc.local

Пропишите ваш скрипт перед строчкой exit 0 и сохраните файл. Скрипт выполниться после загрузки системы.

(3 оценок, среднее: 4,33 из 5) Загрузка...

losst.ru

Учимся управлять автозагрузкой в linux

Добрый день, Написанием данной статьи меня побудила банальная задача: отключить графическую оболочку при старте системы. Казалось бы, поменять одну цифру в /etc/inittab. Но как выяснилось, все намного сложнее. Итак, разберем по полочкам, что такое inittab и systemd, для чего они нужны и как управлять автозагрузкой приложений в linux. Как человек, который самостоятельно пытается найти ответы, пришлось прочитать не одну статью, информации на эту тему много, но понимание приходит не сразу. На русскоязычных форумах как правило развернутого ответа нет. Скажу сразу, я не системный администратор и статья больше рассчитана на людей, кто относительно недавно познакомился с linux. Кому интересна данная тема, добро пожаловать. Это моя первая статья, если есть замечания прошу в комментарии.

Что такое inittab

По сути inittab представляет из себя файл в котором можно посмотреть/поменять уровень загрузки операционной системы в /etc/inittab. Давайте разберем его # The default runlevel. id:5:initdefault: # Runlevel 0 is halt. # Runlevel 1 is single-user. # Runlevels 2-5 are multi-user. # Runlevel 6 is reboot. l0:0:wait:/etc/init.d/rc 0 l1:1:wait:/etc/init.d/rc 1 l2:2:wait:/etc/init.d/rc 2 l3:3:wait:/etc/init.d/rc 3 l4:4:wait:/etc/init.d/rc 4 l5:5:wait:/etc/init.d/rc 5 l6:6:wait:/etc/init.d/rc 6 В linux существуют 7 уровней загрузки операционной системы. В нашем случае нулевой уровень — это режим восстановления, первый — это запуск в одиночном режиме под root. 2-5 загрузка в мульти пользовательском режиме (т.е. обычный режим). Отличаются они лишь набором стартовых скриптов. 6 уровень это перезагрузка. Скрипты берутся из директорий, которые расписаны в inittab. Наша система по умолчанию загружается на 5 уровне, посмотрим что-же находится в директории /etc/init.d/rc 5:

Скрипты в этом каталоге выполняются каждый раз при старте системы. А если быть точнее это лишь символьные ссылки на сами скрипты. Первая буква означает S(start) K(kill или stop) для изменения порядка скриптов меняется цифра, т.е. запуск скриптов выполняется по возрастанию. Руками менять можно, но рекомендуется менять через «update-rc.d» usage: update-rc.d [-n] [-f] basename remove update-rc.d [-n] basename disable|enable [S|2|3|4|5] -n: not really -f: force Все просто и прозрачно.

Что такое systemd

Systemd является заменой старой традиционной загрузки inittab. Был разработан чтобы обеспечить лучшую обработку зависимостей. В настоящее время systemd поставляется по умолчанию с популярными дистрибутивами linux таких как Fedora, Mandira, Arch Linux, CentOS 7, Red Hat 7.0 и на удивление для меня в Debian 8.9. Плюсы и минусы в явном виде для меня не понятны. Интересен в первую очередь функционал. Итак разбираемся дальше. Две вещи, которые нам нужно знать: Чтобы посмотреть уровень загрузки, введем команду: [email protected]:/home/rus# systemctl get-default graphical.target [email protected]:/home/rus# runlevel N 5 Как правило graphical.target аналог 5 уровня, запуск системы в графическом режиме. Чтобы посмотреть все доступные нам уровни, введем:

проведем аналогию c inittab Runlevel Описание Systemd 0 poweroff.target 1 rescue.target 2 multi-user.target 3 multi-user.target 4 multi-user.target 5 graphical.target 6 reboot.target При старте системы linux смотрит в файл (который является ссылкой) [email protected]:/home/rus# ls -la /etc/systemd/system/default.target lrwxrwxrwx 1 root root 37 ноя 27 14:45 /etc/systemd/system/default.target -> /lib/systemd/system/graphical.target Таким образом чтобы загрузиться в многопользовательском режиме, нам нужно сменить ссылку или использовать systemctl (делает тоже самое)

Автозагрузка проложений

Как мы уже поняли в каталогах /etc/rc[0-6].d/* лежат символьные ссылки на скрипты. Где цифры от [0-6] это уровень загрузки у inittab или systemd. Мы можем менять руками порядок запуска, убирать и добавлять. По сути systemd пробежится по всем файлам и попытается их инициализировать при старте системы. Теперь разберем управление через команды: chkconfig — нужна для просмотра сервисов(программ). Поддерживает режим изменения для любого уровня загрузки. update-rc.d — служит для запуска/остановки скриптов, при старте/выключении системы. Собственно через нее мы и будем менять автозапуск графической оболочки KDE(kdm). Так уж получилось, что у меня запуск окружения KDE включен для 2-5 уровней по умолчанию. При старте системы я отключаю 2-4 уровень загрузки и проверяю что у меня стоит 3-й уровень загрузки

Перезагружаюсь и вижу приглашение консоли tty. profit На самом деле, это чуть больше чем консоль. Мы можем переключаться между вкладками. CTRL+ALT+(F1-F6) команда startx запустит графику KDE. Вывод: Тут должен быть вывод, но вместо него я вставлю кота

Всем спасибо, кто дочитал. Список используемой литературы:

ask.xmodulo.com/boot-into-command-line-ubuntu-debian.html

landoflinux.com/linux_runlevels_systemd.html lpi.bezha.od.ua/change-runlevels unix.stackexchange.com/questions/210117/how-to-set-up-a-runlevel-3-in-debian-8 Теги: автозагрузка,linux,inittab,systemd,chkconfig

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

habr.com

Ubuntu автозагрузка: как убрать и добавить программу в автозапуск

В Убунту есть 2 основных уровня автозапуска — в системе инициализации systemd и в рабочем окружении. Для пользовательского софта автозагрузка в Ubuntu может быть настроена в удобной графической утилите. Добавить в автозапуск можно программу или собственный скрипт.

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

Актуальная Ubuntu 18.04 по умолчанию в качестве рабочего окружения использует GnomeShell. Для настройки автозапуска в этой версии ОС нужно:

  1. Нажать на кнопку «Обзор» в левом верхнем углу экрана.
  2. Начать вводить в строку поиска «Автоматически запускаемые приложения» и запустить найденную утилиту.
  3. Далее кликнуть по кнопке «Добавить», чтобы внести желаемое приложение в автозагрузку.
  4. Заполнить поля «Имя» (название программы — как удобно) и «Команда» (та, которую вводят в консоли для запуска этого софта). Поле «описание» необязательное, сюда разрешено вписать любой комментарий. Пример добавления Transmission в автозагрузку в Линукс показан на скриншоте:

  5. Нажать кнопку «Добавить».

Совет! Чтобы не ошибиться с правильностью команды, нужно установить утилиту «Главное меню» из UbuntuSoftwareCenter.

В ней выбрать интересующий пункт и открыть его свойства. Правильная команда копируется из одноименной строки.

Запуск приложений в Ubuntu, присутствующих в списке и помеченных галочкой, будет происходить при каждом старте ОС. Все это приложения данного пользователя, системные программы и сервисы, утилита не отображает. В предыдущих версиях операционной системы с графической оболочкой Unity утилита для настройки автозагрузки также ищется поиском по меню Dash или открывается с помощью команды в терминале:

gnome-session-properties.

Как добавить скрипт в автозагрузку Ubuntu

Кроме конкретного софта, добавить в автозагрузку Linux легко и самописный скрипт, чтобы оптимизировать работу за компьютером. Для этого необходимо:

  1. Сделать скрипт исполняемым с помощью команды:

    sudochmodugo+x /home/user/script.sh

    (где user — имя пользователя, а script — название скрипта, но путь до вашего файла .sh может отличаться: его нужно прописать полностью, иначе скрипт не запустится).

  2. Открыть «Автоматически запускаемые приложения» и нажать «Добавить».
  3. Ввести имя скрипта, а в качестве команды — полное название с путем до файла, например, /home/user/script.sh.
  4. Кликнуть по «Добавить».

Есть другой, классический, но считающийся устаревшим способ настроить автозапуск скрипта в Ubuntu. Для его выполнения нужно:

  1. Открыть терминал и выполнить команду:

    sudonano /etc/rc.local

  2. Над строкой exit 0 прописать название и путь до скрипта.
  3. Сохранить изменение с помощью сочетания клавиш Ctrl+O, подтвердить клавишей Enter.

Этот способ подойдет и для автозагрузки на UbuntuServer, где нет графики.

Отсрочка автозапуска программ в Ubuntu

Если программ в автозагрузке Убунту очень много, их необходимо подгружать в определенном порядке или запускать спустя какое-то время после загрузки системы — поможет функция отсрочки. Для ее активации используется unix-утилита sleep. Воспользоваться возможностями этого инструмента можно в уже знакомой программе «Автоматически запускаемые приложения». Для этого нужно:

  1. Открыть окно параметров запускаемых приложений.
  2. Выделить курсором программу, автозапуск которой необходимо отсрочить, и воспользоваться кнопкой «Изменить».
  3. В строке «Команда» перед имеющеюся записью внести:

    sleep 120,

где цифра после слова «спать» равна количеству секунд, которое приложение бездействует сразу после старта системы, перед тем как запуститься. Между данной формулой, в конце которой обязательна точка с запятой, и командой на запуск приложения, должен быть пробел.

В приведенном примере отложенной автозагрузки программ в Ubuntu приложение остается в состоянии «сна» 2 минуты, прежде чем открыться. Например, запуск через полчаса после старта ОС будет выглядеть как sleep 3h «имя программы». Пример, в котором Transmission запускается через 1 час:

sleep 1h; transmission-gtk %U

Аналогичным образом можно добавить в автозагрузку в Linux отсроченное выполнение пользовательского скрипта или запуск медиафайла.

Удаление из автозапуска Ubuntu

Чтобы убрать софт из автозагрузки Ubuntu, можно воспользоваться одним из 2 способов: через «Автоматически запускаемые приложения» или вручную. В первом случае достаточно запустить утилиту, выделить нужную программу и нажать «Удалить». Простое снятие галочки отключается программа, и она не будет запускаться при старте системы.

Ручной способ подразумевает использование папки autostart в Ubuntu. Она расположена по адресу /home/имя пользователя/.config/autostart/ (чтобы увидеть эту скрытую папку, следует открыть домашний каталог в файловом менеджере и нажать одновременно клавиши Ctrl+H). В ней лежат файлы с расширением .desktop для каждой программы из автозапуска, формирующиеся автоматически при добавлении через графическую утилиту. Достаточно удалить файл, чтобы программа больше не открывалась при включении компьютера.

Заключение

Автозагрузка в Ubuntu имеет множество способов тонкой настройки. Ее возможности трудно охватить. Грамотное использование этого инструмента делает ОС Linux практичнее в повседневных задачах.

iwsm.ru

Как в Linux добавить программу в автозагрузку?

После пуска компьютера, как правило, нам приходится запускать некоторые программы. которыми мы пользуемся чаще только. Также после запуска системы нам может понадобиться выполнить какие-либо специфичные усилия, например, создать нужные файлы или установить некоторые параметры. В этой статье мы рассмотрим как трудится автозагрузка Linux, как добавить программы автозагрузки, куда их будет более правильно приплюсовать, а также какие виды автозагрузки бывают в этой операционной системы.

Добавление обслуживания в автозапуск в Linux

Процедура включения сервиса в автозагрузку Linux подразумевает, что нужная прога уже установлена с помощью менеджера пакетов или скомпилирована. Общий вид вызова нужных команд презентован в примере, приведенном ниже.

Читайте также:  Tmpdir выносим в RAM

systemctl enable имя_сервиса.service update.rc имя_сервиса defaults chkconfig --add имя_обслуживания

Добавление программ в автозапуск в Linux

В данном примере описывается как добавить в автозагрузку nginx? По аналогичностьи добавляем и другие программы! Для начало нужно задать права на исполнение файла:

chmod +x /etc/init.d/nginx

После записываем в автозагрузку:

/usr/sbin/update-rc.d -f nginx defaults

Добавление программ в автозагрузку в Linux

Творим файл в /etc/init.d/

sudo nano /etc/init.d/

В начало скрипта нужно добавить:

#! /bin/sh

Ставим права на исполнение /etc/init.d/local :

sudo chmod +x /etc/init.d/local

Добавляем script /etc/init.d/local в автозапуск:

sudo update-rc.d local defaults 80

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

Читайте также:  Показать время в формате ISO 8601 в Linux

www.linux16.ru

Автозапуск скриптов в Ubuntu при инициализации системы

Просмотров: 9 921  Версия для печати

Cтолкнуться с необходимостью добавления скрипта в автозагрузку системы. Добавление его в rc.local не сработало, вернее работало не так как хотелось. Как сделать простой скрипт и добавить его запуск при инициализации системы расскажу ниже. 

Создадим скрипт запуска в каталоге инициализации системы:

sudo vi /etc/init.d/script

В текстовом редакторе вводим строки:

#!/bin/bash наш скрипт

В первой строке этого скрипта указывается интерпретатор.

Пишется тут всё точно также, как вы выполняли необходимую команду в терминале, за исключением того, что не надо добавлять ‘sudo‘ — так как этот скрипт будет выполняться при инициализации системы, то есть уже сразу под суперпользователем.

После того как файл создан, сделаем его исполняемым:

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

Теперь добавим созданный скрипт к автозагрузке:

sudo update-rc.d script defaults 90

Числовое значение после слова defaults указывает на приоритет для старта этого скрипта.

В результате всех этих действий скрипт будет запускаться еще до загрузки графической среды, сразу вместе с инициализацией операционной системой.

Если вы захотите удалить этот скрипт из автозагрузки, то перед тем как удалить сам файл надо выполнить такую команду:

sudo update-rc.d -f script remove

Остались или есть ещё вопросы? Задавайте! (не забудьте указать ссылку на этот пост)

Похожие записи

Популярные записи

Интересные записи

  • Не переключается раскладка в Windows 7 (Средний бал: 5,00)
  • GRUB: error: unknown filesystem. grub rescue> (Средний бал: 5,00)
  • Ошибка WORD: Mеждустрочный интервал (Средний бал: 5,00)
  • Настройка сети в FreeBSD (unix) (Средний бал: 5,00)
  • Устанавливаем прозрачный Squid на pfSense (Средний бал: 5,00)
  • Настраиваем сетевой сканер в Kyocera FS-1135MFP (Средний бал: 5,00)
  • Zalman ZM-VE300 (Обзор, прошивка, тест) (Средний бал: 5,00)
  • Запускаем приложения / настройки windows из командной строки (cmd) (Средний бал: 5,00)
  • FreeNAS (backup) — организация бэкапа (Средний бал: 5,00)
  • Вышла Ubuntu 12.04 LTS (Precise Pangolin) Beta 1 (Средний бал: 5,00)

Стоит глянуть

xaxatyxa.ru

Добавление программ в автозагрузку из консоли в Ubuntu\Debian\Mint

(1 оценок, среднее: 5,00 из 5)

  Большое количество утилит\приложений в Линукс имеют собственные настройки для добавления в автозапуск системы. Что делать. если разработчик ПО подобного функционала не предусмотрел, а он нужен?

Ранее описывался способ добавления программ\скриптов в автозагрузку посредством графического интерфейса. В этой статье кратко — как тоже-самое сделать из консоли.

Создаем файл в /etc/init.d/

sudo nano /etc/init.d/

В начало скрипта нужно добавить:

#! /bin/sh

Устанавливаем права на исполнение /etc/init.d/local :

sudo chmod +x /etc/init.d/local

Добавляем скрипт /etc/init.d/local в автозапуск:

sudo update-rc.d local defaults 80

Все. Теперь можно добавлять в наш скрипт  local команды, которые должны быть выполнены при запуске системы.

Для удаления скрипта из автозагрузки нужно выполнить следующую команду:

sudo update-rc.d -f /etc/init.d/local remove https://studylinux.ru/autorun.html2016-02-06T12:32:25+00:00adminC чего начать?Другие приложенияРуководстваСправочники командbash,Администрирование,Руководства,Системные утилиты,скрипты,Установка,Утилиты  Большое количество утилит\приложений в Линукс имеют собственные настройки для добавления в автозапуск системы. Что делать. если разработчик ПО подобного функционала не предусмотрел, а он нужен? Ранее описывался способ добавления программ\скриптов в автозагрузку посредством графического интерфейса. В этой статье кратко - как тоже-самое сделать из консоли. Создаем файл в /etc/init.d/ sudo... andr[email protected]Самоучитель LINUX (1 оценок, среднее: 5,00 из 5)

studylinux.ru


Смотрите также