Как поставить программу в автозапуск: Добавить приложение для автоматического запуска при начальной загрузке Windows 10

Содержание

Автозапуск

http://docs.kde.org/
 

Автозапуск

Anne-Marie Mahfouf


Перевод на русский язык: Илья Мерцалов

Перевод на русский язык: Олеся Герасименко
Рецензирование: Александр Яворский

Издание Plasma
5.20 (2021-04-05)


Содержание

Диспетчер автозапуска
Перенос конфигурации из рабочей среды KDE 4
Отключение файлов автозапуска, которые предоставляются платформой
Список файлов
Действия

Диспетчер автозапуска

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

Примечание

Все изменения, произведённые в этом модуле, сразу же вступают в силу.

Этот модуль просматривает папки $HOME/.config/autostart/ (приложения и сценарии входа), $HOME/.config/plasma-workspace/env (сценарии, которые выполняются до запуска) и $HOME/.config/plasma-workspace/shutdown (сценарии выхода), чтобы определить, какие программы и файлы сценариев уже находятся там, и отображает их список.

Сценарии входа представляют собой файлы .desktop с ключом X-KDE-AutostartScript=true. Перед ними выполняются сценарии, которые срабатывают до запуска Plasma™; с их помощью возможно задать переменные среды.

Примечание

Возможно изменить расположение папки Автозапуск на вкладке Приложения → Пути раздела Предпочтения пользователя программы «Параметры системы» и установить папку, отличную от $HOME/.config/autostart.

Сведения о настройке поведения системы при запуске сеанса Plasma™ доступны в разделах справки: Управление сеансами и Управление службами.

Некоторые приложения KDE содержат собственный функционал управления поведением при запуске. Например, приложение KAlarm позволяет включить или отключить автозапуск в диалоговом окне настройки параметров, а в приложениях Konversation и Kopete необходимо использовать пункт меню Файл → Выход, чтобы приложение не продолжало работу в системном лотке и не перезапускалось при следующем входе в систему.

Перенос конфигурации из рабочей среды KDE 4

Чтобы перенести пользовательскую конфигурацию из рабочей среды KDE 4 следует выполнить следующие действия:

Скопировать файлы .desktop из папки $HOME/.kde/Autostart в папку $HOME/.config/autostart;
Скопировать файлы сценариев, которые должны выполняться до запуска Plasma™, из папки $HOME/.kde/Autostart в папку $HOME/.config/plasma-workspace/env;
Скопировать файлы сценариев, которые должны выполняться при завершении работы Plasma™, из папки $HOME/.kde/Autostart в папку $HOME/. config/plasma-workspace/shutdown.

Отключение файлов автозапуска, которые предоставляются платформой

Чтобы корректно отключить элемент автозапуска (например, апплет принтера, если принтер используется только иногда), скопируйте соответствующий файл .desktop в свою личную папку автозапуска. Когда имена файлов совпадают, файл в папке $HOME/.config/autostart имеет приоритет над файлом .desktop в пакете по умолчанию. Добавьте в скопированный файл .desktop следующую строку:

Hidden=true

Список файлов

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

Значок

В этом столбце показан значок программы или сценария, запускаемого вместе с Plasma™. Для программы значок — это содержимое ключа «Icon» файла .desktop, а для сценария — просто значок по умолчанию.

Имя

В этом столбце показано имя программы или сценария, запускаемого вместе с Plasma™. Для программы имя — это содержимое ключа Name файла .desktop, а для сценария — просто имя файла.

Свойства…

Эта кнопка отображается только при наведении указателя мыши на элемент. Она (доступна только для программ и сценариев входа в систему, то есть файлов .desktop) позволяет изменять свойства программы или сценария. Диалог изменения содержит следующие категории свойств: основные, права доступа, предварительный просмотр (если доступно) и свойства, относящиеся к назначению программы или сценария входа в систему. Команда по умолчанию — это содержимое ключа Exec файла .desktop.

Для сценария выхода команда является путём к соответствующему файлу сценария, её нельзя изменить.

Удалить из списка

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

Действия

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

Добавить приложение…

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

После нажатия кнопки OK в диалоге свойств будет выполнено копирование файла .desktop программы в папку Autostart.

Добавить сценарий входа в систему…

Нажатие этой кнопки открывает диалог, в котором предлагается указать расположение сценария, который следует добавить. Для сценариев, настроенных для выполнения на стадии входа в систему, создаются соответствующие файлы . desktop в папке $HOME/.config/autostart. Эти сценарии будут запускаться во время запуска Plasma™.

Добавить сценарий выхода из системы…

Нажатие этой кнопки открывает диалог, в котором предлагается указать расположение сценария, который следует добавить. Сценарии, настроенные для выполнения на стадии выхода из системы, копируются в папку $HOME/.config/plasma-workspace/shutdown (либо для них создаётся символическая ссылка). Они будут запускаться во время завершения работы Plasma™, после выхода пользователя из системы.

Как добавить программу в автозагрузку Linux Astra через терминал?







admin




0 Комментариев
Автозагрузка, командная строка, Программы linux Astra

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

Большинство пользовательских программ, таких как torrent клиент (или яндекс браузер) можно добавить в автозагрузку через меню «Пуск»- «Панель управления». Знакомо, не правда ли?

Открыв оснастку мы увидим список программ. Недавно мы с вами делали скриншоты в linux и устанавливали для этого программу Shutter. Можно установить флажок напротив нее и тем самым, добавить ее в автозапуск:

Не все программы, установленные в Astra Linux попали в список Автозапуска. Например, торрент клиент. Как добавить торрент  в автозагрузку?

 

Первый способ — через меню автозапуска:

 Файлы устанавливаемых программ попадают в папки /bin. По сути  мы сейчас должны добавить команду на запуск:

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

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

смотреть список уже  запущенных служб можно так:

 systemctl list-unit-files | grep enabled 

Список неработающих служб  выводим так:

 systemctl list-unit-files | grep disabled 

Добавить службу в автоЗапуск  вместе с ситстемой можно так:

 systemctl enable «имя службы» 

Отключение запуска служб вместе с системой:

 systemctl disable «имя службы» 

Останов запущенной службы принудительно:

 systemctl start «имя службы» 

Запуск остановленной службы принудительно:

 systemctl stop»имя службы» 

Удаление программы из списка автозапуска в Linux Astra происходит легко и привычно:

  Можно достаточно гибко настраивать автозапуск, используя команду sleep. Очень простая в использовании и полезная вещь, когда требуется тонкая настройка.

Если вам нужно отсрочить запуск нужной программы — указываем число секунд ( минут m, часов h,  d дней) задержки:

Способов настройки автозапуска достаточно много. Можно настраивать его даже на уровне запуска ядра. Но это материал других статей, все это подробно мы еще изучим! Удачи!

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

В этом руководстве объясняется, как автоматически запускать программу, работающую на Raspberry Pi или другом компьютере с Linux.

Во-первых, зачем вам запускать программу или приложение автоматически? Уже существуют десятки или даже сотни программ или демонов, управляющих компьютером. Это может быть поддержание правильного времени на вашем компьютере, обработка запросов на печать, получение сетевых запросов, обработка графического интерфейса или даже запуск других программ в запланированное время. Если вам нравятся проекты производителя физических вычислений (в этом случае вы можете посмотреть мой список проектов производителя), то довольно часто требуется, чтобы они запускались автоматически, чтобы они могли запускать программу без необходимости взаимодействия с пользователем, или чтобы они запускают программу, с которой может взаимодействовать пользователь.

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

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

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

  • Серверные демоны/программы, работающие в фоновом режиме
    • Они будут запущены с помощью systemd
  • Графические приложения, работающие в XWindows (или других средах Windows)
    • Они будут запущены с помощью файла рабочего стола в папке автозапуска

Запуск файлов демона/программы с помощью запуска systemd

Начиная с кода сервера. На примере моего матричного RGB-дисплея.

Это матричный экран RGB, который установлен снаружи моего дома. В готовой версии Raspberry Pi полностью заключен в рамку для изображения, поэтому невозможно подключить экран и клавиатуру, не размонтировав всю установку.

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

Файл .service

Для этого требуется файл с расширением .service, который хранится в /etc/systemd/system. Файл называется matrix-display-images.service.

[Единица]
Description=Отображение изображений на матрице RGB
После=sshd.service

[Услуга]
ExecStart=/home/pi/matrix-display-images/matrix-display-images
Пользователь=корень

[Установить]
WantedBy=многопользовательская.цель
 

Это очень простой служебный файл с минимальными требованиями. Общие элементы конфигурации находятся в разделах [Unit] и [Install], а раздел [Service] содержит элементы, специфичные для запускаемой службы.

[Единица]

Описание=Отображение изображений на матрице RGB
Описание довольно очевидно по его имени, это читаемая пользователем строка, говорящая о том, что делает служба.

После=sshd.service
В инструкции «После» говорится, что это нужно запускать после запуска определенной службы. В этом случае я поставил его после службы sshd. В этом случае на самом деле не требуется, чтобы сначала запускалась служба sshd, но я не хотел, чтобы она запускалась до тех пор, пока сеть не будет доступна, поэтому это работает хорошо. Существуют различные инструкции, которые можно использовать, например, раньше (чтобы убедиться, что это запускается перед другой службой) и требуют, что создает более сильную зависимость от требований. После инструкции достаточно здесь.

[Сервис]

ExecStart=/home/pi/matrix-display-images/matrix-display-images
ExecStart используется для команды, которая выполняется. Вы должны ввести полный путь к исполняемому файлу, вы не можете предполагать, что вы будете в своем домашнем каталоге. На самом деле демон systemd будет работать как root, а не под вашим именем пользователя.

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

[Установить]

WantedBy=multi-user.target
Последняя строка — это WantedBy, которая используется для обеспечения того, чтобы это запускалось всякий раз, когда компьютер запускается в обычном режиме уровня пользователя. Использование multi-user.target означает, что это запустится перед графическим интерфейсом и фактически запустится, даже если графический интерфейс не запустится, например, безголовый режим, который устанавливает этот конкретный пользователь.

Установите для файла службы автозапуск

Измените файл, чтобы он принадлежал пользователю root
sudo chown root:root /etc/systemd/system/matrix-display-images.service

Сделайте файл исполняемым, запустив
sudo chmod 755 /etc/systemd/system/matrix-display-images. service

На этом этапе рекомендуется протестировать сценарий, а не ждать перезагрузки. Это делается с помощью:
sudo systemctl start matrix-display-images.service

Затем вы можете проверить его работу, используя:
sudo systemctl status matrix-display-images.service

Теперь вы можете включить запуск при загрузке с помощью systemtctl
sudo systemctl enable matrix-display-images.service

Другой пример матричных сообщений

Вот еще один пример, в котором используется файл .service. Это для программы Python, которая работает вместе с кодом matrix-display-images.

[Единица]
Description=Matrix Message отображает сообщения на матрице RGB
После=sshd.service

[Услуга]
Тип=простой
ExecStart=/home/pi/matrix-display-images/matrix-messages/matrix-messages.py
Пользователь=пи

[Установить]
WantedBy=многопользовательская.цель
 

Это похоже на предыдущий пример, но предназначено для работы от имени обычного пользователя pi, а не от root. Вы также увидите, что я включил Type=simple, но в любом случае это значение по умолчанию. Это просто означает, что программа будет считаться запущенной после запуска основного процесса. Это используется, когда ваша программа работает как единый процесс и не разветвляется (разделяется на несколько потоков).

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

Другие примеры использования Systemd

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

  • Роботы (с использованием веб-интерфейса)
  • Модель железнодорожной автоматики
  • Удаленный доступ с помощью TightVNC

Запуск приложения с графическим интерфейсом при запуске

Другой пример — запуск приложения после запуска XWindows. Это может быть полезно, если вы хотите запустить графическое приложение (например, написанное на Pygame/Pygame Zero) или если вы хотите иметь возможность использовать джойстик с помощью qjoypad.

Это руководство основано на LXDE, который используется в образе ОС Raspberry Pi, но он аналогичен для других сред рабочего стола. Это также предполагает, что у вас включен автоматический вход в систему, иначе он начнется, когда вы действительно войдете в систему.

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

Автоматический запуск веб-браузера Chromium

Начните с поиска чего-нибудь полезного. Как запускать веб-браузер Chromium при каждом запуске системы. Вы можете найти существующий файл рабочего стола для браузера Chromium, найдя значок в меню «Пуск», щелкнув правой кнопкой мыши и выбрав свойства. Он немного урезан, но вы можете найти его, перейдя по адресу /usr/share/applications . Вы можете открыть его в текстовом редакторе и посмотреть, как это работает.

Во-первых, есть много дополнительных записей для разных языков. Хотя они могут быть полезны для тех, кто не говорит по-английски, из-за них файл выглядит очень сложным, поэтому я начну с удаления этих записей. Это необходимо сделать для Name, GenericName и Comment. Я также собираюсь удалить все из строки Desktop Action NewWindow и ниже. Есть несколько разных разделов, но они действительно применимы только тогда, когда браузер уже запущен.

Оставшийся файл показан ниже:

[Вход на рабочий стол]
Версия=1.0
Имя = Веб-браузер Chromium
GenericName=Веб-браузер
Комментарий=Доступ в Интернет
Exec=Chromium-браузер %U
Терминал=ложь
X-MultipleArgs=false
Тип = Приложение
Значок = хром-браузер
Категории=Сеть;Веб-браузер;
MimeType=text/html;text/xml;application/xhtml_xml;x-схема-обработчик/http;x-схема-обработчик/https;
Уведомление о запуске=истина
Действия=НовоеОкно;Инкогнито;ВременныйПрофиль;
X-AppInstall-Package = хром-браузер
 

Это [Desktop Entry] , который соответствует спецификации Version=1. 0 . Обратите внимание, что номер версии здесь является спецификацией для записи рабочего стола, а не версией веб-браузера.

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

Запись Exec говорит, что должно быть выполнено. Здесь написано chromium-browser %U . Первая часть — это имя запускаемого исполняемого файла. Это просто использует имя chromium-browser. Пути нет, поэтому команда должна находиться в пути поиска, в данном случае в /usr/bin. Если вы запускаете собственную программу, которой нет в пути поиска, вы должны указать полный путь к исполняемому файлу. %U — это то, как URL-адреса могут быть отправлены в браузер, чтобы он открывал их напрямую. Использование заглавной буквы U означает, что каждая из записей (в данном случае URL-адреса) отправляется как отдельный аргумент.

Terminal=false используется, потому что это графическое приложение. Если вы хотите запустить программу командной строки в терминальной оболочке, вы должны использовать здесь true. Я не уверен насчет X-MultipleArgs ; похоже, что это расширение исходной спецификации, поэтому оно там не указано. Предположительно, это как-то связано с тем, как несколько аргументов отправляются в исполняемый файл браузера, и поэтому это не будет иметь значения для автозапуска.

Тип=Приложение определяет это как исполняемый файл. У него есть значок , который предназначен для… как вы уже догадались… значка для отображения. Категории определяет, в каких категориях он указан, т.е. в какое подменю он будет добавлен в меню «Пуск». MimeType определяет, какие типы файлов должна открывать программа.

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

Параметр Действия используется для добавления альтернативных опций в меню «Пуск», но в любом случае это не поддерживается в LXDE. Наконец, X-AppInstall-Package — это еще одно расширение спецификации, используемое для указания того, как программа устанавливается или удаляется.

Этот файл рабочего стола можно добавить в меню «Пуск», но его также можно использовать для автоматического запуска программы, сохранив его в каталоге /home/pi/.config/autostart . Если такого направления еще нет, то его необходимо создать.

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

Вы также можете изменить этот файл. Например, если вы хотите, чтобы браузер запускался с определенной веб-страницы, замените исполняемую строку на
chromium-browser --noerrdialogs --disable-infobars --kiosk http://www.penguintutor.com

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

Использование автозапуска для интерактивной электроники и роботов с помощью qjoypad

Другой пример: вы создали программу для взаимодействия с проектом электроники. Это может быть сделано для того, чтобы программа могла легко взаимодействовать с электроникой, чтобы пользователю было проще получить доступ к приложению после его включения, или, возможно, чтобы разрешить взаимодействие через что-то, что требует наличия графического интерфейса (например, джойстик). или джойстик с помощью qjoypad).

Если это просто приложение, которое будет работать в фоновом режиме, то это может быть лучше через systemd, но если программе необходимо иметь доступ через графический интерфейс (например, с помощью Pygame/Pygame Zero), тогда это будет способ справиться с этим. У вас не обязательно уже будет файл рабочего стола, поэтому здесь будет показан базовый файл запуска, который можно использовать. Я также покажу, как вы можете использовать это для запуска другой программы на примере qjoypad.

В этом примере я покажу, как вы можете автоматически запускать мой проект значка снеговика. Подробности проекта доступны в проекте носимых устройств Snowman Raspberry Pi. Он предназначен для использования в качестве значка, и к нему не прикреплен физический экран. Это означает, что он должен запускаться автоматически, но поскольку для управления им используется джойстик, его необходимо запускать в графическом интерфейсе. Поскольку необходимо было запустить в среде с графическим интерфейсом, я создал код с помощью Pygame Zero (хотя это также можно использовать, если программа работает в терминале, но может взаимодействовать с Qjoypad). В этом примере используется qjoypad, используемый для взаимодействия с нулевыми играми pygame. Сначала необходимо правильно настроить код снеговика и qjoypad, используя предыдущие ссылки.

Во-первых, я уже создал скрипт, который можно использовать для запуска как qjoypad, так и программы Snowman. Он находится на GitHub для Raspberry Pi Snowman Badge. Сценарий называется snowman.sh и содержит следующее.

#!/бин/баш

cd /home/pi//снеговик
qjoypad "снеговик" &
pgzrun снеговик.py
 

Сначала код переходит в соответствующий каталог. Затем он запускает qjoypad с файлом макета снеговика. Обратите внимание, что амперсанд (&) в конце обязателен, чтобы он работал в фоновом режиме. Затем файл snowman.py называется используемым pgzrun (Pygame Zero). Это делается исполняемым, и это сценарий, который будет вызываться либо из меню «Пуск», либо из автозапуска.

Причина запуска этого скрипта в том, что я всегда хочу, чтобы qjoypad запускался всякий раз, когда я запускаю игру (хотя его можно запустить с клавиатуры, он действительно предназначен для использования с джойстиком). Поэтому его можно добавить в меню «Пуск», и он всегда будет запускать qjoypad. При использовании его через автозапуск вы можете создать два отдельных файла автозапуска, но, поскольку я уже создал этот скрипт, я думаю, что лучше просто создать один файл .desktop. Обратите внимание, что если вы запустите программу несколько раз (например, если закроете одну, а затем запустите снова), то qjoypad будет вызываться несколько раз, однако qjoypad не допускает несколько экземпляров, поэтому он просто продолжит выполнение исходного. Если вы использовали этот метод для программы, которая может запускать несколько экземпляров, вам нужно знать об этом.

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

[Вход на рабочий стол]
Версия=1.0
Имя=Снеговик
Комментарий=Играть в снеговика
Exec=/home/pi/снеговик/snowman.sh
Тип = Приложение
Терминал=ложь
 

Включенные здесь команды — это все те, которые я уже объяснил на примере Chromium, но я использовал только небольшое подмножество этих команд. Сохраните это в /home/pi/.config/autostart как snowman.desktop, после чего он запустится автоматически, и вы сможете использовать джойстик в игре.

Тот же метод можно использовать для других программ, которым нужен qjoypad, например, для некоторых роботизированных проектов Raspberry Pi.

Планирование программ в cron и crontab

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

Как автоматически запускать программу при загрузке Linux

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

Современные системы Linux загружаются в systemd , в то время как более старые версии Linux используют System V init . В любом случае обе системы будут выполнять cron и rc.local перед загрузкой среды рабочего стола, например GNOME или KDE . Напротив, серверные Дистрибутивы Linux не загружают среду рабочего стола и вместо этого предоставляют запрос на вход в консоль. После входа в систему запускается оболочка по умолчанию, такая как Bash .

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

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

Чтобы настроить systemd для автоматического запуска программы во время запуска Linux , выполните следующие действия:

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

     $ sudo systemctl list-unit-files --type=service
    [sudo] пароль для пользователя:
    СОСТОЯНИЕ ФАЙЛА УСТРОЙСТВА
    учетные записи-daemon.service включен
    apparmor.service включен
    apport-autoreport.service статический
    [email protected] статический
    apport.service сгенерирован
    apt-daily-upgrade.service статический
    apt-daily.service статический
    atd.service включен
    [email protected] включен
    blk-availability.service включен
    bootlogd.service замаскирован
    bootlogs.service замаскирован
    bootmisc.service в маске
    checkfs.service замаскирован
    checkroot-bootclean.service замаскирован
    checkroot.service замаскирован
    облачный-config.service включен
    облачный-final.service включен
    cloud-init-local.service включен
    облако-init.service включено
    консоль-getty.service отключена
    ##### вырезано ##### 

    Вам нужно будет создать свой собственный модуль обслуживания , если это пользовательская программа или если ваша программа не поставляется с ним во время установки
    Связано: Создание и изменение файлов модулей systemd

  2. Проверьте, включен ли сервисный блок (необязательно).

     $ sudo systemctl включен mysql
    отключен 

    включен сервисный модуль выполняется во время загрузки

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

     $ sudo systemctl включить mysql
    Синхронизация состояния mysql.service со сценарием службы SysV с помощью /lib/systemd/systemd-sysv-install.
    Выполнение: /lib/systemd/systemd-sysv-install включить mysql
    Создал символическую ссылку /etc/systemd/system/multi-user.target.wants/mysql.service → /lib/systemd/system/mysql.service. 
  4. Подтвердите, включен ли сервисный блок (необязательно).

     $ sudo systemctl включен mysql
    включено 

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

cron — это демон , используемый для выполнения запланированных команд, хранящихся в таблице заданий cron (crontab), которая уникальна для каждого пользователя в системе. Он запускается во время загрузки системы либо через systemd , либо через System V init , и вы можете запланировать запуск своей программы во время загрузки системы, выполнив следующие действия:

  1. Открыть стандартный crontab 9Редактор 0237.

     $ crontab -e 

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

     $ кронтаб -е
    нет crontab для пользователя - используется пустой
    Выберите редактор. Чтобы изменить позже, запустите «select-editor».
      1. /bin/nano <---- самый простой
      2. /usr/bin/vim.basic
      3. /бин/ред.
    Выберите 1-3 [1]: 

    crontab будет создан для пользователя, выполняющего команду, и будет выполняться с использованием привилегий пользователя. Если вам нужно, чтобы ваша программа работала как пользователь root , запустите crontab -e от имени самого пользователя root .

  2. Добавьте строку, начинающуюся с @reboot .

     # m h dom mon dow команда
    @перезагрузка 

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

  3. После @reboot введите команду для запуска вашей программы.

     @reboot /sbin/ip-адрес | grep инет\ | хвост -n1 | awk '{ print $2 }' > /etc/issue && echo "" >> /etc/issue 

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

  4. Сохраните файл для установки в crontab .

     $ кронтаб -е
    crontab: установка нового crontab
    $ 

    Файл сохраняется в /var/spool/crontab/

  5. Проверьте правильную конфигурацию crontab (необязательно).

     $ кронтаб -л
    # m h dom mon dow команда
    @reboot /sbin/ip-адрес | grep инет\ | хвост -n1 | awk '{ print $2 }' > /etc/issue && echo "" >> /etc/issue 

Автоматический запуск программы при запуске Linux через rc.local

rc. local — это устаревший сценарий из системы System V init , который выполняется перед отображением экрана входа в систему для среды рабочего стола или приглашения входа в терминал. Обычно это сценарий оболочки Bash , способный выполнять любые команды.

Чтобы настроить сценарий rc.local , выполните следующие действия.

  1. Как корень , откройте или создайте файл /etc/rc.local с помощью предпочитаемого вами редактора, если он не существует.

     $ sudo vi /etc/rc.local 
  2. Добавьте код-заполнитель в файл.

     #!/бин/баш
    выход 0 

    Он должен начинаться с интерпретатора ( /bin/bash ) и заканчиваться кодом выхода ( 0 для успеха )

  3. При необходимости вставьте команды и логику.

     #!/бин/баш
    /sbin/ip-адрес | grep инет\ | хвост -n1 | awk '{напечатать $2}' > /etc/issue
    эхо "" >> /etc/выпуск
    выход 0 
  4. Сделать файл исполняемым.

     $ sudo chmod a+x /etc/rc.local 

    Файл будет выполняться от имени пользователя root во время загрузки системы.

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

GNOME — это среда рабочего стола по умолчанию для дистрибутивов Linux , таких как Ubuntu и Red Hat . Вы можете настроить GNOME для запуска программ при входе пользователя в систему, следуя инструкциям в связанной статье:

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

KDE — еще одна популярная среда рабочего стола Linux , используемая по умолчанию для Kubuntu и openSUSE . Его также можно настроить для запуска программ, когда пользователь входит в систему, как подробно описано в соответствующей статье:

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

Новая программа оболочки будет создана при запуске сеанса терминала. Bash является оболочкой по умолчанию для большинства дистрибутивов Linux , и при запуске он будет искать следующие файлы в конкретном запуске сеанса терминала, будет создана новая программа оболочки.

Читайте также: