Linux как сделать автозапуск программы

toadmin.ru

Автоматическое открытие приложений при входе в Gnome Shell — отличный способ заранее настроить рабочее пространство. Самый простой способ автозапуска программ в Gnome Shell — использовать приложение Tweaks.

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

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

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

Установить твики

Установить приложение Tweaks довольно просто в большинстве дистрибутивов Linux. Более того, из-за популярности Gnome среди пользователей Linux, даже в малоизвестных и относительно неизвестных операционных системах он есть в своих репозиториях программного обеспечения. Чтобы он заработал, запустите сеанс терминала, нажав Ctrl + Alt + T на клавиатуре. Оттуда следуйте инструкциям командной строки, которые соответствуют вашей ОС.

4. Автозагрузка в Linux (bash). Как настроить автозагрузку, если ты отключил графическую оболочку.

Ubuntu

sudo apt install gnome-tweak-tool

Debian

sudo apt-get install gnome-tweak-tool

Arch Linux

sudo pacman -S gnome-tweak-tool

Fedora

Fedora Linux — одна из немногих операционных систем Linux, которые поставляются с полной функциональностью Gnome, поэтому вполне вероятно, что приложение Tweaks предустановлено. Тем не менее, если вам нужно заставить его работать, это просто команда Dnf.

sudo dnf install gnome-tweak-tool

OpenSUSE

sudo zypper install gnome-tweak-tool

Общий Linux

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

Если по какой-то причине у вас возникли проблемы, запустите терминал и выполните поиск по запросу «gnome tweaks». Затем установите его так, как вы обычно устанавливаете программное обеспечение в своей ОС.

Программы автозагрузки

Когда приложение Tweaks запущено и работает в вашей операционной системе Linux, пора создать загрузочную запись в Gnome Shell. Для этого нажмите Win на клавиатуре. Затем введите «Твики». Щелкните значок с надписью «Настройки», чтобы открыть приложение. Оттуда найдите «Автозагрузку приложений» слева и щелкните по нему мышью.

В области «Запуск приложений» в настройках щелкните значок +. Откроется меню выбора.

Читайте также:
Как поменять язык в программе adobe acrobat reader dc

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

Научись Linux: запуск собственных скриптов (эпизод 12)

Готово добавить запускаемые приложения в Gnome? Закройте настройки, чтобы закончить.

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

Удалить запись запуска в Gnome Shell так же просто, как добавить ее. Для этого убедитесь, что у вас открыто приложение Tweaks. После открытия перейдите в раздел «Запуск приложений».

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

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

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

Приложение Tweaks — не единственный способ создавать записи автозагрузки в Gnome Shell. Если вы предпочитаете терминал, вы можете делать записи в папке «~ / .config / autostart /» с помощью команды cp.

Чтобы создать загрузочную запись из командной строки, вы должны переместить терминал из домашнего каталога (~) в папку «/ usr / share / applications /».

cd /usr/share/applications/

Запустите команду ls и посмотрите список ярлыков приложений в каталоге.

Не можете найти нужную программу в списке файлов на экране? Объедините команду ls с grep, чтобы сузить список.

ls | grep ‘programname’

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

mkdir -p ~/.config/autostart/ cp programname.desktop ~/.config/autostart/

После создания новой записи запуска в папке автозапуска обновите права доступа к файлу, чтобы Gnome Shell могла правильно с ним взаимодействовать.

sudo chmod +x ~/.config/autostart/programname.desktop

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

Удаление программ автозапуска через терминал

Чтобы удалить запись запуска из терминала в Gnome Shell, переместите командную строку в папку автозапуска, используя команду CD ниже.

cd ~/.config/autostart

Затем запустите команду ls и посмотрите записи автозагрузки в папке.

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

rm programname.desktop

Источник: toadmin.ru

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

thumb

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

Читайте также:
Как записать видео с экрана ноутбука без программ

Я буду показывать на примере сервиса для синхронизации файлов btsync (BitTorrent Sync).

Управление автозагрузкой с помощью sysv-rc-conf

Для управления автозагрузкой я предпочитаю пользоваться программой sysv-rc-conf .

Устанавливаем sysv-rc-conf если ещё не установлена:

sudo apt-get install sysv-rc-conf
sudo sysv-rc-conf

Изменяем параметры на нужные:

btsync [][x][x][x][x][][][]

Находим в списке демон параметры автозагрузки которого необходимо изменить. Например btsync и отмечаем крестиками 2 , 3 , 4 и 5 уровни, что соответствует параметрам автозапуска по дефолту. Если нужно отключить автозагрузку демона, тогда убираем все крестики. Отмечаем нажимая пробел.

Настройка автоматически применяется. Для выхода нажимаем q .

Вот так просто решается вопрос управления параметрами автозагрузки демонов.

Создание скрипта инициализации (простой)

Создаём файл (service init script) /etc/init.d/btsync :

sudo nano /etc/init.d/btsync

со следующим содержимым:

#!/bin/sh ### BEGIN INIT INFO # Provides: btsync # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start btsync at boot time # Description: Enable BitTorrent Sync service. ### END INIT INFO /usr/local/bin/btsync —config ~/.btsync.conf

Дадим права на исполнение:

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

Обновляем ссылки на сценарии инициализации стиля System-V :

sudo update-rc.d btsync defaults

А теперь протестируем:

sudo service btsync start

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

Создание скрипта инициализации (полноценный)

За основу берётся init-скрипт /etc/init.d/skeleton , по этому копируем его с новым именем соотвествующим имени демона, а точнее самого бинарника, а не его коммерческое название.

sudo cp /etc/init.d/skeleton /etc/init.d/btsync

Правим файл /etc/init.d/btsync :

sudo nano /etc/init.d/btsync

Нас интересует только эта часть скрипта:

#! /bin/sh ### BEGIN INIT INFO # Provides: skeleton # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Example initscript # Description: This file should be used to construct scripts to be # placed in /etc/init.d. ### END INIT INFO # Author: Foo Bar # # Please remove the «Author» lines above and replace them # with your own name if you copy and modify this script. # Do NOT «set -e» # PATH should only include /usr/* if it runs after the mountnfs.sh script PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC=»Description of the service» NAME=daemonexecutablename DAEMON=/usr/sbin/$NAME DAEMON_ARGS=»—options args» PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME

В которой мы должны подправить строки исходя из моих комментариев:

# Provides: (Название демона) # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: (Уровни загрузки) # Default-Stop: (Уровни остановки) # Short-Description: ( Описание того, что делает скрипт) # Description: (Описание, что запускается) # Author: (Ваше имя, фамилия и email) PATH=/sbin:/usr/sbin:/bin:/usr/bin (Пути поиска бинарника) DESC=»Description of the service» (Описание сервиса) NAME=daemonexecutablename (Имя бинарника) DAEMON=/usr/sbin/$NAME (Путь до демона) DAEMON_ARGS=»—options args» (Параметры для запуска демона) PIDFILE=/var/run/$NAME.pid (Путь до pid-файла) SCRIPTNAME=/etc/init.d/$NAME (Имя скрипта в /etc/init.d/)

Читайте также:
Программа как сделать бейджик

Дадим права на исполнение:

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

Источник: mycyberuniverse.com

Автозагрузка сервисов в Linux

К примеру MySQL и Apache у нас загружаются на 3 уровне.

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

Для этого нам нужно установить start (S) и kill (K) приоритеты.

Для MySQL нужно поставить приоритет на стадии загрузки, а для Apache приоритет на shutdownreboot’е.

При старте (S), чем меньше значение приоритета, тем раньше сервис будет запущен. Сервис со start приоритетом равным 10 будет запущен раньше сервиса с приоритетом равным 20.

При остановке (K) всё наоборот. Сервис с большим приоритетом будет остановлен раньше, чем сервис с меньшим приоритетом.

Устанавливаем приоритет start и kill сервису Apache

update-rc.d apache2 defaults [START] [KILL]

Итак, сделаем так, чтобы сначала стартовал MySQL, а потом Apache. А при рестарте сначала останавливался Apache, а потом MySQL.

# update-rc.d apache2 defaults 90 90 # update-rc.d mysql defaults 10 10

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

# update-rc.d apache2 defaults 90 # update-rc.d mysql defaults 10

Утилита sysv-rc-conf

# apt-get install sysv-rc-conf # sysv-rc-conf

БОНУС — шпаргалка SysVinit/systemd

Команда sysvinit Команда systemd Комментарий
service frobozz start systemctl start frobozz.service Используется для разового запуска службы.
service frobozz stop systemctl stop frobozz.service Используется для разовой остановки службы.
service frobozz restart systemctl restart frobozz.service Используется для разового перезапуска службы.
service frobozz reload systemctl reload frobozz.service Если такая возможность поддерживается службой, перезагружает конфигурационный файл, не прерывая процесса.
service frobozz condrestart systemctl condrestart frobozz.service Перезапускает службу, если она запущена.
service frobozz status systemctl status frobozz.service Сообщает, запущена ли служба.
ls /etc/rc.d/init.d/ ls /lib/systemd/system/*.service /etc/systemd/system/*.service Используется для получения списка служб, которые могут быть запущены или остановлены.
chkconfig frobozz on systemctl enable frobozz.service Включает запуск службы после перезагрузки.
chkconfig frobozz off systemctl disable frobozz.service Отключает запуск службы после перезагрузки.
chkconfig frobozz systemctl is-enabled frobozz.service Используется для проверки, будет ли служба запущена после перезагрузки.
chkconfig frobozz –list ls /etc/systemd/system/*.wants/frobozz.service Выдает список уровней загрузки(целей), при которых данная служба будет запущена автоматически.
chkconfig frobozz –add Не используется, нет аналога.

Сайт rtfm.wiki использует cookies и трекинг посещений. Продолжая использовать этот сайт, вы соглашаетесь с сохранением файлов cookie на вашем компьютере. Если вы не согласны покиньте сайт или включите Adblock Окэйси Что такое cookies?

Источник: rtfm.wiki

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru