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

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

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

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

Как работает автозагрузка?

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

Рассмотрим основные уровни автозагрузки которые вы можете использовать:

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

Snimok ekrana iz 2017 02 23 18 20 08

Но, обычно, удобнее изменить это значение временно, в меню Grub. Читайте подробнее об этом в статье параметры ядра Linux. Так не выполняется автозагрузка программы linux, но, тем не менее, иногда может быть полезно.

Автозагрузка в системе инициализации

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

Для добавления или удаления служб из автозапуска используется команда systemctl. Чтобы добавить службу в автозапуск выполните:

sudo systemctl enable имя_службы

А чтобы отключить ее автозапуск linux:

sudo systemctl disable имя_службы

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

sudo systemctl enable apache

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

sudo systemctl is-enabled httpd

Snimok ekrana iz 2017 02 23 18 20 48

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

Snimok ekrana iz 2017 02 23 18 25 24

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

systemctl list-unit-files | grep enabled

Snimok ekrana iz 2017 02 23 18 22 41

Автозагрузка скриптов в 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

Осталось выставить правильные права:

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 еще не существует, то его нужно создать:

Затем, чтобы добавить в автозагрузку linux скрипт, отредактируйте файл так, как вам нужно. Например, будем запускать Firefox:

Snimok ekrana iz 2017 02 23 19 05 49

Готово. Осталось сохранить изменения. При следующем запуске X сервера сработает автозапуск Linux и выполняется эта команда. Таким же способом может выполняться автозапуск приложений linux.

Автозагрузка окружения рабочего стола

Такие мощные окружения рабочего стола как Gnome и KDE имеют свои приложения для автозагрузки. Например, в Gnome программа называется «Запускаемые автоматически приложения». Вы можете запустить ее из главного меню системы:

Snimok ekrana iz 2017 02 23 19 10 00

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

Snimok ekrana iz 2017 02 23 20 00 33

Чтобы добавить новую программу или скрипт в автозагрузку нажмите кнопку «Добавить»:

Snimok ekrana iz 2017 02 23 19 14 59

Тут вам нужно заполнить три поля:

Snimok ekrana iz 2017 02 23 19 17 35Дальше нажмите «Добавить» ваша программа появится в списке. При следующей загрузке системы, будет выполняться автозагрузка программ linux.

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

/usr/bin/local/script
export MYWAR=test

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

Выводы

В этой статье мы рассмотрели добавление в автозагрузку linux, а также как работает автозагрузка и ее виды. Конечно, существует множество других файлов, куда бы вы могли пристроить свой скрипт, но это будет неправильно. Нужно использовать только предназначенные для этого методы, хотя бы потому, чтобы потом не забыть. Если у вас остались вопросы, спрашивайте в комментариях!

Источник

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

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

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

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

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

В данном примере описывается как добавить в автозагрузку nginx? По аналогичностьи добавляем и другие программы! Для начало нужно задать права на исполнение файла:

chmod +x /etc/init.d/nginx

После записываем в автозагрузку:

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

Творим файл в /etc/init.d/

sudo nano /etc/init.d/

В начало скрипта нужно добавить:

Ставим права на исполнение /etc/init.d/local :

sudo chmod +x /etc/init.d/local

Добавляем script /etc/init.d/local в автозапуск:

sudo update-rc.d local defaults 80

Теперь можно дополнять в наш скрипт local команды, которые должны быть выполнены при запуске системы.

Источник

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

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

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

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

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

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

Читайте также:  где в виндовс 10 локальная политика безопасности

autostartubuntu

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

autostartubuntu1

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

autostartubuntu2

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

autostartubuntu3

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

autostartubuntu4

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

autostartubuntu5

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

autostartubuntu6

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

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

autostartubuntu7

Напоминаю, что для того, чтобы посмотреть скрытые файлы нужно нажать сочетание клавиш 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

autostartubuntu8

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

ВЫВОДЫ

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

Источник

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

autoloadlinux

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

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

6066162 1

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

6066162 2

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

6066162 3

6066162 4

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

6066162 5

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

Второй способ добавить программу в автозагрузку — создать в папке

6066162 6

6066162 7

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

6066162 8

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

6066162 9

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

6066162 10

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

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

errappstart

16bitwindows

dpi

recently

Источник

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

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

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

Читайте также:  как переустановить python linux

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Поделиться с друзьями
Adblock
detector