Как добавить в автозагрузку в linux: Как добавить сервис в автозагрузку в Linux?

Содержание

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


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

В этой статье рассмотрим процесс добавления сервисов в автозагрузку для самых популярных дистрибутивов Linux: CentOS, Debian и Ubuntu.

Debian/Ubuntu

Для  дистрибутивов Debian и Ubuntu управление автозагрузкой служб и доменов осуществляется с помощью утилиты update-rc.d с посредством демона init. Сама утилита работает с символическими ссылками связанных с init скриптами, которые управляют запуском/остановкой программ расположенных в каталоге /etc/init.d.

Коротко пройдемся по основных командах:

  • вывод списка сервисов и их состояния

service —status-all

  • добавить сервис в автозагрузку (service — название самого сервиса).

update-rc.d services defaults

  • убрать сервис с автозагрузки

update-rc.d -f service remove

Опция -f отвечает за удаление символических ссылок.

CentOS 6

Здесь за автозагрузку демонов/программ/служб отвечает содержимое каталога /etc/rc.local. Управление этими процессами идет через команду  chkconfig, которая кроме стандартных функций добавления/удаления служб с автозагрузки имеет уровни выполнения команды (уровни запуска). Уровни запуска — режимы работы операционной системы, каждый с каких несет в себе установленное направление функционала и ограничений. Всего уровней существует семь, которые нумеруются от 0 до 6. 

0 уровень — прекращение работы системы.

1 уровень — однопользовательский режим, доступен только пользователю root.

2 уровень — многопользовательский режим, возможно работа с нескольких терминалов, вход уже  как обычные пользователи.

3 уровень

— также многопользовательский режим, настройка сетевых служб.

4 уровень — не используется.

5 уровень — включение графической подсистемы X11, для возможности использования графического интерфейса вместо командной строки.

6 уровень — перезагрузка системы.

  •  вывод на экран списка всех сервисов

chkconfig —list

  • предоставления информацию по конкретному сервису

chkconfig —list service

Здесь после использования команды на экране в консоли возле номеров уровней будут идти индикаторы on -включен, off — выключен, что определяет на каких уровнях работает или нет указанный сервис.

  • добавление сервиса в автозагрузку

chkconfig service on

  • удаление сервиса с автозагрузки 

chkconfig service off

  • для добавления сервиса на определенных уровнях

chkconfig —level 015 httpd on

Где после —level указываются номера уровней (слитно) на которых будет доступен сервис.

Для версий Debian 8, Ubuntu 15.04, CentOS 7  и выше

В более новых версиях CentOS, Debian и Ubuntu в качестве демона автозагрузки сервисов применяется systemd. Systemd для этого использует unit-файлы из каталога /etc/systemd/system. Systemd является очень универсальным и многофункциональным менеджером систем Linux, и позволяет распределять запуск служб в процессе загрузки ОС (включать и отключать их), тем самым максимально контролировать сам запуск. Systemd идет в связке с командой systemctl через которую идет управление автозагрузкой сервисов в системе.

  • вывод списка всех сервисов

systemctl list-unit-files —type=service

  • просмотр статуса определенного сервиса

systemctl status service

  • добавить сервис в автозагрузку

systemctl enable service

  • удалить сервис с автозагрузки

systemctl disable service

  • проверить добавлен ли сервис в автозагрузку

systemctl is-enabled service

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

Купить VPS с Linux

Добавление приложения в автозагрузку Linux (как запускать программу автоматически при старте ОС Linux)

Всех приветствую!

Сегодняшний вопрос (насчет автозагрузки приложений) весьма популярен, причем, как при работе в Windows, так и Linux. Разумеется, в Linux он имеет свои особенности…

Наверное, для начала сразу же следует сказать, что в Linux несколько уровней (режимов) автозагрузки. Например, есть автозагрузка на уровне ядра, на уровне скриптов (rc.local), bash, и пр. малопонятные для начинающего пользователя аббревиатуры…

И в этой заметке я бы не хотел рассматривать все «эти тонкости», а показать наипростейшие варианты добавить обычное приложение (Chrome, Firefox, и т.д. и т.п.) в автозагрузку Linux (так, чтобы оно стартовало вместе с загрузкой ОС). Думаю, большинство пользователей именно это и интересует… 😉

 

👉 В помощь!

Если в процессе настройки вам понадобиться указать программу вручную (которую требуется авто-загружать) — ищите исполняемый файл в каталоге: /usr/bin (для отдельных приложений, запускаемых от имени админа: /usr/sbin).

 

*

Содержание статьи

Примеры настройки автозагрузки

Вариант 1

Итак…

Для начала совет банальный — откройте настройки того приложения, которое вам нужно добавить в автозагрузку. Возможно, что среди его параметров будет заветный «флажок», позволяющий запускать приложение при старте системы. См. пример на скрине ниже. 👇

Примечание: в некоторых системах Linux подобная опция в настройках приложения может ничего не дать… (т.е. приложение не будет запускаться при загрузке ОС).

Настройки конкретного приложения / параметры запуска

 

*

Вариант 2

Теперь пару слов о панелях управления тех дистрибутивов Linux, которые я рекомендовал…

*

Linux Mint

В этом дистрибутиве всё гораздо проще, чем просто «просто». 👌

Сначала необходимо открыть меню ПУСК/параметры системы и перейти во вкладку

«Автозагрузка».

Параметры системы — автозагрузка (Linux Mint)

 

После кликнуть по «плюсику» и выбрать нужное приложение из списка. Это всё… ✌

Добавляем нужно приложение (Linux Mint)

 

*

Elementary OS

Здесь все делается практически аналогично, как в Linux Mint.

Сначала необходимо открыть параметры системы и перейти во вкладку «Приложения».

Параметры системы — приложения (Elementary OS)

 

После раскрыть меню «Автозапуск», нажать на «плюс» и выбрать нужное приложение.

Автозапуск — выбор нужного приложения (Elementary OS)

 

Если когда-то потом приложение необходимо будет убрать из автозагрузки — просто переведите ползунок в режим «Выкл.». Пример см. на скриншоте ниже. 👇

Теперь приложение для мониторинга будет запускаться при старте Linux

 

*

Ubuntu

В Ubuntu также есть специальное ПО для решения этой задачи: необходимо перейти во вкладку «Система → Параметры → Запускаемые приложения».

Для добавления своей программы необходимо нажать на кнопку «Добавить», как в моем примере 👇. Потребуется указать имя, команду (об этом далее) и описание.

Ubuntu — добавить программу

 

После необходимо будет указать нужный исполняемый файл (программу) — обычно, они копируются в каталог

/usr/bin (для ПО, запускаемых от имени админа — /usr/sbin). В редких случаях может быть задействован каталог /usr/opt (один из примеров ниже 👇).

Находим нужное приложение в каталоге

 

*

Deepin

Этот дистрибутив (на мой взгляд) в плане простоты работы выигрывает у предыдущих!

Представьте, чтобы добавить программу в автозагрузку — достаточно просто кликнуть по ее значку правой кнопкой мыши и в контекстном меню выбрать оное. 👇

Как вам?.. (так просто даже в Windows не сделаешь!)

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

 

Разумеется, для исключения приложения из автозагрузки — нужно проделать обратную операцию: также кликнуть ПКМ по значку.. .

Теперь на приложении спец. значок — оно будет стартовать вместе с системой (Deepin)

 

*

Дополнения по теме — приветствуются в комментариях!

На сим пока всё, успехов!

Полезный софт:

  • Видео-Монтаж

  • Отличное ПО для создания своих первых видеороликов (все действия идут по шагам!).
    Видео сделает даже новичок!
  • Ускоритель компьютера

  • Программа для очистки Windows от «мусора» (удаляет временные файлы, ускоряет систему, оптимизирует реестр).

Другие записи:

Власть над демонами или автозапуск в Linux / Хабр

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

Стоит сразу заметить — чтобы программа была полноценным сервисом/демоном, она должна быть соответствующе написана (link1, link2). Впрочем такое делают не всегда, хотя возможно это и не совсем правильно.

Существуют несколько способов сделать автозапуск программ в Linux:

  • записать вызов программы/скрипта запуска в /etc/rc.local в фоновом режиме (&) (в разных дистрибутивах может лежать в разных местах, например, /etc/rc.d/rc.local) с перенаправленными потоками ввода/вывода в /dev/null. Например, «/home/user/my_prog 1 > /dev/null 2 > /dev/null &». Также, дополнительно, можно воспользоваться командой nohup;
  • внести вызов в /etc/inittab, согласно правилам его оформления. В отличие от первого способа тут можно указать уровень запуска для программы;
  • написать скрипт, позволяющий запускать/останавливать/перезапускать программу как демона, а также получать информацию о её состоянии.

Первый способ самый лёгкий, но и самый проблемный. Файл rc.local есть не во всех дистрибутивах. В нём нельзя задать уровень запуска. Если там записано несколько программ, то сложно ими управлять как сервисами (разве что запустить или остановить все одновременно). И, под конец, запуск из него подрывает устойчивость системы от взлома (примеры можно легко найти в поисковике).

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

Последний метод на текущий момент самый «кошерный», но немного сложнее предыдущих (возможно, на первый взгляд). Именно им представлены все системные демоны, что говорит само за себя. Потому его и рассмотрю ниже.

Также есть способ автозапуска графических программ, но его опишу в конце, отдельно от остальных, т.к. он имеет недемоническую сущность.

Сразу обмолвлюсь, что у меня стоит Debian 6 и в других дистрибутивах пути могут несколько различаться.

Автозапуск программы как демона

Обычно в системе уже есть много подсказок как это сделать, но всё-таки приходится лазить по разным файлам и искать в интеренете дополнительную информацию. Это не значит, что я опишу тут каждую букву, но искать придётся меньше, надеюсь.

Для начала стоит заглянуть в каталог /etc/init.d. Здесь содержатся запускные скрипты всех сервисов, а также два файла для желающих написать себе такой же:

README и skeleton

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

В 6-ом debian`е для запускных скриптов демонов используется LSB (Linux Script Base) Init Standart. Почитать о нём подробнее можно тут. Для систем, где LSB не используется стоит взглянуть сюда.

Рассмотрим поближе файл skeleton. Первое с чего он должен начинаться, конечно же «#!/bin/sh», т. к. init-скрипт — запускной файл. Далее идёт комментированный заголовок:

### BEGIN INIT INFO
# Provides:          skeleton
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Example initscript
# Description:       This file should be used to construct scripts to be
#                    placed in /etc/init.d.
### END INIT INFO

Может показаться, что это просто лишняя информация от автора, но это не так. То, что указано здесь используется при прописывании скрипта в систему. Тут как раз пригодится файл README, который показывает, что в заголовке skeleton перечислены не все возможные параметры. Как минимум есть ещё следующие:

# Should-Start:      $portmap
# Should-Stop:       $portmap
# X-Start-Before:    nis
# X-Stop-After:      nis
# X-Interactive:     true

Все параметры и их полное описание (на английском) можно увидеть

тут

, а на русском

тут

и

тут

(спасибо

awzrno

за новые ссылки ^_^). К русскому варианту добавлю, что в Required-Start: можно прописать $all, тогда текущий скрипт будет запускаться после всех остальных (иногда это бывает нужно). Также X-Interactive: true показывает, что этот скрипт может взаимодействовать с пользователем, запросом на ввод чего-нибудь, например пароля.

Далее в skeleton идёт инициализация переменных, используемых в самом скрипте. Часть из них нужно будет настроить под свои нужды. Потом проверки на то, что сам демон существует и попытка прочитать конфигурационный файл (их имена должны быть указаны в переменных выше), далее загрузка переменных rcS, а потом идёт одна из самых интересных частей init-файла:
. /lib/lsb/init-functions
это определение LSB функций работы с логами, LSB-статусом сервиса, работы с процессом. В некоторых дистрибутивах этот файл может находиться в каталоге /etc/init.d. Названия и часть подробностей можно узнать непосредственно из комментариев к функциям в этом файле, а также тут.

Следующая часть — непосредственно тело скрипта. Тело состоит из условных частей, которые являются командами для демона: start, stop, restart/reload/force-reload, status. Кто-то выделяет их в отдельные функции, кто-то нет. На мой взгляд, функциями они выглядят эстетичнее и код более понятен. Все эти команды объединяет оператор выбора case, который и выбирает для исполнения нужный кусок кода, в зависимости от команды (параметра) с которой был запущен init-скрипт.

Таким образом для создания обычного скрипта достаточно подставить в переменные в начале файла нужные значения и, возможно, немного добавить кода в функции start/stop (например загрузку/выгрузку драйвера).

После того как файл будет готов его нужно скопировать в /etc/init.d и добавить в автозагрузку:
update-rc.d <имя_скрипта> defaults
(или insserv <имя_скрипта> для debian 6 stable и выше)
Удалить из автозагрузки можно так:
update-rc.d -f <имя_скрипта> remove
(или insserv -r <имя_скрипта> для debian 6 stable и выше)

Далее также можно использовать команды sysv-rc-conf в debian или service в fedora core, чтобы включить/выключить автозагрузку сервиса.

Автозапуск графического ПО без ввода паролей

Сама по себе реализация такой возможности понижает уровень защищённости ОС, т.к. войти может любой. Но бывают ситуации, когда это необходимо. Рассмотрю тут варианты только для двух основных графических менеджеров, т.к. других установленных под рукой нет.

KDE:

Убрать запрос пароля на вход можно в центре управления (kcontrol) -> системное администрирование -> менеджер входа в систему -> удобства. Там выбрать пользователя, под которым входить (кроме рута) и поставить нужные галочки (разрешить автовход и вход без ввода пароля).

Чтобы сделать автозапуск программы нужно в каталог /home/<пользователь>/.kde/Autostart добавить ссылку на запускной файл/скрипт нужного ПО.

Gnome:

Тут убрать запрос пароля на вход можно также в центре управления (gnome-control-center) -> Login Screen. Там, под рутом (ткнуть на замок, ввести пароль) выбрать пользователя, под которым входить (кроме суперпользователя).

Для автозапуска программы опять же в центре управления выбрать Startup Applications -> Add и заполнить маленькую форму.

Для обоих графических менеджеров:
Если нужно запустить под обычным пользователем, но от рута, то ещё надо настроить правила в /etc/sudoers на запуск конкретной программы/набора программ от имени суперпользователя (манами рекомендуется для безопасности делать это с помощью visudo). Как это делать рассказывать не буду, т.к. в man sudoers всё хорошо расписано.

Пока всё.

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

15 марта 2016 г. 6:19

На данный момент описанный мною способ уже устарел и лучше использовать другие способы. Например: для добавления служб можно воспользоваться командой systemctl. А для запуска своих скриптов использовать Systemd. Пока обновляется информация по этой статье, попробуйте поискать материал по этому вопросу в других источниках.

Чтобы команды запускались автоматически при старте Линукс, нужно создать файл /etc/init.d/local

sudo nano /etc/init.d/local

Затем добавляем свои команды или скрипты, например:

#! /bin/sh
/usr/local/sbin/nginx
/etc/init.d/bind9 start  # добавляет bind9 в автозапуск
service elasticsearch start  # добавляет elasticsearch в автозапуск

Теперь файл, состоящий из списка команд, добавим в автозагрузку:

sudo chmod +x /etc/init.d/local # делаем файл исполняемым
sudo update-rc.d local defaults 80 # добавляем скрипт /etc/init.d/local в автозагрузку

Этого достаточно, чтобы запускать команды и сервисы автоматически при загрузки системы.

Оцените статью

2.7 из 5 (всего 12 оценок)

Спасибо за ваш отзыв!

После нажатия кнопки «Отправить» ваше сообщение будет доставлено мне на почту.

Права на использование материала, расположенного на этой странице https://vivazzi.pro/it/add-comands-to-autorun-linux/:

Разрешается копировать материал с указанием её автора и ссылки на оригинал без использования параметра rel="nofollow" в теге <a>. Использование:

Автор статьи: Мальцев Артём
Ссылка на статью: <a href="https://vivazzi.pro/it/add-comands-to-autorun-linux/">https://vivazzi.pro/it/add-comands-to-autorun-linux/</a>

Подробнее: Правила использования сайта

Похожие статьи:

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

Как добавить приложение в автозагрузку в Ubuntu? Многие наверное задумывались как добавить свое приложение в автозагрузку в дистрибутиве Ubuntu.  Если вы задавались этим вопросом, ознакомьтесь с материалом ниже где все по пунктам описано.

Автоматически запускаемые приложения

Первым делом, что нам нужно чтобы добавить приложение в автозагрузку? Перейдем на боковую «Показать приложения» и воспользуемся поиском чтобы найти ярлык приложения — Автоматически запускаемые приложения. Запустим приложение — Автоматически запускаемые приложения(startup applications).

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

Чтобы добавить новое приложение в автозагрузку, нажмем на кнопку добавить, далее мы увидим поля(имя, команда и описание) в поле имя мы просто добавляем имя приложения для автозагрузки как пример, я добавил в автозагрузку приложение Cairo-Dock.

Заполняем обязательные поля при добавлении в автозагрузку

Да, именно так, все просто и ничего лишнего:

  • Поле имя — здесь можно добавить либо какое имя с большой или маленькой буквы разницы нет
  • Поле команда — в данном поле нужно написать название программы с маленькой буквы, как пример — cairo-dock
  • Поле описание — в данном поле пишем любое описание приложения, но можно и ничего не писать так как поле не обязательное.

Дополнительно есть кнопка — Обзор это как второй вариант, для добавления приложения в автозагрузку:



Добавление в автозагрузку через Tweaks / Доп.Настройки Gnome

Отличное системное приложение, которое позволяет выполнить много настроек в в системе в рамках одного приложение, это подобно системной замене ранее стороннего приложения Ubuntu Tweak.

Устанавливается легко, запускаете Ubuntu Software, в поиск вводит Tweaks и устанавливаем его. После первого запуска в левой колонке выберите пункт «Автозапуск«, далее нажмите по кнопке «+».

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