Linux ubuntu one автозагрузка

Автозагрузка сервисов в Ubuntu

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

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

Управление автозагрузкой сервисов в Linux

Как было сказано ранее, сервисы, это обычные программы, которые выполняются в фоне и не связанны со стандартными потоками ввода и вывода. В Systemd настройки каждого сервиса находятся в отдельном файле, который хранится в файловой системе. Более подробно обо всём этом можно прочитать в статье Управление службами в Linux, а в этой статье сосредоточимся только на автозагрузке.

В Linux ещё со времен SysVInit существует понятие уровней загрузки (runlevel). Уровень загрузки определяет набор сервисов, которые должны быть запущены. В Systemd эти уровни загрузки тоже были реализованы в виде юнитов целей (target). Вот список уровней загрузки и соответствующие им цели:

  • Run level 0 (poweroff.target, runlevel0.target) — выключение компьютера.
  • Run level 1 (rescue.target, runlevel1.target) — режим восстановления.
  • Run level 3 (multi-user.target, runlevel3.target) — текстовый режим.
  • Run level 5 (graphical.target) — загрузка графического окружения.
  • Run level 6 (reboot.target, runlevel6.target) — перезагрузка системы.

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

При старте системы, если это рабочая станция с графическим окружением Systemd запускает все сервисы для multi-user.target и затем graphical.target. Для серверов без графического окружения запускается только multi-user.target, а теперь давайте более подробно рассмотрим всё на практике.

1. Список сервисов добавленных автозагрузку

Если вам нужно знать какие сервисы на данный момент добавлены в автозагрузку используйте команду list-unit-files с фильтром по состоянию:

systemctl list-unit-files —type=service —state=enabled

2. Проверка состояния

Для того чтобы проверить находится ли сервис уже в автозагрузке используйте команду is-enabled. Например:

sudo systemctl is-enabled nginx

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

sudo systemctl status nginx

В строчке Loaded после пути к файлу юнита указано состояние автозагрузки disabled, enabled или static. Сервисы отмеченные как static запускаются автоматически и их автозагрузка не может быть отключена.

Читайте также:  How to install google chrome arch linux

3. Добавление в автозагрузку

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

sudo systemctl enable имя_сервиса

Например, для того чтобы добавить в автозагрзку веб-сервер Nginx используйте такую команду:

sudo systemctl enable nginx

Если сервис ещё не запущен, то вы можете комбинировать команду enable с опцией —now для того чтобы запустить его прямо сейчас:

sudo systemctl enable —now nginx

Большинство системных сервисов, в том числе Nginx загружаются при уровне загрузки 3 (multi-user.target). Вы можете убедится, что в папке /etc/systemd/system/multi-user.target.wants есть ссылка на этот юнит:

ls -l /etc/systemd/system/multi-user.target.wants | grep nginx

4. Удаление из автозагрузки

Удалить сервис из автозагрузки можно, указав опцию disable:

sudo systemctl disable имя_сервиса

Автозагрузка сервисов пользователя Linux

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

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

systemctl list-unit-files —user —type=service —state=enabled

Для добавления сервиса в автоазгрузку используйте команду enable с опцией —user. Например для добавления pipewire в автозагрузку выполните:

systemctl enable —user pipewire

Аналогично всё будет работать для отключения автозагрузки:

systemctl disable —user pipewire

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

sudo loginctl enable-linger имя_пользователя

Например если имя пользователя sergiy:

sudo loginctl enable-linger sergiy

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

sudo systemctl —user —machine=sergiy@ status pipewire —no-pager

Выводы

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

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

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

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

Читайте также:  Открыть все порты kali linux

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

Этот последний уровень для начинающих осваивать Linux пользователей является наиболее удобным. Добавим для примера в автозагрузки Ubuntu браузер Firefox .

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

Ubuntu поиск

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

Добавить

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

Bin

Исполняемые файлы пользовательских приложений в Linux копируются в папку /usr/bin , а если программа запускается с правами администратора, то в папку /usr/sbin . Если вы не нашли в них своей программы, поищите ее в папке /usr/opt , иногда разработчики прописывают в программе этот путь установки.

Добавить программу

Поле «Описание» заполнять необязательно.

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

Всё, жмем «Добавить» и программа окажется в автозагрузке.

Второй способ добавить программу в автозагрузку — создать в папке ~/.config/autostart конфигурационный файл desktop . Вот как, к примеру, выглядит содержимое файла автозапуска только что добавленной нами в автозагрузку Firefox.

Autostart

Папка «.config» располагается в каталоге Home и является скрытой, чтобы ее показать, нажмите Ctrl + H . В папке autostart создайте пустой документ.

Пустой документ

Откройте его текстовым редактором и вставьте в него набор команд, указанный на скриншоте.

Набор команд

Это минимальный набор параметров.

В нашем примере в автозагрузку добавляется текстовый редактор leafpad , его название мы указываем в параметрах Name и Exec. Осталось только переименовать файл в name.desktop , где name — название программы.

Файл leafpad

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

Программы, запускаемые при старте

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

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

Источник

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

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

  1. Откройте Запуск приложений через Действия . Или можете нажать Alt + F2 и выполнить команду gnome-session-properties .
  2. Щёлкните Добавить и введите команду, которая будет выполняться при входе (наименование и описание необязательны к заполнению). Например, чтобы запускать Firefox автоматически, необходимо ввести firefox в строке Команда и нажать кнопку Добавить .
Читайте также:  Intel rst driver linux

Вы можете ввести команду или щёлкнуть на кнопке Обзор. и выбрать команду. Автоматически запускаемые приложения обычно располагаются в папке /usr/bin .

Дополнительная информация

  • Настройки пользователя и системы — От контроля оборудования до настроек конфиденциальности — заставьте GNOME работать на вас.
  • Приложения и окна

You can choose the displayed language by adding a language suffix to the web address so it ends with e.g. .html.en or .html.de.
If the web address has no language suffix, the preferred language specified in your web browser’s settings is used. For your convenience:
[ Change to English Language | Change to Browser’s Preferred Language ]

The material in this document is available under a free license, see Legal for details.
For information on contributing see the Ubuntu Documentation Team wiki page. To report errors in this documentation, file a bug.

Источник

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

Рассмотрим два варианта автозагрузки программ или скриптов в Ubuntu. Через графический интерфейс и с использованием файла rc.local. В предыдущих версиях автозагрузка в Ubuntu работала именно через файл rc.local, однако в последних версиях её отключили. Мы включим данную возможность.

Автозагрузка через графический интерфейс

Автозагрузка через графический интерфейс настраивается в приложении Startup Application. Заходим в приложения (пункт 1) и запускаем Startup Application (пункт 2)

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

Нажимаем Add для добавления программы в автозагрузку. Пишем название программы и указываем путь к ней. Для теста я добавил в автозагрузку игру mahjongg.

Нажимаем Save и перезагружаем компьютер. Игра Mahjongg должна запуститься при входе в систему.

Как включить rc.local

Добавляем в него содержимое:

#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. exit 0

Включение rc.local в автозагрузку

sudo systemctl enable rc-local

Теперь добавляем свой скрипт либо сервис до строчки exit 0 . Я для теста добавлю команду создания папки в директории tmp

Сохраняем файл и перезагружаемся. При старте системы будет создана папка testdir в /tmp/

Про автозагрузку в Ubuntu я записал видео с примерами по каждому из способов.

Конечно, с одной стороны, включение rc.local позволяет быстро настроить автозагрузку в Ubuntu, но разработчики посчитали этот инструмент устаревшим. На нашем сайте есть статья по добавлению программы или скрипта в автозагрузку с помощью systemd. Автозагрузка в Ubuntu также возможна с использованием cron, но об этом уже в другой статье.

Источник

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