Как настроить автозапуск приложений и сервисов в Ubuntu
Убунту — красивая, удобная, а главное, полностью бесплатная операционная система, построенная на ядре Linux. Поэтому всё больше обладателей компьютеров становятся её пользователями. Если в их число попали и вы, то вам стоит, нет, не научиться — учиться там нечему — всего лишь понять и освоить основы управления. Например, как настроить автозапуск приложений и сервисов в Ubuntu.
Автоматический старт
Автозагрузка в Ubuntu — такой же процесс, как и на других ОС. Вы, должно быть, помните и представляете, как на Windows при включении ПК сразу же запускались Skype, uTorrent и ещё ряд программ. На Убунту есть несколько программ, которые аналогичным образом включаются вместе с компьютером. Их список можно изменить, как вам удобно: удалить лишние или добавить ещё несколько.
Добавление процессов
Добавить новый сервис, утилиту или команду в автозагрузку Ubuntu совсем не сложно. Делается это при помощи меню.
- Открываем меню «Система», пункт «Параметры».
- Выбираем программу «Запускаемые приложения».
- В появившемся окне видим все утилиты, которые запускаются при старте системы.
- Жмём кнопку «Добавить» для добавления новой.
Жмём кнопку «Добавить» для добавления новой программы
- Появляется заполняемое поле. Строки с названием и комментарием заполняем, используя свою фантазию. А вот «Команда» должна содержать набор символов для запуска процесса. Если нам они известны, просто вписываем, а если нет — шагаем дальше.
Заполняемое поле
- Ищем нужное приложение через редактор главного меню.
- Жмём кнопку свойства и копируем команду оттуда.
Нажимаем Свойства
- Вставляем её в нужное для автозапуска поле.
Указываем значение команды
Добавлять таким образом можно не только утилиты, но и просто сервисы. Только в верхней строчке нужно выбрать подходящий тип, если он есть, а также вписать нужную команду. Главное — знать её.
Отсрочка
В Убунту есть также прекрасная возможность делать отсрочку включения — прямо как на современных духовых шкафах или мультиварках. Она делается с помощью введения небольшого дополнения к тексту команды. Которое выглядит следующим образом: «sleep 20;» (без кавычек). Вместо 20 можно вписать любое число, которое будет означать количество секунд, которые процесс «спит» перед тем, как запуститься. Таким образом вы можете дать системе время полностью загрузиться, после чего уже начнут включаться определённые сервисы или программы.
Удаление
Если вы уже пробовали добавлять программы в автоматический старт, то понимаете, что и удалить их оттуда будет очень легко.
- Снова заходим в утилиту управления автозагрузкой.
- Находим те процессы, которые нам не нужны.
- Выделяем их, жмём «Удалить».
Теперь лишние процессы будут убраны из автозапуска Ubuntu. Лучше иметь там только самое необходимое.
Стоит понимать, что если добавить много приложений в автозагрузку Ubuntu, ОС будет загружаться гораздо медленнее. Поэтому лучше не перебарщивайте и правильно регулируйте настройки автоматического запуска. Функция действительно очень удобная и вместе с отсрочкой запуска даёт хороший инструмент для автоматического регулирования действий системы.
nastroyvse.ru
Автозагрузка сервисов в Ubuntu
Сервис в операционных системах семейства Unix — это программа, что выполняется в фоновом режиме и не имеет окон или других способов связи с пользователем. В этой статье мы не будем рассматривать особенностей строения и запуска сервисов, кому интересно можете посмотреть википедию. Автозагрузка сервисов в Ubuntu управляется системой инициализации Systemd. До недавнего времени в Ubuntu использовался UpStart, однако и этот дистрибутив не смог устоять перед натиском Systemd.
Список всех сервисов и их статус можно посмотреть с помощью утилиты systemctl, для этого наберите в терминале (Ctrl+Alt+T):
systemctl list-units --type=service
А чтобы посмотреть список сервисов, которые сейчас выполняются выполните:
systemctl list-units --type=service --state=running
Аналогичным образом можно посмотреть сервисы, которые уже добавлены в автозагрузку:
Добавить сервис в автозагрузку можно с помощью утилиты опции enable:
sudo systemctl enable имя_сервиса
Удалить сервис из автозагрузки можно указав опцию disable:
sudo systemctl disable имя_сервиса
Так как выполняются действия от суперпользователя система спросит пароль. Несмотря на то, что здесь рассматривается автозагрузка сервисов в Ubuntu, поскольку здесь используется systemd, все эти команды будут актуальны для всех дистрибутивов, использующих эту систему инициализации.
Оцените статью:
Загрузка…Автозапуск приложений в Linux
После запуска компьютера, как правило, нам приходится запускать некоторые программы. которыми мы пользуемся чаще всего. Также после запуска системы нам может понадобиться выполнить какие-либо специфичные действия, например, создать нужные файлы или установить некоторые параметры. Очень неудобно делать это вручную. Для решения таких задач существует автозагрузка.
В этой статье мы рассмотрим как работает автозагрузка Linux, как добавить программы автозагрузки, куда их будет более правильно добавить, а также какие виды автозагрузки бывают в этой операционной системы.
Как работает автозагрузка?
Чтобы понять как работает автозагрузка, сначала нужно вспомнить, что происходит во время процесса загрузки Linux. Как только ядро завершит свою инициализацию и будет готово к дальнейшей работе, оно передаст управление системе инициализации. Система инициализации — это основной процесс, именно он запускает все другие процессы в системе.
Есть процессы, которые система инициализации, например, systemd, запускает по умолчанию, но также вы можете настроить чтобы она запускала нужные вам процессы. Также многими дочерними процессами выполняются файлы скриптов или имеется та или иная возможность запускать необходимые вам программы. Такая возможность есть и у большинства окружений рабочего стола.
Рассмотрим основные уровни автозагрузки которые вы можете использовать:
- Автозагрузка на уровне ядра — вы можете указать любую программу, которая будет запускаться после старта ядра вместо системы инициализации;
- Автозагрузка системы инициализации — запуск основных системных сервисов, дополнительных сервисов, а также ваших скриптов на этапе инициализации системы;
- Автозагрузка rc.local — устаревший метод загрузки скриптов, выполняется перед запуском графического окружения;
- Автозагрузка менеджера входа — вы можете выполнять свои скрипты или команды после запуска менеджера входа, но перед запуском окружения;
- Автозагрузка X сервера — запуск нужных программ или скрпитов сразу после старта X сервера;
- Автозагрузка окружения — большинство окружений поддерживают автозагрузку программ, там даже можно настроить отложенный запуск и другие параметры;
- Автозагрузка bash — самый последний вариант — это автозагрузка на уровне отдельной командной оболочки, вы можете выполнять нужные команды автоматически, как только будет запущен терминал.
Дальше мы рассмотрим более подробно как использовать каждый из пунктов для автозагрузки программ, скриптов или выполнения команд в Linux.
Автозагрузка на уровне ядра
Автозагрузка на уровне ядра вряд ли будет вам очень полезной для повседневного применения, но я решил о ней упомянуть, поскольку такая возможность есть. С помощью параметра ядра init вы можете указать какую программу стоит запускать сразу после завершения инициализации ядра. Например, вы можете загрузить оболочку Bash вместо Systemd. Для этого достаточно подправить строку запуска ядра в конфигурационном файле Grub или во время запуска. Добавьте в конец параметр init:
$ sudo vi /boot/grub2/grub.cfg
linux /vmlinuz-4.8.0-22-generic root=/dev/mapper/systems-ubuntu ro quiet init=/bin/bash
Но, обычно, удобнее изменить это значение временно, в меню Grub. Читайте подробнее об этом в статье параметры ядра Linux. Так не выполняется автозагрузка программы linux, но, тем не менее, иногда может быть полезно.
Автозагрузка в системе инициализации
Чаще всего, когда говорится автозагрузка Linux, подразумевается именно автозагрузка сервисов с помощью системы инициализации. В systemd очень продвинутая система управления службами. Здесь поддерживается разрешение зависимостей, параллельный запуск, отсрочка запуска и перезапуск при ошибке. В терминологии Systemd все запускаемые программы представлены файлами юнитов, в каждом юните описаны параметры программы, ее исполняемый файл, а также дополнительные требования к запуску.
Для добавления или удаления служб из автозапуска используется команда systemctl. Чтобы добавить службу в автозапуск выполните:
$ sudo systemctl enable имя_службы
А чтобы отключить ее автозапуск linux:
$ sudo systemctl disable имя_службы
Например, если вы хотите добавить в автозагрузку Apache, то нужно выполнить:
$ sudo systemctl enable apache
Также вы можете проверить добавлена ли уже служба в автозагрузку:
$ sudo systemctl is-enabled httpd
Если вы не знаете точное имя файла сервиса, но знаете его первую букву, то можно использовать автодополнение, как и в любом другом месте терминала с помощью кнопки Tab:
Также вы можете посмотреть все сервисы, которые были добавлены в автозагрузку с помощью команды:
$ systemctl list-unit-files | grep enabled
Автозагрузка скриптов в Linux
Раньше было принято размещать все скрипты, которые запускаются по умолчанию в файле /etc/rc.local. Этот файл все еще существует, но это пережиток системы инициализации SysVinit и теперь он сохраняется только для совместимости. Скрипты же нужно загружать только с помощью Systemd.
Для этого достаточно создать простой юнит-файл и добавить его в автозагрузку, как любой другой сервис. Сначала создадим этот файл:
$ sudo vi /lib/systemd/system/runscript.service
[Unit]
Description=My Script Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/usr/bin/local/script.sh
[Install]
WantedBy=multi-user.target
В секции Unit мы даем краткое описание нашему файлу и говорим с помощью опции After, что нужно запускать этот скрипт в многопользовательском режиме (multi-user). Секция Service самая важная, здесь мы указываем тип сервиса — idle, это значит, что нужно просто запустить и забыть, вести наблюдение нет необходимости, а затем в параметре ExecStart
Осталось выставить правильные права:
$ sudo chmod 644 /lib/systemd/system/runscript.service
Затем обновить конфигурацию и добавить в автозагрузку Linux новый скрипт:
$ sudo systemctl daemon-reload
$ sudo systemctl enable myscript.service
После следующей перезагрузки этот скрипт будет запущен автоматически. Обратите внимание, что для каждого скрипта, который вы собираетесь запускать должны быть правильно выставлены права, а именно нужно установить флаг выполнения. Для этого используйте команду chmod:
$ sudo chmod u+x /usr/local/bin/script
В параметрах мы передаем утилите адрес файла скрипта. Исполняемость — это обязательный параметр для всех способов.
Автозагрузка X сервера
Часто, в легких окружениях рабочего стола и оконных менеджеров для автозагрузки программ используется автозагрузка на уровне X сервера. Все запускаемые, таким образом, скрипты будут стартовать после запуска X сервера. Чтобы настроить такую автозагрузку Linux вам будет достаточно добавить путь к нужному скрипту в файл ~/.xinitrc или /etc/X11/xinit/xinitrc. Синтаксис добавляемой строки таков:
exec путь_к_скрипту &
Если файла ~/.xinitrc еще не существует, то его нужно создать:
$ cp /etc/X11/xinit/xinitrc ~/.xinitrc
Затем, чтобы добавить в автозагрузку linux скрипт, отредактируйте файл так, как вам нужно. Например, будем запускать Firefox:
Готово. Осталось сохранить изменения. При следующем запуске X сервера сработает автозапуск Linux и выполняется эта команда. Таким же способом может выполняться автозапуск приложений linux.
Автозагрузка окружения рабочего стола
Такие мощные окружения рабочего стола как Gnome и KDE имеют свои приложения для автозагрузки. Например, в Gnome программа называется «Запускаемые автоматически приложения». Вы можете запустить ее из главного меню системы:
Здесь вы видите все программы, которые уже добавлены в автозагрузку. Вы можете отключить каждую из них просто сняв галочку.
Чтобы добавить новую программу или скрипт в автозагрузку нажмите кнопку «Добавить»:
Тут вам нужно заполнить три поля:
- Имя — произвольное имя для команды, по которому вы сможете ее найти;
- Команда — полный путь к исполняемому файлу программы;
- Комментарий — дополнительная информация, указывать необязательно.
Дальше нажмите «Добавить» ваша программа появится в списке. При следующей загрузке системы, будет выполняться автозагрузка программ linux.
Автозагрузка Bash
Самый простой автозапуск скрипта linux — это запуск с помощью bashrc. Ваш скрипт или команда будет выполняться каждый раз, когда запускается новая сессия терминала. Для этого добавьте адрес нужного скрипта в файл ~/.bashrc:
/usr/bin/local/script
export MYWAR=test
Здесь вы можете запускать на выполнение любые скрипты или команды. Часто такой подход используется для создания псевдонимов команд, объявления новых переменных и собственных функций.
В этой статье мы рассмотрели добавление в автозагрузку linux, а также как работает автозагрузка и ее виды.
ualinux.com
Ubuntu, CentOS: Автозагрузка — Убрать/Добавить Сервис в Linux
Очень часто возникает необходимость убрать или добавить какой-то сервис в автозагрузку в Linux.
Существую разные init
системы, но в Ubuntu и CentOS самыми распространенными являются SysV
, Upstart
и systemd
.
В зависимости от дистрибутива Linux, поведение сервиса во время загрузки системы может быть настроено с помощью команд systemctl
или chkconfig
.
В этом руководстве показано как убрать или добавить сервис в автозагрузку в самых популярных Linux дистрибутивах — Ubuntu и CentOS.
Дельный Совет: Хотите стать DevOps инженером? Тогда вы обязаны знать Git! Это статья поможет реально быстро освоить основы Git! Читать далее →
Ubuntu-18.04
Поддерживаемые релизы: Ubuntu-15.04, 15.10, 16.04, 16.10, 18.04.
systemd
— это менеджер системы и сервисов в операционной системе Linux.Сейчас он, по умолчанию, используется в большинстве Linux дистрибутивах и полностью поддерживается в Ubuntu-15.04 и последующих релизах.
Он поставляется с командной утилитой systemctl
, которая, помимо всего прочего, позволяет включать и выключать сервисы во время загрузки системы.
Узнать стоит ли сервис в автозагрузке:
$ systemctl is-enabled SERVICE
Убрать сервис из автозагрузки в Ubuntu-18.04:
$ sudo systemctl disable SERVICE
Добавить сервис в автозагрузку в Ubuntu-18.04:
$ sudo systemctl enable SERVICE
Ubuntu-14.04
Поддерживаемые релизы: Ubuntu-9.10, 10.04, 10.10, 11.04, 11.10, 12.04, 12.10, 13.04, 13.10, 14.04, 14.10.
Узнать стоит ли сервис в автозагрузке:
$ initctl show-config SERVICE
Убрать сервис из автозагрузки в Ubuntu-14.04:
$ echo manual | sudo tee /etc/init/SERVICE.override
Добавить сервис в автозагрузку в Ubuntu-14.04:
$ sudo rm /etc/init/SERVICE.override
CentOS-7
systemd
— это менеджер системы и сервисов в операционной системе Linux, который становится новым стандартом для Linux машин.В CentOS-7, он заменяет Upstart
в качестве init
системы по умолчанию.
systemd
поставляется с командной утилитой systemctl
, которая является центральной управляющей программной для systemd
, которая, помимо всего прочего, умеет включать и выключать сервисы во время загрузки системы.
Дельный Совет: Узнайте как выключить SELinux
временно или на постоянной основе! Читать далее →
Узнать стоит ли сервис в автозагрузке:
$ systemctl is-enabled SERVICE
Убрать сервис из автозагрузки в CentOS-7:
$ systemctl disable SERVICE
Добавить сервис в автозагрузку в CentOS-7:
$ systemctl enable SERVICE
CentOS-6
Дельный Совет: Узнайте как выключить iptables
в CentOS-6! Читать далее →
Узнать стоит ли сервис в автозагрузке:
$ chkconfig --list | grep SERVICE
Убрать сервис из автозагрузки в CentOS-6:
$ chkconfig SERVICE off
Добавить сервис в автозагрузку в CentOS-6:
$ chkconfig SERVICE on
www.shellhacks.com
Как отобразить скрытые приложения автозапуска в Ubuntu
В статье про удаление программ из автозапуска в Windows я уже говорил, что чем больше у вас программ запускается одновременно из запуском компьютера, тем дольше загрузка компьютера и происходит. В Ubuntu для управления автозапуском существует графическая утилита, которая так и называется «Автоматически запускаемые приложения». Но по умолчанию в ней отображается не полный список. При этом скрыты некоторые элементы, которые можно убрать из автозапуска без вреда для пользователя и системы. И в этой заметке я и хочу рассказать вам как отобразить скрытые приложения автозапуска в Ubuntu.
А делается это очень просто. Сначала давайте откроем «Автоматически запускаемые приложения» через меню Dash и посмотрим, что сейчас отображено в списке автозапуска. У меня, к примеру, вот такой список:
Чтобы отобразить скрытые приложения автозапуска в терминале вводим следующее:
Переходим в каталог autostart:
cd /etc/xdg/autostart/
И включаем отображение скрытых элементов автозапуска:
sed --in-place 's/NoDisplay=true/NoDisplay=false/g' *.desktop
Снова открываем «Автоматически запускаемые приложения» и можем увидеть длинный список приложений, служб и т.д.
Теперь можно отключить ненужное. Только осторожно, отключайте только то, что вы знаете, что это точно не навредит работе системы.
Если вам нужно будет снова вернуть отображение списка автозапуска к первоначальному состоянию, выполняем следующее:
cd /etc/xdg/autostart/
sudo sed --in-place 's/NoDisplay=false/NoDisplay=true/g' *.desktop
Вот видите, ничего сложного. Всем, до новых встреч!!
Предыдущая записьНе удалось получить доступ к файлу блокировки /var/lib/dpkg/lock Следующая запись
Как перезагрузить или выключить компьютер из терминала в Ubuntu
Метки UbuntuНастройка Linux
geekkies.in.ua
Автозапуск приложений | Русскоязычная документация по Ubuntu
Не секрет, что необходимость в автоматическом старте некоторых приложений возникает достаточно часто. Например, это нужно для различных IM клиентов, индикаторов, да и, если вы начинаете работу за компьютером с запуска браузера, то вполне логично было бы, чтобы он грузился сразу после старта системы.
В Ubuntu есть специальная программа для управления автозапуском. Называется она «Автоматически запускаемые приложения» и найти ее можно, набрав ее название в Dash:
Откройте её, появится список пользовательских приложений, запускаемых при старте системы. Он не содержит никаких системных программ и сервисов, только приложения, относящиеся к данному конкретному пользователю. Для добавления своей программы просто нажмите кнопку «Добавить»:
Поля «Имя» и «Описание» открывшегося окна заполняйте как угодно, а в поле «Команда» запишите собственно команду для запуска вашего приложения:
Если вы её не знаете, то воспользуйтесь кнопкой «Обзор», он даст вам доступ к файловой системе компьютера. Большинство приложений находятся в директории /usr/bin1). Выберите нужное вам:
Многие программы сами умеют добавляться в автозапуск, нужно просто выставить соответствующую «галочку» в настройках самой программы.
Вот и всё, опять всё просто и очевидно, не правда ли? Следующая тема также не отличается сложностью:
help.ubuntu.ru
Автозапуск приложений в Linux
После запуска компьютера, как правило, нам приходится запускать некоторые программы. которыми мы пользуемся чаще всего. Также после запуска системы нам может понадобиться выполнить какие-либо специфичные действия, например, создать нужные файлы или установить некоторые параметры. Очень неудобно делать это вручную. Для решения таких задач существует автозагрузка.
В этой статье мы рассмотрим как работает автозагрузка Linux, как добавить программы автозагрузки, куда их будет более правильно добавить, а также какие виды автозагрузки бывают в этой операционной системы.
Как работает автозагрузка?
Чтобы понять как работает автозагрузка, сначала нужно вспомнить, что происходит во время процесса загрузки Linux. Как только ядро завершит свою инициализацию и будет готово к дальнейшей работе, оно передаст управление системе инициализации. Система инициализации — это основной процесс, именно он запускает все другие процессы в системе.
Есть процессы, которые система инициализации, например, systemd, запускает по умолчанию, но также вы можете настроить чтобы она запускала нужные вам процессы. Также многими дочерними процессами выполняются файлы скриптов или имеется та или иная возможность запускать необходимые вам программы. Такая возможность есть и у большинства окружений рабочего стола.
Рассмотрим основные уровни автозагрузки которые вы можете использовать:
- Автозагрузка на уровне ядра — вы можете указать любую программу, которая будет запускаться после старта ядра вместо системы инициализации;
- Автозагрузка системы инициализации — запуск основных системных сервисов, дополнительных сервисов, а также ваших скриптов на этапе инициализации системы;
- Автозагрузка rc.local — устаревший метод загрузки скриптов, выполняется перед запуском графического окружения;
- Автозагрузка менеджера входа — вы можете выполнять свои скрипты или команды после запуска менеджера входа, но перед запуском окружения;
- Автозагрузка X сервера — запуск нужных программ или скрпитов сразу после старта X сервера;
- Автозагрузка окружения — большинство окружений поддерживают автозагрузку программ, там даже можно настроить отложенный запуск и другие параметры;
- Автозагрузка bash — самый последний вариант — это автозагрузка на уровне отдельной командной оболочки, вы можете выполнять нужные команды автоматически, как только будет запущен терминал.
Дальше мы рассмотрим более подробно как использовать каждый из пунктов для автозагрузки программ, скриптов или выполнения команд в Linux.
Автозагрузка на уровне ядра
Автозагрузка на уровне ядра вряд ли будет вам очень полезной для повседневного применения, но я решил о ней упомянуть, поскольку такая возможность есть. С помощью параметра ядра init вы можете указать какую программу стоит запускать сразу после завершения инициализации ядра. Например, вы можете загрузить оболочку Bash вместо Systemd. Для этого достаточно подправить строку запуска ядра в конфигурационном файле Grub или во время запуска. Добавьте в конец параметр init:
$ sudo vi /boot/grub2/grub.cfg
linux /vmlinuz-4.8.0-22-generic root=/dev/mapper/systems-ubuntu ro quiet init=/bin/bash
Но, обычно, удобнее изменить это значение временно, в меню Grub. Читайте подробнее об этом в статье параметры ядра Linux. Так не выполняется автозагрузка программы linux, но, тем не менее, иногда может быть полезно.
Автозагрузка в системе инициализации
Чаще всего, когда говорится автозагрузка Linux, подразумевается именно автозагрузка сервисов с помощью системы инициализации. В systemd очень продвинутая система управления службами. Здесь поддерживается разрешение зависимостей, параллельный запуск, отсрочка запуска и перезапуск при ошибке. В терминологии Systemd все запускаемые программы представлены файлами юнитов, в каждом юните описаны параметры программы, ее исполняемый файл, а также дополнительные требования к запуску.
Для добавления или удаления служб из автозапуска используется команда systemctl. Чтобы добавить службу в автозапуск выполните:
$ sudo systemctl enable имя_службы
А чтобы отключить ее автозапуск linux:
$ sudo systemctl disable имя_службы
Например, если вы хотите добавить в автозагрузку Apache, то нужно выполнить:
$ sudo systemctl enable apache
Также вы можете проверить добавлена ли уже служба в автозагрузку:
$ sudo systemctl is-enabled httpd
Если вы не знаете точное имя файла сервиса, но знаете его первую букву, то можно использовать автодополнение, как и в любом другом месте терминала с помощью кнопки Tab:
Также вы можете посмотреть все сервисы, которые были добавлены в автозагрузку с помощью команды:
$ systemctl list-unit-files | grep enabled
Автозагрузка скриптов в Linux
Раньше было принято размещать все скрипты, которые запускаются по умолчанию в файле /etc/rc.local. Этот файл все еще существует, но это пережиток системы инициализации SysVinit и теперь он сохраняется только для совместимости. Скрипты же нужно загружать только с помощью Systemd.
Для этого достаточно создать простой юнит-файл и добавить его в автозагрузку, как любой другой сервис. Сначала создадим этот файл:
$ sudo vi /lib/systemd/system/runscript.service
[Unit]
Description=My Script Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/usr/bin/local/script.sh
[Install]
WantedBy=multi-user.target
В секции Unit мы даем краткое описание нашему файлу и говорим с помощью опции After, что нужно запускать этот скрипт в многопользовательском режиме (multi-user). Секция Service самая важная, здесь мы указываем тип сервиса — idle, это значит, что нужно просто запустить и забыть, вести наблюдение нет необходимости, а затем в параметре ExecStart указываем полный путь к нашему скрипту.
Осталось выставить правильные права:
$ sudo chmod 644 /lib/systemd/system/runscript.service
Затем обновить конфигурацию и добавить в автозагрузку Linux новый скрипт:
$ sudo systemctl daemon-reload
$ sudo systemctl enable myscript.service
После следующей перезагрузки этот скрипт будет запущен автоматически. Обратите внимание, что для каждого скрипта, который вы собираетесь запускать должны быть правильно выставлены права, а именно нужно установить флаг выполнения. Для этого используйте команду chmod:
$ sudo chmod u+x /usr/local/bin/script
В параметрах мы передаем утилите адрес файла скрипта. Исполняемость — это обязательный параметр для всех способов.
Автозагрузка X сервера
Часто, в легких окружениях рабочего стола и оконных менеджеров для автозагрузки программ используется автозагрузка на уровне X сервера. Все запускаемые, таким образом, скрипты будут стартовать после запуска X сервера. Чтобы настроить такую автозагрузку Linux вам будет достаточно добавить путь к нужному скрипту в файл ~/.xinitrc или /etc/X11/xinit/xinitrc. Синтаксис добавляемой строки таков:
exec путь_к_скрипту &
Если файла ~/.xinitrc еще не существует, то его нужно создать:
$ cp /etc/X11/xinit/xinitrc ~/.xinitrc
Затем, чтобы добавить в автозагрузку linux скрипт, отредактируйте файл так, как вам нужно. Например, будем запускать Firefox:
Готово. Осталось сохранить изменения. При следующем запуске X сервера сработает автозапуск Linux и выполняется эта команда. Таким же способом может выполняться автозапуск приложений linux.
Автозагрузка окружения рабочего стола
Такие мощные окружения рабочего стола как Gnome и KDE имеют свои приложения для автозагрузки. Например, в Gnome программа называется «Запускаемые автоматически приложения». Вы можете запустить ее из главного меню системы:
Здесь вы видите все программы, которые уже добавлены в автозагрузку. Вы можете отключить каждую из них просто сняв галочку.
Чтобы добавить новую программу или скрипт в автозагрузку нажмите кнопку «Добавить»:
Тут вам нужно заполнить три поля:
- Имя — произвольное имя для команды, по которому вы сможете ее найти;
- Команда — полный путь к исполняемому файлу программы;
- Комментарий — дополнительная информация, указывать необязательно.
Дальше нажмите «Добавить» ваша программа появится в списке. При следующей загрузке системы, будет выполняться автозагрузка программ linux.
Автозагрузка Bash
Самый простой автозапуск скрипта linux — это запуск с помощью bashrc. Ваш скрипт или команда будет выполняться каждый раз, когда запускается новая сессия терминала. Для этого добавьте адрес нужного скрипта в файл ~/.bashrc:
/usr/bin/local/script
export MYWAR=test
Здесь вы можете запускать на выполнение любые скрипты или команды. Часто такой подход используется для создания псевдонимов команд, объявления новых переменных и собственных функций.
В этой статье мы рассмотрели добавление в автозагрузку linux, а также как работает автозагрузка и ее виды.
ualinux.com