Настройка автозапуска в Ubuntu

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

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

Это моя первая статья, если есть замечания прошу в комментарии.

Что такое inittab

По сути inittab представляет из себя файл в котором можно посмотреть/поменять уровень загрузки операционной системы в /etc/inittab. Давайте разберем его

В linux существуют 7 уровней загрузки операционной системы. В нашем случае нулевой уровень — это режим восстановления, первый — это запуск в одиночном режиме под root. 2-5 загрузка в мульти пользовательском режиме (т.е. обычный режим). Отличаются они лишь набором стартовых скриптов. 6 уровень это перезагрузка. Скрипты берутся из директорий, которые расписаны в inittab. Наша система по умолчанию загружается на 5 уровне, посмотрим что-же находится в директории /etc/init.d/rc 5:

Скрипты в этом каталоге выполняются каждый раз при старте системы. А если быть точнее это лишь символьные ссылки на сами скрипты. Первая буква означает S(start) K(kill или stop) для изменения порядка скриптов меняется цифра, т.е. запуск скриптов выполняется по возрастанию. Руками менять можно, но рекомендуется менять через «update-rc.d»

Все просто и прозрачно.

Что такое systemd

Systemd является заменой старой традиционной загрузки inittab. Был разработан чтобы обеспечить лучшую обработку зависимостей. В настоящее время systemd поставляется по умолчанию с популярными дистрибутивами linux таких как Fedora, Mandira, Arch Linux, CentOS 7, Red Hat 7.0 и на удивление для меня в Debian 8.9.

Плюсы и минусы в явном виде для меня не понятны. Интересен в первую очередь функционал. Итак разбираемся дальше. Две вещи, которые нам нужно знать:

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

Как правило graphical.target аналог 5 уровня, запуск системы в графическом режиме.
Чтобы посмотреть все доступные нам уровни, введем:

проведем аналогию c inittab

При старте системы linux смотрит в файл (который является ссылкой)

Таким образом чтобы загрузиться в многопользовательском режиме, нам нужно сменить ссылку или использовать 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.

Вывод: Тут должен быть вывод, но вместо него я вставлю кота

Всем спасибо, кто дочитал.

Список используемой литературы:

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

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

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

Многие наверное задумывались как добавить свое приложение в автозагрузку в дистрибутиве Ubuntu 16.04/15.04/15.10/14.10/14.04/13.10/13.04. Первым делом, что нам нужно чтобы добавить приложение в автозагрузку? Перейдем на боковую панель меню(лаунчер), и выберем первую иконку для открытия шторки в Dash и воспользуемся поиском чтобы найти ярлык приложения — Автоматически запускаемые приложения.

  • Далее запустим приложение — Автоматически запускаемые приложения(startup applications).

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

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

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

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





На этом все, если возникнут трудности спрашиваем.

Настройка автозапуска в Ubuntu

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

Автоматический старт

Автозагрузка в Ubuntu — такой же процесс, как и на других ОС. Вы, должно быть, помните и представляете, как на Windows при включении ПК сразу же запускались Skype, uTorrent и ещё ряд программ. На Убунту есть несколько программ, которые аналогичным образом включаются вместе с компьютером. Их список можно изменить, как вам удобно: удалить лишние или добавить ещё несколько.

Добавление процессов

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

  1. Открываем меню «Система», пункт «Параметры».
  2. Выбираем программу «Запускаемые приложения».
  3. В появившемся окне видим все утилиты, которые запускаются при старте системы.
  4. Жмём кнопку «Добавить» для добавления новой.

Жмём кнопку «Добавить» для добавления новой программы

Указываем значение команды

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

В Убунту есть также прекрасная возможность делать отсрочку включения — прямо как на современных духовых шкафах или мультиварках. Она делается с помощью введения небольшого дополнения к тексту команды. Которое выглядит следующим образом: «sleep 20;» (без кавычек). Вместо 20 можно вписать любое число, которое будет означать количество секунд, которые процесс «спит» перед тем, как запуститься. Таким образом вы можете дать системе время полностью загрузиться, после чего уже начнут включаться определённые сервисы или программы.

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

  1. Снова заходим в утилиту управления автозагрузкой.
  2. Находим те процессы, которые нам не нужны.
  3. Выделяем их, жмём «Удалить».

Теперь лишние процессы будут убраны из автозапуска Ubuntu. Лучше иметь там только самое необходимое.

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

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

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

В этой статье мы поговорим о том, как работает автозагрузка в Ubuntu, какие существуют способы автозагрузки в этой системе и как добавить туда программы.

АВТОЗАГРУЗКА В UBUNTU

Первым делом нужно сказать, что в Ubuntu существует несколько уровней автозагрузки. Я не буду говорить здесь про systemd и автозагрузку сервисов, так как уже рассматривал это в одной из первых статей. Программу или скрипт можно добавить в автозагрузку такими путями:

  • Утилита «Автоматически запускаемые приложения»;
  • Папка «Автозапуск»;
  • Файл rc.local;
  • Файл Xinitrc;

Мы рассмотрим первые два способа, поскольку два последние более рассчитаны на скрипты, а не программы. Сначала автозагрузка в Ubuntu с помощью стандартной утилиты.

Откройте меню системы и наберите «Авто» и откройте программу, которая будет первой в списке, Автоматически запускаемые приложения:

Здесь будут перечислены все приложения, которые сейчас запускаются автоматически. Чтобы добавить в автозагрузку ubuntu еще одно приложение, нажмите кнопку «Добавить»:

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

В команде можно указывать параметры, если это нужно. Еще можно заполнить поле «Описание», но это уже необязательно. Если вам нужна определенная программа из главного меню, но вы не знаете где ее найти и как пишется ее команда, можно посмотреть ее в том же меню. Но для этого нам нужно сначала установить утилиту «Главное меню» из центра приложений:

Дальше запустите утилиту и найдите в ней нужное приложение. Затем нажмите «Свойства»:

Здесь вам нужно обратить внимание на строку «Команда», скопируйте ее и можете использовать для автозагрузки.

Следующий способ — это папка автозагрузки. Она находится по адресу

/.config/autostart. По сути, это тот же самый способ, только он может выполняться без графического интерфейса. Когда вы настраиваете автозагрузку через приложение, то в этой папке создаются файлы настроек с именем desktop. Вот, например:

Напоминаю, что для того, чтобы посмотреть скрытые файлы нужно нажать сочетание клавиш Ctrl+H. Теперь попытаемся создать новый конфигурационный файл для еще одной программы. Вот таким будет его синтаксис:

[Desktop Entry]
Type = Application
Name = имя_нового_пункта
Exec = команда
Icon = полный_путь_к_иконке
Comment = комментарий
X-GNOME-Autostart-enabled = true

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

[Desktop Entry]
Type=Application
Name=VLC
Exec=vlc
Icon=/usr/share/icons/hicolor/16×16/apps/vlc.png
Comment=VLC Media Player
X-GNOME-Autostart-enabled=true

Готово, и самое интересное, что если вы откроете приложение автозагрузки. То там тоже появится этот пункт. Это такой способ настройки без графического интерфейса.

В этой небольшой статье мы рассмотрели как настраивается автозагрузка программ ubuntu различными способами — через графический интерфейс и терминал. Вы можете использовать эти знания, чтобы сделать работу в вашей системе более удобной. Даже несмотря на то, что Ubuntu перешла на Gnome, автозагрузка в ubuntu 16.04 и сейчас выглядят практически одинаково. Если у вас остались, вопросы, спрашивайте в комментариях!

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

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

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

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

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

    Пример добавления Transmission в автозагрузку в Линукс показан на скриншоте:
  5. Нажать кнопку «Добавить».

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

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

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

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

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

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

  • Открыть «Автоматически запускаемые приложения» и нажать «Добавить».
  • Ввести имя скрипта, а в качестве команды — полное название с путем до файла, например, /home/user/script.sh .
  • Кликнуть по «Добавить».
  • Есть другой, классический, но считающийся устаревшим способ настроить автозапуск скрипта в Ubuntu. Для его выполнения нужно:

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

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

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

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

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

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

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

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

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

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

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

    Заключение

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

    Как в Ubuntu вывести полный список автозагрузки?

    Операционная система Ubuntu была задумана разработчиками, как операционная система для обычного человека, который в компьютере знает только где его включить и где «Интернет запустить». Именно поэтому Canonical все больше и больше стремиться к какому-то упрощению. Наверное, хочет догнать и посоперничать с глупой простой MacOS.

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

    Уже давно они урезали список автоматически запускаемых приложений, которые стартуют вместе с запуском операционной системы. Но это можно очень просто исправить…

    По умолчанию показываются только пользовательское приложения, которые пользователь установил уже после установки. Но в операционной системе еще очень много мусора, который запускается при запуске и, которым вряд ли все пользуются. К таким мусорным приложениям можно отнести gwibber, empathy и другие.

    Для того, чтобы увидеть полный список автозагрузки в Ubuntu, необходимо исполнить 2 команды:
    команда №1:команда №2:

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

    Если Вам по какой-то причине нужно вернуть все назад, то команды будут вот такими:
    команда №1:команда №2

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

    P.S. Когда компьютер работает быстро, без лишних тормозов, можно заняться делом, которое приносит удовольствие или дополнительный доход. Для кого-то это продвижение в поисковых системах web-ресурсов, а для кого-то прокачка своего персонажа до 90 уровня. Каждый решает для себя сам.

    1. Lubuntu 14.03.3 опубликовал 16 Сентябрь 2015, 17:54 #

    После выполнения команды
    sudo sed —in-place ‘s/NoDisplay=true/NoDisplay=false/g’ *.desktop
    ничего не происходит.
    Версия Lubuntu 14.03.3

    LiveStreet

    Блог им. KungFux → Тонкая настройка автозагрузки в Ubuntu Server

    Целью данной статьи является ознакомление с принципами автозагрузки в операционной системе Ubuntu на примере Ubuntu Server 10.04 LTS, а также демонстрация настройки автозагрузки виртуальной машины, работающей под управлением VirtualBox, и корректное завершение работы последней в автоматическом режиме при выключении Ubuntu Server.

    Внимание! Описанный ниже пример не может быть применим к настройке автозагрузки графических приложений для конкретного пользователя системы в настольных версиях Ubuntu. Для этого используйте пункт «Запускаемые приложения» из главного меню Ubuntu.

    Что такое автозагрузка?
    В первую очередь, это автоматический запуск сервисов/приложений при старте операционной системы. Автозагрузка также может обеспечивать корректное завершение этих служб/приложений при выключении или перезагрузке системы.

    Организация автозагрузки в Ubuntu Server.
    Разумеется, для того, чтобы правильно запустить/остановить сервис, необходимо описать сценарий с командами для запуска/остановки. Взгляните на содержимое каталога /etc/init.d: он содержит скрипты, которые управляют загрузками/остановками сервисов на вашей машине. Итак, первый, но не последний пункт успешной настройки — это наличие скрипта в /etc/init.d. В скрипте не описывается, когда должен выполняться тот или иной сценарий. Он лишь может принимать параметры start, stop, restart и так далее. Откуда же Ubuntu знает, когда необходимо вызвать скрипт? Ответ кроется в каталогах /etc/rcN.d, где N – это цифра от 0 до 6. В этих каталогах хранятся символические ссылки на скрипты из /etc/init.d. Рассмотрим, что означает каждый каталог, и всё сразу станет понятно:
    — rc0.d – выполнение скрипта при выключении системы;
    — rc1.d – выполнение скрипта при запуске системы в однопользовательском режиме;
    — rc2.d – выполнение скрипта при запуске системы в многопользовательском режиме;
    — rc3.d – rc5.d – зарезервировано;
    — rc6.d – выполнение скрипта при перезагрузке системы.

    Например, если происходит перезагрузка, то будут выполнены все скрипты из каталога /etc/rc6.d, при выключении — из /etc/rc0.d и так далее. Цифра в названии каталога называется уровнем запуска. То есть каталог /etc/rc0.d будет называться нулевым уровнем запуска и так далее.
    Есть еще один немаловажный момент, который необходимо знать — это очередность выполнения скриптов из каталогов rcN.d. Ведь для правильной организации запуска/остановки работы Ubuntu может потребоваться запускать/останавливать сервисы в определенном порядке. Этот момент решается специальным именованием файлов в каталогах уровней запуска. Файлы имеют следующие имена: [S|K]NN[имя], где [S|K] — это один символ («S» означает, что скрипт запускает сервис, «K» – останавливает), NN – порядковый номер, [имя] – имя файла. Символ «S» или «K» самостоятельно выбирать не придется, так как все скрипты в каталогах rc1.d-rc5.d должны начинаться с символа «S», а в каталогах rc0.d и rc6.d – с символа «K». Число «NN» определяет очередность запуска скриптов, который производится от меньшего к большему. Чем меньше число у скрипта для запуска, тем раньше он будет запущен при старте системы; чем больше число у скрипта остановки сервиса, тем позже он будет выполнен.

    При необходимости запуска какой-либо службы или приложения до или после конкретного существующего сервиса просто подсмотрите его порядковый номер в соответствующей директории rcN.d и учитывайте при выборе порядкового номера для своего скрипта.

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

    При создании нового скрипта не забывайте давать ему права на выполнение. Чтобы добавить права на выполнение скрипту, используйте команду sudo chmod +x /etc/init.d/myscript

    Скрипт готов. Что дальше?
    В некоторых источниках встречаются рекомендации по созданию символических ссылок вручную при помощи команды ln, не смотря на существование специальных утилит. Перед добавлением скрипта утилита проверяет его на валидность, а команда ln создаст ссылку даже при наличие ошибок. Лучше отдать предпочтение специализированным утилитам, таким как update-rc.d, которая поставляется в комплекте с Ubuntu. С её помощью можно добавить новый скрипт в любой уровень загрузки, удалить существующий и так далее. Вот пример использования:

    Эта команда добавит новый скрипт «myscript» во все уровни загрузки. Будет выполнен запуск сервиса на уровнях со 2 по 5 с приоритетом 99 (в последнюю очередь) и остановка сервиса на 0, 1 и 6 уровнях с приоритетом 01 (самым первым).
    Чтобы удалить скрипт из автозагрузки, воспользуйтесь командой:

    Рассмотрим пример настройки автозагрузки.
    Задача: настроить автоматический запуск виртуальной машины, работающей под управлением VirtualBox, которая должна запускаться спустя две минуты после запуска операционной системы Ubuntu Server. При выключении или перезагрузке Ubuntu Server виртуальная машина должна корректно завершать свою работу.
    Предположим, что на Ubuntu Server установлен VirtualBox и существует виртуальная машина с именем «Slave», операционная система которой поддерживает возможность корректного завершения работы при нажатии кнопки выключения компьютера (поддержка ACPI).

    Для начала напишем скрипт, который будет располагаться в каталоге /etc/init.d:

    Отредактировав скрипт и оставив лишь минимально необходимое, получаем файл со следующим содержимым:

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

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

    В последней строке присутствует текст, который был выведен скриптом «slave».
    Более того, написанными скриптами для init.d можно пользоваться из терминала в любой момент времени. Например, для запуска виртуальной машины выполним команду:

    Как видно из примера, операционная система Ubuntu предоставляет богатые возможности для управления запуском/остановкой сервисов/программ. В скриптах автозагрузки можно описывать зависимости запускаемых/останавливаемых служб от других служб с помощью секций «Required-Start/Required-Stop», да и сам скрипт может быть любой сложности, что позволяет организовать даже самую «тонкую» автозагрузку.

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

    Как автоматически запускать программу при старте сервера? Без входа пользователя.

    Для начала, следует выяснить, какая из систем инициализации используется в вашем дистрибутиве. Это могут быть SysVInit, Systemd, Upstart, daemontools/runit/s6 или что-то более экзотическое.

    Если дистрибутив современный и популярный — в нём, скорее всего, будет использоваться Systemd. Если дистрибутив древний — то там будет SysVInit. Ну а между этими крайностями может происходить всё что угодно.

    Далее, следует искать способ сделать искомое уже в рамках вашей системы инициализации.

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

    Systemd, признак наличия — директория /etc/systemd и программа systemctl

    Для автозапуска программы на системе с systemd нужно создать unit-файл и положить его в директорию /etc/systemd/system/

    Имя файла будет идентификатором службы. Расширение у файла должно быть .service

    Здесь строка After=network.target означает, что службу нужно загружать только после того как сетевые подключения начнут работать. А WantedBy=multi-user.target означает, что служба должна загружаться при обычном старте сервера.

    Также тут предполагается, что программа после запуска просто начнёт работать, и будет работать пока пока не получит сигнал SIGTERM. Если программа должна поработать и перестать — надо ещё дописать в раздел [Service] настройку Type=oneshot . Ну а если программа — классический демон, то её надо прописывать Type=forking и настройки ExecStop , PIDFile

    За дополнительными настройками можно заглянуть в man systemd.unit , man systemd.service и man systemd.exec

    Теперь осталось включить службу: systemctl enable имя_службы и запустить её: systemctl start имя_службы .

    SysVInit, признак наличия — директории /etc/rc.d и /etc/init.d (последняя также может находиться по пути /etc/rc.d/init.d) и обязательное отсутствие признаков других систем инициализации

    Другие системы инициализации могут частично поддерживать sysvinit-скрипты, но нет смысла составлять новый sysvinit-скрипт если можно составить что-то другое.

    Тут проще всего добавить запуск вашей программы в файл rc.local:

    Но если её при этом нужно ещё и останавливать — придётся писать полноценный скрипт в директории /etc/init.d:

    Также могут понадобиться команды status, restart, reload и пр. Посмотрите как написаны остальные скрипты в папке /etc/init.d

    Если запускаемая программа не является демоном — придётся также найти и использовать обертку-демонизатор, вроде программы start-stop-daemon

    Не забудьте сделать скрипт исполняемым ( chmod +x /etc/init.d/имя )

    После создания нового скрипта в папке init.d нужно его включить, сделав жесткие ссылки в папке /etc/rc.d. Обычно они делаются вот так:

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

    Возможен и вариант что у вас настолько старый дистрибутив, что нужные ссылки придётся делать вручную. Это уже выходит за рамки ответа, гуглите структуру rc.d и уровни запуска

    Upstart, признаки — директория /etc/init

    Тут нужно составить конфиг и положить его в /etc/init

    runit, признаки — директории /etc/sv, /etc/runit и /etc/service (или /var/service)

    Нужно создать каталог /etc/sv/имя_службы, а в нём — файл исполняемый run:

    compizomania

    Азбука в Linux для начинающих и не только. Я знаю только то, что ничего не знаю, но другие не знают и этого. Сократ

    12 мая 2016

    Как отобразить скрытые и отредактировать автоматически запускаемые приложения в Ubuntu 16.04

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

    Иногда пользователи задаются вопросом: «Почему при первом входе Ubuntu, система грузилась намного быстрее чем по истечении времени?» На это влияет несколько факторов, в том числе и добавление автоматически запускаемых программ.
    Начиная с Ubuntu 12.04 в менеджере «Автоматически запускаемые приложения» теперь не отображаются службы для управления при старте с остальными приложениями, они скрыты от пользователя. Чтобы сделать их видимыми в менеджере, выполните следующую команду в терминале:

    sudo sed -i ‘s/NoDisplay=true/NoDisplay=false/g’ /etc/xdg/autostart/*.desktop

    Теперь откройте Автоматически запускаемые приложения (если приложение было открыто, перезапустите его). Сейчас отобразился полный список приложений запускаемых автоматически при старте системы, где вы можете отключить те, которые не используете. Например: Orca, Onboard, Общий доступ к личным файлам, Accessibility. и пр.

    Настройка автозапуска в Ubuntu

    15 май 2017, 20:18

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

    15 май 2017, 20:50

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

    16 май 2017, 20:12

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

    16 май 2017, 20:25

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

    16 май 2017, 20:28

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

    16 май 2017, 20:56

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

    17 май 2017, 11:11

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

    17 май 2017, 20:28

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

    18 май 2017, 07:56

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

    18 май 2017, 20:07

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

    19 май 2017, 08:34

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

    10 сен 2017, 16:05

    В Linux Mint 18.1 добавление приложения в автозапуск при загрузке ОС упрощено до предела.

    Для этого достаточно найти нужное приложение в Меню («кнопка» Меню слева внизу экрана), нажать на найденное приложение правой кнопкой мыши и из появившегося меню выбрать пункт «Запускать при входе в систему». Около этого пункта появится галочка, и на этом все труды заканчиваются: приложение будет запущено при запуске.

    Ссылка на основную публикацию