Автозагрузка программ в Linux используется для автозапуска определённых программ, скриптов и служб операционной системы. Как правило, это сервисы, которые пользователь или ОС используют чаще всего либо постоянно.
Необходимые системе службы запускаются автоматически. Службы, которые необходимы пользователю, нужно настроить вручную.
Может возникнуть обратная ситуация: программа или служба запускается автоматически, а пользователь хочет отключить её автоматический старт.
Утилита systemctl
В системах Linux управление службами можно осуществлять с помощью специальной команды systemctl.
systemctl — это командный инструмент, который используется для управления системой systemd в Linux. В свою очередь, systemd — это система инициализации и менеджер служб, который используется в большинстве дистрибутивов Linux для загрузки служб и управления ими во время работы системы.
systemctl позволяет управлять состоянием systemd и его службами. Вы можете использовать его, чтобы:
- Запустить, остановить или перезапустить службы
- Включить или отключить автоматический запуск служб при загрузке системы
- Проверить статус службы или весь системный статус
- Управлять монтированием файловых систем
- Управлять сеансами пользователя
Например, если у вас есть служба под названием my_service, вы можете использовать следующие команды для управления ею:
- Запустить службу: sudo systemctl start my_service
- Остановить службу: sudo systemctl stop my_service
- Перезапустить службу: sudo systemctl restart my_service
- Включить автоматический запуск службы при загрузке: sudo systemctl enable my_service
- Отключить автоматический запуск службы при загрузке: sudo systemctl disable my_service
- Проверить статус службы: systemctl status my_service
В целом, systemctl является мощным инструментом для управления службами и состоянием системы в Linux.
Настройка автозапуска в Linux
Все опции systemctl можно посмотреть в терминале, набрав команду вывода справки:
man systemctl
или
systemctl --help
Рассматривать все функции команды systemctl, в рамках данной статьи не будем. Ниже будет описан процесс поиска нужной службы, добавление её в автозагрузку или отключение автоматического старта.
Смотрим все имеющиеся службы и их статус, команда для исполнения в терминале:
systemctl list-unit-files
Чтоб посмотреть, уже добавленные, службы в автозагрузке используйте команду:
systemctl list-unit-files | grep enabled
Вы увидите список служб и справа её статус.
Enabled — загружается во время старта системы.
Disabled — автозагрузка отключена.
Находите необходимую вам службу и смотрите её статус.
Чтоб включить службу во время автозагрузки системы, используем команду:
sudo systemctl enable имя_службы
Чтоб отключить службу во время автозагрузки системы, используем команду:
sudo systemctl disable имя_службы
Запустить нужную службу немедленно, используем команду в терминале:
sudo systemctl start имя_службы
Остановить службу можно командой:
sudo systemctl stop имя_службы
Если хотите что-то добавить или поделиться своим опытом пишите в комментариях.
Всем Удачи!