Как поставить программу в автозапуск: Добавить приложение для автоматического запуска при начальной загрузке 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 , выполните следующие действия:
- Проверьте, существует ли сервисный блок для вашей программы (необязательно).
$ 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 - Проверьте, включен ли сервисный блок (необязательно).
$ sudo systemctl включен mysql отключен
включен сервисный модуль выполняется во время загрузки
- Включить блок обслуживания для выполнения во время запуска.
$ 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.
- Подтвердите, включен ли сервисный блок (необязательно).
$ sudo systemctl включен mysql включено
Автоматический запуск программы при запуске Linux через cron
cron — это демон , используемый для выполнения запланированных команд, хранящихся в таблице заданий cron (crontab), которая уникальна для каждого пользователя в системе. Он запускается во время загрузки системы либо через systemd , либо через System V init , и вы можете запланировать запуск своей программы во время загрузки системы, выполнив следующие действия:
- Открыть стандартный 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 .
- Добавьте строку, начинающуюся с @reboot .
# m h dom mon dow команда @перезагрузка
@reboot определяет задание, которое будет выполняться во время загрузки системы.
- После @reboot введите команду для запуска вашей программы.
@reboot /sbin/ip-адрес | grep инет\ | хвост -n1 | awk '{ print $2 }' > /etc/issue && echo "" >> /etc/issue
По возможности используйте полный путь к своим программам и пишите команды в одну строку.
- Сохраните файл для установки в crontab .
$ кронтаб -е crontab: установка нового crontab $
Файл сохраняется в /var/spool/crontab/
- Проверьте правильную конфигурацию 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 , выполните следующие действия.
- Как корень , откройте или создайте файл /etc/rc.local с помощью предпочитаемого вами редактора, если он не существует.
$ sudo vi /etc/rc.local
- Добавьте код-заполнитель в файл.
#!/бин/баш выход 0
Он должен начинаться с интерпретатора ( /bin/bash ) и заканчиваться кодом выхода ( 0 для успеха )
- При необходимости вставьте команды и логику.
#!/бин/баш /sbin/ip-адрес | grep инет\ | хвост -n1 | awk '{напечатать $2}' > /etc/issue эхо "" >> /etc/выпуск выход 0
- Сделать файл исполняемым.
$ sudo chmod a+x /etc/rc.local
Файл будет выполняться от имени пользователя root во время загрузки системы.
Автоматический запуск программы при запуске GNOME
GNOME — это среда рабочего стола по умолчанию для дистрибутивов Linux , таких как Ubuntu и Red Hat . Вы можете настроить GNOME для запуска программ при входе пользователя в систему, следуя инструкциям в связанной статье:
Автоматический запуск программы при запуске KDE
KDE — еще одна популярная среда рабочего стола Linux , используемая по умолчанию для Kubuntu и openSUSE . Его также можно настроить для запуска программ, когда пользователь входит в систему, как подробно описано в соответствующей статье:
Автоматический запуск программы в новом сеансе Bash
Новая программа оболочки будет создана при запуске сеанса терминала. Bash является оболочкой по умолчанию для большинства дистрибутивов Linux , и при запуске он будет искать следующие файлы в конкретном запуске сеанса терминала, будет создана новая программа оболочки.