Добавление команды в автозагрузку linux. Настройка автозапуска в Ubuntu. Добавление программ в автозагрузку в Linux
А главное, полностью бесплатная операционная система, построенная на ядре Linux . Поэтому всё больше обладателей компьютеров становятся её пользователями. Если в их число попали и вы, то вам стоит, нет, не научиться — учиться там нечему — всего лишь понять и освоить основы управления. Например, как настроить автозапуск приложений и сервисов в Ubuntu.
Автозагрузка в Ubuntu — такой же процесс, как и на других ОС. Вы, должно быть, помните и представляете, как на Windows при включении ПК сразу же запускались Skype , uTorrent и ещё ряд программ. На Убунту есть несколько программ, которые аналогичным образом включаются вместе с компьютером. Их список можно изменить, как вам удобно: удалить лишние или добавить ещё несколько.
Добавление процессов
Добавить новый сервис , утилиту или команду в автозагрузку Ubuntu совсем не сложно. Делается это при помощи меню.
Добавлять таким образом можно не только утилиты, но и просто сервисы. Только в верхней строчке нужно выбрать подходящий тип, если он есть, а также вписать нужную команду. Главное — знать её.
Отсрочка
В Убунту есть также прекрасная возможность делать отсрочку включения — прямо как на современных духовых шкафах или мультиварках. Она делается с помощью введения небольшого дополнения к тексту команды. Которое выглядит следующим образом: «sleep 20;» (без кавычек). Вместо 20 можно вписать любое число, которое будет означать количество секунд, которые процесс «спит» перед тем, как запуститься. Таким образом вы можете дать системе время полностью загрузиться, после чего уже начнут включаться определённые сервисы или программы.
Удаление
Если вы уже пробовали добавлять программы в автоматический старт, то понимаете, что и удалить их оттуда будет очень легко.
- Снова заходим в утилиту управления автозагрузкой.
- Находим те процессы, которые нам не нужны.
- Выделяем их, жмём «Удалить».
Теперь лишние процессы будут убраны из автозапуска Ubuntu. Лучше иметь там только самое необходимое.
Стоит понимать, что если добавить много приложений в автозагрузку Ubuntu, ОС будет загружаться гораздо медленнее . Поэтому лучше не перебарщивайте и правильно регулируйте настройки автоматического запуска. Функция действительно очень удобная и вместе с отсрочкой запуска даёт хороший инструмент для автоматического регулирования действий системы.
После запуска компьютера, как правило, нам приходится запускать некоторые программы. которыми мы пользуемся чаще всего. Также после запуска системы нам может понадобиться выполнить какие-либо специфичные действия, например, создать нужные файлы или установить некоторые параметры. Очень неудобно делать это вручную. Для решения таких задач существует автозагрузка.
В этой статье мы рассмотрим как работает автозагрузка Linux, как добавить программы автозагрузки, куда их будет более правильно добавить, а также какие виды автозагрузки бывают в этой операционной системы.
Чтобы понять как работает автозагрузка, сначала нужно вспомнить, что происходит во время . Как только ядро завершит свою инициализацию и будет готово к дальнейшей работе, оно передаст управление системе инициализации. Система инициализации — это основной процесс, именно он запускает все другие процессы в системе.
Есть процессы, которые система инициализации, например, systemd, запускает по умолчанию, но также вы можете настроить чтобы она запускала нужные вам процессы. Также многими дочерними процессами выполняются файлы скриптов или имеется та или иная возможность запускать необходимые вам программы. Такая возможность есть и у большинства окружений рабочего стола.
Рассмотрим основные уровни автозагрузки которые вы можете использовать:
— вы можете указать любую программу, которая будет запускаться после старта ядра вместо системы инициализации; — запуск основных системных сервисов, дополнительных сервисов, а также ваших скриптов на этапе инициализации системы; — устаревший метод загрузки скриптов, выполняется перед запуском графического окружения; — вы можете выполнять свои скрипты или команды после запуска менеджера входа, но перед запуском окружения; — запуск нужных программ или скрпитов сразу после старта X сервера; — большинство окружений поддерживают автозагрузку программ, там даже можно настроить отложенный запуск и другие параметры; — самый последний вариант — это автозагрузка на уровне отдельной командной оболочки, вы можете выполнять нужные команды автоматически, как только будет запущен терминал.Автозагрузка на уровне ядра вряд ли будет вам очень полезной для повседневного применения, но я решил о ней упомянуть, поскольку такая возможность есть. С помощью параметра ядра init вы можете указать какую программу стоит запускать сразу после завершения инициализации ядра. Например, вы можете загрузить оболочку Bash вместо Systemd. Для этого достаточно подправить строку запуска ядра в конфигурационном файле Grub или во время запуска. Добавьте в конец параметр init:
sudo vi /boot/grub2/grub.cfg
linux /vmlinuz-4.8.0-22-generic root=/dev/mapper/systems-ubuntu ro quiet init=/bin/bash
Но, обычно, удобнее изменить это значение временно, в меню Grub. Читайте подробнее об этом в статье . Так не выполняется автозагрузка программы linux, но, тем не менее, иногда может быть полезно.
Чаще всего, когда говорится автозагрузка Linux, подразумевается именно автозагрузка сервисов с помощью системы инициализации. В systemd очень продвинутая система . Здесь поддерживается разрешение зависимостей, параллельный запуск, отсрочка запуска и перезапуск при ошибке.
Для добавления или удаления служб из автозапуска используется команда systemctl. Чтобы добавить службу в автозапуск выполните:
sudo systemctl enable имя_службы
А чтобы отключить ее автозапуск linux:
sudo systemctl disable имя_службы
Например, если вы хотите добавить в автозагрузку Apache, то нужно выполнить:
sudo systemctl enable apache
Также вы можете проверить добавлена ли уже служба в автозагрузку:
sudo systemctl is-enabled httpd
Если вы не знаете точное имя файла сервиса, но знаете его первую букву, то можно использовать автодополнение, как и в любом другом месте терминала с помощью кнопки Tab:
Также вы можете посмотреть все сервисы, которые были добавлены в автозагрузку с помощью команды:
systemctl list-unit-files | grep enabled
Раньше было принято размещать все скрипты, которые запускаются по умолчанию в файле /etc/rc.
Для этого достаточно создать простой юнит-файл и добавить его в автозагрузку, как любой другой сервис. Сначала создадим этот файл:
sudo vi /lib/systemd/system/runscript.service
Description=My Script Service
After=multi-user.target
Type=idle
ExecStart=/usr/bin/local/script.sh
WantedBy=multi-user.target
В секции Unit мы даем краткое описание нашему файлу и говорим с помощью опции
Осталось выставить правильные права:
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 сервера. Чтобы настроить такую автозагрузку Linux вам будет достаточно добавить путь к нужному скрипту в файл ~/.xinitrc или /etc/X11/xinit/xinitrc. Синтаксис добавляемой строки таков:
exec путь_к_скрипту &
Если файла ~/. xinitrc еще не существует, то его нужно создать:
cp /etc/X11/xinit/xinitrc ~/.xinitrc
Затем, чтобы добавить в автозагрузку linux скрипт, отредактируйте файл так, как вам нужно. Например, будем запускать Firefox:
exec /usr/bin/firefox &
Такие мощные окружения рабочего стола как Gnome и KDE имеют свои приложения для автозагрузки. Например, в Gnome программа называется «Запускаемые автоматически приложения» . Вы можете запустить ее из главного меню системы:
Здесь вы видите все программы, которые уже добавлены в автозагрузку. Вы можете отключить каждую из них просто сняв галочку.
Чтобы добавить новую программу или скрипт в автозагрузку нажмите кнопку «Добавить»:
Тут вам нужно заполнить три поля:
- Имя — произвольное имя для команды, по которому вы сможете ее найти;
- Команда — полный путь к исполняемому файлу программы;
Многие программы мы используем постоянно и запускаем их каждый раз при старте системы, а некоторые, такие, как мессенджеры или различные утилиты должны постоянно работать в фоне чтобы правильно выполнять свою задачу. Для этого в операционных системах существует автозагрузка. Программы запускаются автоматически, после того, как запустилась ОС или графическая оболочка.
В этой статье мы поговорим о том, как работает автозагрузка в Ubuntu, какие существуют способы автозагрузки в этой системе и как добавить туда программы.
АВТОЗАГРУЗКА В UBUNTU
Первым делом нужно сказать, что в Ubuntu существует несколько уровней автозагрузки. Я не буду говорить здесь про systemd и , так как уже рассматривал это в одной из первых статей. Программу или скрипт можно добавить в автозагрузку такими путями:
- Утилита «Автоматически запускаемые приложения»;
- Папка «Автозапуск»;
- Файл rc.local;
- Файл Xinitrc;
Мы рассмотрим первые два способа, поскольку два последние более рассчитаны на скрипты, а не программы. Сначала автозагрузка в Ubuntu с помощью стандартной утилиты.
Откройте меню системы и наберите «Авто» и откройте программу, которая будет первой в списке, Автоматически запускаемые приложения:
Здесь будут перечислены все приложения, которые сейчас запускаются автоматически. Чтобы добавить в автозагрузку ubuntu еще одно приложение, нажмите кнопку «Добавить» :
Здесь нужно ввести имя нового пункта, а также команду запуска приложения. Вы можете выбрать приложение в файловой системе, если не помните путь, нажав кнопку «Обзор» :
В команде можно указывать параметры, если это нужно. Еще можно заполнить поле «Описание» , но это уже необязательно. Если вам нужна определенная программа из главного меню, но вы не знаете где ее найти и как пишется ее команда, можно посмотреть ее в том же меню. Но для этого нам нужно сначала установить утилиту «Главное меню» из центра приложений:
Здесь вам нужно обратить внимание на строку «Команда» , скопируйте ее и можете использовать для автозагрузки.
Следующий способ — это папка автозагрузки. Она находится по адресу ~/.config/autostart. По сути, это тот же самый способ, только он может выполняться без графического интерфейса. Когда вы настраиваете автозагрузку через приложение, то в этой папке создаются файлы настроек с именем desktop. Вот, например:
Напоминаю, что для того, чтобы посмотреть скрытые файлы нужно нажать сочетание клавиш Ctrl+H. Теперь попытаемся создать новый конфигурационный файл для еще одной программы. Вот таким будет его синтаксис:
Type
=
Application
Name
=
имя_нового_пункта
Exec
=
команда
Icon
=
полный_путь_к_иконке
Comment
=
комментарий
X-GNOME-Autostart-enabled
=
true
Для примера, сделаем файл для запуска плеера VLC, он будет выглядеть вот так:
vi ~/.config/autostart/vlc.desktop
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
Готово, и самое интересное, что если вы откроете приложение автозагрузки. То там тоже появится этот пункт. Это такой способ настройки без графического интерфейса.
ВЫВОДЫ
В этой небольшой статье мы рассмотрели как настраивается автозагрузка программ ubuntu различными способами — через графический интерфейс и терминал. Вы можете использовать эти знания, чтобы сделать работу в вашей системе более удобной. Даже несмотря на то, что Ubuntu перешла на Gnome, автозагрузка в ubuntu 16.04 и сейчас выглядят практически одинаково. Если у вас остались, вопросы, спрашивайте в комментариях!
Похожие записи:
Выпуск WordPress 5.3 улучшает и расширяет представленный в WordPress 5.0 редактор блоков новым блоком, более интуитивным взаимодействием и улучшенной доступностью. Новые функции в редакторе […]
После девяти месяцев разработки доступен мультимедиа-пакет FFmpeg 4.2, включающий набор приложений и коллекцию библиотек для операций над различными мультимедиа-форматами (запись, преобразование и […]
Linux Mint 19.2 является выпуском с долгосрочной поддержкой, который будет поддерживаться до 2023 года. Он поставляется с обновленным программным обеспечением и содержит доработки и множество новых […]
Представлен релиз дистрибутива Linux Mint 19.2, второго обновления ветки Linux Mint 19.x, формируемой на пакетной базе Ubuntu 18.04 LTS и поддерживаемой до 2023 года. Дистрибутив полностью совместим […]
Доступны новые сервисные релизы BIND, которые содержат исправления ошибок и улучшения функций. Новые выпуски могут быть скачано со страницы загрузок на сайте разработчика: […]
Exim — агент передачи сообщений (MTA), разработанный в Кембриджском университете для использования в системах Unix, подключенных к Интернету. Он находится в свободном доступе в соответствии с […]
После почти двух лет разработки представлен релиз ZFS on Linux 0.8.0, реализации файловой системы ZFS, оформленной в виде модуля для ядра Linux. Работа модуля проверена с ядрами Linux c 2.6.32 по […]
Комитет IETF (Internet Engineering Task Force), занимающийся развитием протоколов и архитектуры интернета, завершил формирование RFC для протокола ACME (Automatic Certificate Management Environment) […]
Некоммерческий удостоверяющий центр Let’s Encrypt, контролируемый сообществом и предоставляющий сертификаты безвозмездно всем желающим, подвёл итоги прошедшего года и рассказал о планах на 2019 год. […]
После запуска компьютера, как правило, нам приходится запускать некоторые программы. которыми мы пользуемся чаще всего. Также после запуска системы нам может понадобиться выполнить какие-либо специфичные действия, например, создать нужные файлы или установить некоторые параметры. Очень неудобно делать это вручную. Для решения таких задач существует автозагрузка.
В этой статье мы рассмотрим как работает автозагрузка Linux, как добавить программы автозагрузки, куда их будет более правильно добавить, а также какие виды автозагрузки бывают в этой операционной системы.
Как работает автозагрузка?
Чтобы понять как работает автозагрузка, сначала нужно вспомнить, что происходит во время процесса загрузки Linux . Как только ядро завершит свою инициализацию и будет готово к дальнейшей работе, оно передаст управление системе инициализации. Система инициализации — это основной процесс, именно он запускает все другие процессы в системе.
Есть процессы, которые система инициализации, например, systemd, запускает по умолчанию, но также вы можете настроить чтобы она запускала нужные вам процессы. Также многими дочерними процессами выполняются файлы скриптов или имеется та или иная возможность запускать необходимые вам программы. Такая возможность есть и у большинства окружений рабочего стола.
Рассмотрим основные уровни автозагрузки которые вы можете использовать:
— вы можете указать любую программу, которая будет запускаться после старта ядра вместо системы инициализации; — запуск основных системных сервисов, дополнительных сервисов, а также ваших скриптов на этапе инициализации системы; — устаревший метод загрузки скриптов, выполняется перед запуском графического окружения; — вы можете выполнять свои скрипты или команды после запуска менеджера входа, но перед запуском окружения; — запуск нужных программ или скрпитов сразу после старта X сервера; — большинство окружений поддерживают автозагрузку программ, там даже можно настроить отложенный запуск и другие параметры; — самый последний вариант — это автозагрузка на уровне отдельной командной оболочки, вы можете выполнять нужные команды автоматически, как только будет запущен терминал.Автозагрузка на уровне ядра
Автозагрузка на уровне ядра вряд ли будет вам очень полезной для повседневного применения, но я решил о ней упомянуть, поскольку такая возможность есть. С помощью параметра ядра init вы можете указать какую программу стоит запускать сразу после завершения инициализации ядра. Например, вы можете загрузить оболочку Bash вместо Systemd. Для этого достаточно подправить строку запуска ядра в конфигурационном файле Grub или во время запуска. Добавьте в конец параметр init:
$ sudo vi /boot/grub2/grub.cfg
linux /vmlinuz-4.8.0-22-generic root=/dev/mapper/systems-ubuntu ro quiet init=/bin/bash
Но, обычно, удобнее изменить это значение временно, в меню Grub. Читайте подробнее об этом в статье параметры ядра Linux . Так не выполняется автозагрузка программы linux, но, тем не менее, иногда может быть полезно.
Автозагрузка в системе инициализации
Чаще всего, когда говорится автозагрузка Linux, подразумевается именно автозагрузка сервисов с помощью системы инициализации. В systemd очень продвинутая система управления службами . Здесь поддерживается разрешение зависимостей, параллельный запуск, отсрочка запуска и перезапуск при ошибке. В терминологии Systemd все запускаемые программы представлены файлами юнитов, в каждом юните описаны параметры программы, ее исполняемый файл, а также дополнительные требования к запуску.
Для добавления или удаления служб из автозапуска используется команда systemctl. Чтобы добавить службу в автозапуск выполните:
$ sudo systemctl enable имя_службы
А чтобы отключить ее автозапуск linux:
$ sudo systemctl disable имя_службы
Например, если вы хотите добавить в автозагрузку Apache, то нужно выполнить:
$ sudo systemctl enable apache
Также вы можете проверить добавлена ли уже служба в автозагрузку:
$ sudo systemctl is-enabled httpd
Если вы не знаете точное имя файла сервиса, но знаете его первую букву, то можно использовать автодополнение, как и в любом другом месте терминала с помощью кнопки Tab:
Также вы можете посмотреть все сервисы, которые были добавлены в автозагрузку с помощью команды:
$ systemctl list-unit-files | grep enabled
Автозагрузка скриптов в Linux
Раньше было принято размещать все скрипты, которые запускаются по умолчанию в файле /etc/rc. local. Этот файл все еще существует, но это пережиток системы инициализации SysVinit и теперь он сохраняется только для совместимости. Скрипты же нужно загружать только с помощью Systemd.
Для этого достаточно создать простой юнит-файл и добавить его в автозагрузку, как любой другой сервис. Сначала создадим этот файл:
$ sudo vi /lib/systemd/system/runscript.service
Description=My Script Service
After=multi-user.target
Type=idle
ExecStart=/usr/bin/local/script.sh
WantedBy=multi-user.target
В секции Unit мы даем краткое описание нашему файлу и говорим с помощью опции After , что нужно запускать этот скрипт в многопользовательском режиме (multi-user). Секция Service самая важная, здесь мы указываем тип сервиса — idle , это значит, что нужно просто запустить и забыть, вести наблюдение нет необходимости, а затем в параметре ExecStart указываем полный путь к нашему скрипту.
Осталось выставить правильные права:
$ sudo chmod 644 /lib/systemd/system/runscript. service
Затем обновить конфигурацию и добавить в автозагрузку Linux новый скрипт:
$ sudo systemctl daemon-reload
$ sudo systemctl enable myscript.service
После следующей перезагрузки этот скрипт будет запущен автоматически. Обратите внимание, что для каждого скрипта, который вы собираетесь запускать должны быть правильно выставлены права, а именно нужно установить флаг выполнения. Для этого используйте команду chmod:
$ sudo chmod u+x /usr/local/bin/script
В параметрах мы передаем утилите адрес файла скрипта. Исполняемость — это обязательный параметр для всех способов.
Автозагрузка X сервера
Часто, в легких окружениях рабочего стола и оконных менеджеров для автозагрузки программ используется автозагрузка на уровне X сервера. Все запускаемые, таким образом, скрипты будут стартовать после запуска X сервера. Чтобы настроить такую автозагрузку Linux вам будет достаточно добавить путь к нужному скрипту в файл ~/.xinitrc или /etc/X11/xinit/xinitrc. Синтаксис добавляемой строки таков:
exec путь_к_скрипту &
Если файла ~/.xinitrc еще не существует, то его нужно создать:
$ cp /etc/X11/xinit/xinitrc ~/.xinitrc
Затем, чтобы добавить в автозагрузку linux скрипт, отредактируйте файл так, как вам нужно. Например, будем запускать Firefox:
exec /usr/bin/firefox &
Автозагрузка окружения рабочего стола
Такие мощные окружения рабочего стола как Gnome и KDE имеют свои приложения для автозагрузки. Например, в Gnome программа называется «Запускаемые автоматически приложения» . Вы можете запустить ее из главного меню системы:
Здесь вы видите все программы, которые уже добавлены в автозагрузку. Вы можете отключить каждую из них просто сняв галочку.
Чтобы добавить новую программу или скрипт в автозагрузку нажмите кнопку «Добавить»:
Тут вам нужно заполнить три поля:
- Имя — произвольное имя для команды, по которому вы сможете ее найти;
- Команда — полный путь к исполняемому файлу программы;
Ubuntu 16.
04 автозапуск VPN — UbuntuGeeks Вот как я начал работать. В моей папке со всеми моими файлами vpn ovpn я создаю файл с именем auth.txt
. В котором содержалось следующее, заменил мои фактические учетные данные :
Username
Password
Затем я открыл файл ovpn, который я хотел использовать, и нашел строку с auth-user-pass
, меняя ее, чтобы выглядеть так: заменить путь полным путем вашего файла auth.txt : р>
auth-user-pass /home/philip/open_vpn/auth.txt
Затем я создал сценарий bash под названием start_vpn.sh
, который выглядит так:
#!/usr/bin/env bash
sudo openvpn --config /home/philip/open_vpn/nord/ca24.nordvpn.com.udp1194.ovpn
Затем я создаю сценарий запуска systemd в /etc/systemd/system/start-openvpn.service
, который выглядит следующим образом:
[Service]
ExecStart=/home/philip/open_vpn/start_vpn. sh
[Install]
WantedBy=default.target
Затем включите задание systemd с помощью:
systemctl enable start-openvpn.service
Bonus:
Если у вас есть 100 файлов ovpn, таких как я, вы можете сразу обновить строку во всех этих файлах. Вот команда sed
, которую я использовал в папке с моим файлом ovpn, , вы обновите, чтобы отразить вашу систему :
sed -i *nordvpn* -e 's/auth-user-pass/auth-user-pass \/home\/philip\/open_vpn\/auth.txt/g'
Ubuntu, FreeRDP и автозапуск в полноэкранном режиме
Имеется:— Ubuntu 10.10 i386
— FreeRDP (замена стандартному rdesktop)
Задача:
— сделать при загрузке автологин
— после автологина должна происходить автозагрузка FreeRDP в полноэкранном режиме
— и не пропадать сам по себе
Варианты:
— везде сделан стандартный убунтовский автологин под user’ом
— поставить FreeRDP в «приложения» -> «запускаемые при запуске элементы». При этом варианте после загрузки происходит автологин, после этого загружается FreeRDP, а после этого загружаются панели Гнома. Т.е. видно RDP-окно, но сверху и снизу экрана видны ненужные гномовские панели. И плюс ко всему при неактивности FreeRDP сам вырубается через несколько секунд, чего быть тоже не должно.
— засунуть запуск FreeRDP в rc.local в виде «xfreerdp -f server». В этом случае вообще ничего не происходит. Даже если туда воткнуть wait.
— засунуть FreeRDP в init с приоритетом 99. То же отсутствие результата, что и в предыдущем случае.
Вопросы:
— что я делаю не так?
— как сделать так? 🙂
ЗЫ а еще непонятны параметры FreeRDP:
-0 — attach to console — что-то ни фига не аттачится
-s — shell — тут вообще не понятно. (Запуск под bash/sh из-под рута?)
Спасибо.
В конце файла /etc/gdm/Init/Default перед exit 0 добавляем:
/usr/bin/killall xfreerdp
while [ $(pgrep -x xfreerdp) ]; do sleep 0. 1; done
/usr/bin/xfreerdp -f 192.168.0.1
В конце файла /etc/gdm/PostLogin/Default :
/usr/bin/killall xfreerdp
while [ $(pgrep -x xfreerdp) ]; do sleep 0.1; done
Делаем файл запускным:
sudo chmod +x /etc/gdm/PostLogin/Default
Создаем файл сессии /etc/X11/Xsession.d/85xfreerdp со следующим содержимым:
/usr/bin/killall xfreerdp
while [ $(pgrep -x xfreerdp) ]; do sleep 0.1; done
/usr/bin/xfreerdp -f 192.168.0.1
Делаем файл запускным:
sudo chmod +x /etc/X11/Xsession.d/85xfreerdp
Таким образом, при запуске компьютера будет автоматически запускаться терминал FreeRDP с коннектом на 192.168.0.1.
Под любым пользователем.
Осталось побороть отключение терминала при неактивности.
ARMBIAN Linux Ubuntu 16.04 помещаем скрипты в автозапуск
Мы написали скрипт управления Умным Домом для Orange Pi. Теперь необходимо этот скрипт поставить в очередь автозагрузки. Для примера, настроим автозапуск скрипта, управляющего светодиодами на плате Orange Pi PC2.
Создайте в папке /usr/local/sbin скрипт cputled следующего содержания:
#!/bin/bash ledr="orangepi:red:status" ledg="orangepi:green:pwr" Y=10 while [ "$Y" != "0" ]; do echo 1 > /sys/class/leds/$ledg/brightness echo 0 > /sys/class/leds/$ledr/brightness sleep 0.4 echo 0 > /sys/class/leds/$ledg/brightness echo 1 > /sys/class/leds/$ledr/brightness sleep 0.4 Y=`expr $Y - 1` done while true do temp=`cat /sys/class/thermal/thermal_zone0/temp` echo 0 > /sys/class/leds/$ledg/brightness echo 0 > /sys/class/leds/$ledr/brightness if [[ $temp -gt 40000 ]]; then echo 1 > /sys/class/leds/$ledg/brightness fi if [[ $temp -gt 55000 ]]; then echo 1 > /sys/class/leds/$ledr/brightness echo 0 > /sys/class/leds/$ledg/brightness fi if [[ $temp -gt 65000 ]]; then echo 1 > /sys/class/leds/$ledg/brightness fi # clear # echo "CPU t="`expr $temp / 1000` sleep 1 done
Этот скрипт будет автоматически загружаться при старте системы Linux Ubuntu и с помощью двух светодиодов на плате Orange Pi PC 2 информировать нас о температуре процессора. Скрипт дает нам информацию о четырех диапазонах температур:
- Температура ниже 40 Cº – светодиоды не горят
- Температура в диапазоне от 40 Cº до 55 Cº – горит зеленый светодиод
- Температура в диапазоне от 55 Cº до 65 Cº – горит красный светодиод
- Температура выше 65 Cº – горят оба светодиода
Кроме того, скрипт /usr/local/sbin/cputled информирует о том что он успешно загружен перемигиванием красного и зеленого светодиодов в течении 8 секунд. Если этот скрипт будет запущен на на Уровне 3 автозапуска служб Linux, то по миганию светодиодов мы можем определить что Ubuntu сервер загружен и готов к работе.
Создайте в папке /etc/init.d скрипт cputled следующего содержания:
#!/bin/sh ### BEGIN INIT INFO # Provides: cputled # Required-Start: $network # Required-Stop: # Default-Start: 3 # Default-Stop: 0 1 6 # Short-Description: CPU overheating flashing on-Board LEDs ### END INIT INFO # Source function library # /etc/init. d/cputled start() { /usr/local/sbin/cputled & echo } stop() { echo 1 > /sys/class/leds/orangepi:green:pwr/brightness pkill cputled echo } case "$1" in start) start ;; stop) stop ;; *) echo $"Usage: $0 {start|stop}" exit 1 esac exit 0
Этот скрипт поможет нам запускать и останавливать предыдущий скрипт.
Запустим скрипт измерения температуры процессора на плате Orange Pi вручную:
systemctl daemon-reload service cputled start
Остановим скрипт измерения температуры процессора на плате Orange Pi вручную:
service cputled stop
Поместим скрипт измерения температуры процессора на плате Orange Pi в автозагрузку:
update-rc.d cputled defaults
Перезагрузим микрокомпьютер Orange Pi:
reboot
Автозапуск приложений и исправление их в рабочих областях при запуске — Ubuntu | by Kalpan Mukherjee
Сделайте свой рабочий процесс Ubuntu еще более плавным и гибким на них Windows fanbois
В этой статье я быстро расскажу, как настроить пользовательские приложения для открытия при запуске, а также исправить их в предопределенных рабочих пространствах без нажатия кнопки .
Сначала вам нужно выбрать приложения, которые вы обычно будете использовать при каждой загрузке на свой компьютер с Ubuntu. Для этого примера я выбрал Firefox Web Browser, VS Code, Spotify и Hyper (альтернативный терминал, который я настоятельно рекомендую вам проверить по внешнему виду).
Итак, сначала вам нужно выбрать Super Key, , это, скорее всего, будет Windows Key на вашем компьютере. Появится строка поиска , здесь вам нужно найти « Startup Applications» и выбрать появившийся значок.
Найдите «Автозагрузку приложений»В появившемся окне выберите Добавить.
Вы можете оставить поля Name и Comment пустыми, поскольку они не влияют на его работу.В разделе Command вам нужно ввести имя приложения, вот те, которые я нашел для приложений, которые я использовал —
Firefox ( firefox ), Spotify ( spotify ), Hyper ( hyper ) , Код VS ( код ).
Добавить команду для открытия приложения при запускеДополнительные сведения о том, как найти команду для выбранного приложения, можно найти здесь.
Прямо сейчас выбранные вами приложения будут открываться при запуске, но все они скопятся в рабочем пространстве по умолчанию.Чтобы они автоматически прикреплялись к отдельным рабочим областям при каждом запуске, нам нужно установить инструмент под названием Auto Move Windows.
Ubuntu 16.04 — Этот инструмент входит в состав gnome-tweak-tool . Чтобы установить его, просто запустите следующую команду на своем терминале
sudo apt-get install gnome-tweak-tool
Ubuntu 18.04 — Инструмент больше не входит в состав gnome-tweak-tool .Вместо этого перейдите в Ubuntu Software и найдите «Auto Move Windows».
Найдите «Auto Move Windows» в программном обеспечении UbuntuЗатем снова нажмите Super Key и найдите «Tweaks» .
Найдите «Твики»Перейдите к Extensions и включите «Автоматическое перемещение окон». Щелкните значок настроек , который появляется рядом с кнопкой «Включить».
Включите «Автоматическое перемещение окон» и щелкните значок настроек.Здесь вы можете выбрать Добавить правило , найти приложение и нажать символы «+» или «-», чтобы выбрать рабочее пространство по умолчанию для этого приложения.
Найдите приложение и выберите рабочее пространствоПосле того, как вы закончите, ваш список должен выглядеть примерно так
После выбора всех приложений и рабочих пространствВот и все, ребята из этой статьи! Спасибо за чтение и оставьте комментарий, если вы считаете, что это было полезно для вас. Приветствуются любые указатели на вещи, с которыми я случайно ошибся!
Вот оригинальная публикация Ask Ubuntu об исправлении рабочих мест. Свяжитесь со мной в Linkedin или посетите мой веб-сайт.
Автозапуск скрипта Python при загрузке (Ubuntu 20.
04, Systemd)Создание записи Systemd
судо нано /etc/systemd/system/myapp.service
[Единица]
# After = network.service
Описание = Мое приложение
[Услуга]
Тип = простой
# WorkingDirectory = / code / python / myapp
ExecStart = / код / сценарии / myapp.sh
# User = do-user
[Установить]
WantedBy = multi-user.target
# WantedBy = default.target
ПРИМЕЧАНИЕ: Используйте After = network.service
, если вам нужна сеть.
Создание сценария Bash
нано / код / скрипты / myapp.ш
#! / Bin / bash
# cd / code / python / myapp
python3 /code/python/myapp/run.py >> /code/logs/myapp.log 2> & 1
Создать скрипт Python
нано /code/python/myapp/run.py
импортный сигнал
время импорта
дата и время импорта
is_shutdown = Ложь
def stop (sig, frame):
print (f "SIGTERM at {datetime. datetime.now ()}")
глобальный is_shutdown
is_shutdown = Правда
def ignore (sig, frsma):
print (f "СИГНАЛ в {datetime.datetime.Теперь()}")
signal.signal (сигнал.SIGTERM, стоп)
signal.signal (signal.SIGHUP, игнорировать)
print (f "НАЧАТЬ в {datetime.datetime.now ()}")
пока не is_shutdown:
print ('.', end = '', flush = True)
время сна (1)
print (f "КОНЕЦ в {datetime.datetime.now ()}")
Тестовая системаd
Установить разрешение файла
судо chmod 744 /code/scripts/myapp.sh
sudo chmod 664 /etc/systemd/system/myapp.service
Включить службу
sudo systemctl демон-перезагрузка
sudo systemctl включить myapp.услуга
Служба тестирования
sudo systemctl start myapp.service
Проверить статус
sudo systemctl start status.service
Контрольный журнал
хвост -f /code/logs/myapp. log
Остановить службу
sudo systemctl stop myapp.service
Перезапустите сервер, чтобы проверить, запустилась ли служба при перезагрузке
Анаконда
Systemd по умолчанию запускается как root
.Если вы используете Anaconda
(или, возможно, pyenv
), текущий пользователь может не запускать ту же версию / среду python в качестве пользователя root.
ПРИМЕЧАНИЕ: Я попытался изменить пользователя через службу . Пользователь
, но он по-прежнему использует интерпретатор Python по умолчанию
Вы можете найти путь интерпретатора python, используя , который python
или python -c "import sys; print (sys.executable)"
какой питон
sudo какой питон
Отредактируйте сценарий bash, чтобы использовать правильный интерпретатор Python
/ opt / conda / bin / python3 / code / python / myapp / run. py >> /code/logs/myapp.log 2> & 1
Один из способов отключить автозапуск Skype в Ubuntu
Во время пандемии 2020 года Zoom выиграл войну за видеоконференцсвязь. Само слово «Zoom» стало синонимом видеоконференцсвязи, как Tupperware или Kleenex. У Skype было как минимум десять лет вперед на Zoom, но к нему относились как к программе, которую вы используете только в том случае, если не было других вариантов. Мне приходится пользоваться Skype один или два раза в год, и это всегда плохое время.
Самая большая проблема Skype — это то, как, по его мнению, он всегда должен работать.Он не может смириться с тем, что кто-то просто может не захотеть использовать Skype 24×7. Это очень нуждающееся и небезопасное приложение, требующее постоянного внимания. В Ubuntu и, как я полагаю, в других дистрибутивах Linux он при каждой возможности регистрируется как запускаемое приложение. Это небольшая статья об одном из способов, которые я нашел, чтобы навсегда остановить такое поведение.
Пожалуйста, перед тем, как написать мне письмо с сообщением: « просто подумал, что вам следует знать, что в Skype есть настройка для отключения автозапуска », позвольте мне заверить вас, что я пробовал эту настройку.Skype все время случайным образом меняет его обратно, все .. время. Это действительно ужасно. Вариант, который наконец-то сработал для меня, выглядит так …
Во-первых, давайте зайдем в каталог автозапуска и посмотрим, что там. Я удалил файл автозапуска Skype, чтобы показать, как это выглядит в начале. Конечно, у вас могут быть разные файлы.
Я не большой поклонник работы в терминалах. Когда я впервые использовал Amiga Workbench, я поклялся никогда не возвращаться к командной строке.Если есть что-то, что можно сделать только через командную строку, я обычно пишу небольшую утилиту для этого. Вы можете попасть в этот каталог через терминал, если хотите.
При запуске Skype создает файл автозапуска.
Несмотря на мое отвращение к работе в терминале . . sudo gedit ~ / .config / autostart / skypeforlinux.desktop — самый быстрый способ открыть этот файл автозапуска. Skype предсказуемо установил для X-GNOME-Autostart-enabled значение true.
Установить значение false достаточно просто.
Проблема в том, что Skype все еще может вернуться и установить для него значение true. Спойлер: будет. Поэтому я сделал дополнительный шаг, сделав его недоступным для записи.
Теперь, когда Skype запускается, он не может обновить файл автозапуска или удалить его, чтобы создать новый.
Вы все еще застряли с этим файлом конфигурации, но поскольку Skype не может его изменить, проблема, по крайней мере, решена … до тех пор, пока Skype не начнет создавать файл с другим именем.Когда это произойдет, я сделаю весь каталог доступным только для чтения, чего я бы хотел избежать.
Весь исходный код и программное обеспечение на этом сайте распространяется под лицензией MIT (авторское право 2000-2021 Hugues Johnson), если не указано иное.
Все остальное содержимое этого сайта находится под лицензией Creative Commons Attribution-ShareAlike 4.0 International License, если не указано иное.
Все мнения на этом сайте отражают мои личные взгляды и не отражают взгляды моего нынешнего или любого бывшего работодателя.
Тема сайта основана на Bootstrap под лицензией MIT License. Шрифт сайта является Ubuntu под лицензией Ubuntu Font License. Шрифт логотипа навигации используется Audiowide по лицензии Open Font License.
Этот сайт не содержит рекламы или спонсорского контента. Ни то, ни другое меня не интересует, так что не спрашивайте.
Политика конфиденциальности: меня мало волнует, кто посещает этот сайт, и я не пытаюсь отслеживать использование. Сеть доставки контента, которую я использую, собирает данные об агентах пользователя и IP-адресах, но я никогда не смотрю на них.Этот сайт не использует файлы cookie.
Автоматический запуск XAMPP при запуске в Ubuntu Linux
В этом руководстве объясняется, как автоматически запустить XAMPP в Ubuntu Linux. Узнайте, как создать сценарий, который запускает XAMPP во время процесса загрузки.
XAMPP — это стороннее прикладное программное обеспечение. По умолчанию Ubuntu не запускает сторонние приложения. Если мы хотим, чтобы Ubuntu запускала для нас какое-либо конкретное стороннее приложение при запуске, мы должны проинструктировать Ubuntu об этом.
В этом руководстве я предполагаю, что XAMPP уже установлен. Чтобы узнать, что такое XAMPP и как он устанавливается в Ubuntu Linux, см. Это руководство.
Как установить XAMPP на Ubuntu
Прежде чем мы создадим сценарий, который запускает XAMPP во время загрузки, нам нужно подтвердить версию Ubuntu. В LST версии 18.04 было внесено множество технических изменений. Эти изменения также включают способ взаимодействия Ubuntu со сценариями запуска. Чтобы узнать версию Ubuntu, откройте терминал и выполните следующую команду.
В этом руководстве представлены сценарии как для более ранних, так и для более поздних версий. Если ваша версия Ubuntu 18.04 или выше, используйте первый скрипт из раздела ниже. Если ваша версия Ubuntu ниже 18.04, используйте последний скрипт.
Создание сценария для автоматического запуска XAMPP в Ubuntu 18.04 или новее
Выполните следующую команду.
$ sudo gedit /etc/systemd/system/xampp.service
Эта команда, если она еще не создана, создает новый файл с именем xampp.service в каталоге / etc / systemd / system / и открывает его для редактирования.
В открывшемся файле добавьте следующие строки и сохраните файл.
[Ед. изм] Описание = XAMPP [Услуга] ExecStart = / opt / lampp / lampp start ExecStop = / opt / lampp / lampp stop Тип = разветвление [Установить] WantedBy = multi-user.target
На терминале могут появиться следующие предупреждающие сообщения.
В текстовом редакторе gedit есть известная ошибка, которая отображает эти предупреждающие сообщения. Более подробная информация об этой ошибке доступна здесь.
https://bugs.launchpad.net/ubuntu/+source/gedit/+bug/1575484
У вас есть три варианта работы с этими предупреждающими сообщениями; обновите gedit, чтобы исправить ошибку, используйте другой текстовый редактор для создания файла сценария, например vim и nano, или игнорируйте эти сообщения.
Создание файла сценария из других текстовых редакторов не так просто и понятно, как создание его из gedit. Если вы не являетесь опытным пользователем Linux, я настоятельно рекомендую вам просто игнорировать эти предупреждающие сообщения.
После создания файла сценария выполните следующую команду, чтобы указать Ubuntu выполнить его при запуске.
Технически мы создали специальную службу с помощью файла сценария и проинструктировали Ubuntu запускать эту службу при запуске. Эта настраиваемая служба запускает XAMPP.
Проверка сценария
Чтобы убедиться, что XAMPP запускается автоматически при запуске, перезагрузите систему.
После перезагрузки откройте терминал и выполните следующую команду.
$ sudo systemctl status xampp-service
Эта команда отображает текущий статус службы xampp.service . Если статус этой службы — активен , то запускается XAMPP.
Вы также можете проверить автоматический запуск XAMPP, перейдя по следующему URL-адресу в браузере.
Создание скрипта в младших версиях
В более ранних версиях Ubuntu считывает каталог / etc / init.d / , чтобы узнать, какие приложения необходимы для запуска. Если мы поместим в этот каталог сценарий, запускающий XAMPP, XAMPP будет запускаться автоматически во время процесса загрузки.
Давайте разберемся в этом процессе шаг за шагом на практическом примере.
Откройте терминал и выполните следующую команду.
sudo gedit /etc/init.d/lampp
Эта команда, если она еще не создана, создает новый файл с именем lampp в каталоге / etc / init. d / и открывает его для редактирования.
В открывшемся файле добавьте следующие строки.
#! / bin / bash ### НАЧАЛО ИНФОРМАЦИИ # Обеспечивает: lampp # Обязательное начало: $ local_fs $ syslog $ remote_fs dbus # Обязательная остановка: $ local_fs $ syslog $ remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Краткое описание: пусковой фонарь ### КОНЕЦ НАЧАЛЬНОЙ ИНФОРМАЦИИ / opt / lampp / lampp start
Пока файл не сохраняется, все изменения остаются в памяти.Нажмите кнопку Сохранить , чтобы сохранить изменения. После нажатия кнопки сохранения редактор форматирует содержимое файла и сохраняет файл как файл сценария.
По умолчанию Linux не создает исполняемых файлов. Это означает, что если мы вручную не сделаем этот файл сценария исполняемым, Linux будет рассматривать его как обычный текстовый файл.
Закройте открытый файл и выполните следующие команды, чтобы сделать его исполняемым.
$ ls –l /etc/init.d/lampp $ sudo chmod + x / etc / init.d / lampp $ ls –l /etc/init.d/lampp
Первая команда выводит список атрибутов текущего файла.
Вторая команда добавляет разрешение на выполнение в атрибуты файла.
Третья команда также выводит список атрибутов текущего файла.
Сравните вывод первой и третьей команд, чтобы убедиться, что разрешение на выполнение было успешно добавлено в атрибуты файла.
Теперь выполните следующую команду.
$ sudo update-rc.d lampp по умолчанию
Эта команда указывает Ubuntu запускать наш файл сценария на всех уровнях выполнения по умолчанию.
После завершения этой настройки XAMPP будет запускаться автоматически при запуске системы.
Тестирование
Чтобы проверить эту настройку, перезагрузите систему с помощью следующей команды.
После перезапуска выполните следующую команду
$ systemctl list-units --type служба
XAMPP использует службу с именем lampp для управления всей своей работой. Эта команда перечисляет все службы, запущенные Ubuntu при запуске.Чтобы просмотреть только статус службы lampp, мы можем отфильтровать вывод с помощью команды grep .
$ systemctl list-units --type service | grep lampp
Вы также можете проверить это, перейдя на следующую веб-страницу в браузере.
Устранение неполадок
При указании Ubuntu проверить файл сценария вы можете получить следующие предупреждающие сообщения.
Эти предупреждающие сообщения указывают на то, что что-то не так в файле / etc / init.d / lampp файл. До Ubuntu 16.04, раздел комментариев в этом файле не требовался. Достаточно было добавить только следующие строки.
Но этот подход больше не работает. Начиная с Ubuntu 16.04, мы должны добавить все необходимые строки, включая раздел комментариев.
Если вы получаете вышеуказанные предупреждающие сообщения или XAMPP не запускается автоматически при запуске системы, проверьте файл /etc/init. d/lampp еще раз. Убедитесь, что все необходимые строки добавлены правильно.
Это все для этого руководства. Если вам нравится это руководство, не забудьте поделиться им через свою любимую социальную платформу.
HOW-TO: Автозапуск Kodi для Linux — Официальная Kodi Wiki
Любые, все или комбинация этих методов могут использоваться для настройки системы X Window на основе Debian для загрузки непосредственно в Kodi. Это должно работать в любом Linux, использующем систему X Window, но эти инструкции относятся к производным Debian, таким как Ubuntu. Серверная версия лучше всего подходит для работы только с Kodi, но эта страница предполагает загрузку в настольную ОС, а не в серверный дистрибутив.Однако приведенные здесь инструкции можно использовать для серверного дистрибутива с еще меньшей конфигурацией, чем для настольного компьютера. Поэкспериментируйте внутри VirtualBox, прежде чем применять какие-либо из них к своей системе и делать резервную копию.
1 Установка оконной системы X11
Даже если вы используете что-то вроде автономной службы Kodi, вам все равно нужно использовать WM или DE, который устанавливает программный пакет x-window-manager .
Чтобы убедиться, что это установлено, используйте команду which .
какой x-window-manager
Если такого пакета нет, вы можете использовать apt для поиска в репозитории дистрибутивов Linux.
apt-cache поиск x-window-manager
Это сгенерирует список пакетов, содержащий x-window-manager , который нельзя установить отдельно. Если вы не используете DE, вам необходимо использовать WM. И вы также можете использовать WM-композитор, например Compiz, для быстрых 3D-эффектов.
Compiz — ArchWiki
Примечание об использовании автономной службы Kodi: этот пакет запускает Kodi как службу systemd и отключает вход для пользователя kodi и не будет работать, если включен автоматический вход.Фактически, это нарушит процесс входа в систему, если вы автоматически войдете в систему пользователя kodi и одновременно запустите автономную службу Kodi. Этот пакет устанавливается автоматически вместе со стандартным пакетом Kodi при установке Kodi на Raspbian, но его необходимо настроить вручную для всех других дистрибутивов Linux. Вы также можете запустить команду which , чтобы найти этот пакет.
который kodi-standalone
Имейте в виду, что автономная служба Kodi по-прежнему запускает графический интерфейс Kodi и по-прежнему требует WM, хотя она работает как служба systemd .Когда вы устанавливаете WM, например xfwm4 (WM для XFCE4), интерфейс командной строки сообщит вам, предоставляет ли он пакет x-window-manager .
Настройка xfwm4 (4.12.4-1) ... альтернативы обновления: использование / usr / bin / xfwm4 для предоставления / usr / bin / x-window-manager (x-window-manager) в автоматическом режиме
Если вы не видите это сообщение в конце установки, выбранный вами WM не предоставляет этот программный пакет и может фактически не быть полным WM, а только частью пакета, содержащего WM.
Прекрасный пример того, как именно это сделать с xfwm4 , можно найти в этой записи ArchWiki.
XFWM — ArchWiki
В большинстве систем используется клиентская версия программного обеспечения X11, необходимая для Xsession.
Для получения дополнительных функций и возможностей X11 вы можете при желании выполнить обновление до пакетов серверного программного обеспечения для системы X Window.
apt установить xauth xorg xinit xserver-xorg-core xserver-xorg xserver-common
Wiki Ubuntu обычно является хорошим источником информации.
CustomXSession — Ubuntu Wiki
Пользовательские сеансы пользователя могут быть созданы с помощью оконной системы X11 для запуска сценариев, автоматического запуска приложений и запуска WM или DE.
LightDM используется для автологина.
2 Настройте LightDM для автоматического входа в систему
Вы можете использовать возможность настройки диспетчера данных LightDM, изменив встроенный пользовательский файл конфигурации 50-myconfig.conf с помощью nano или другого текстового редактора. Если у вас нет DE или WM, вы можете установить lightdm , но перед тем, как это сделать, обязательно проведите небольшое исследование. В большинстве версий Linux используется LightDM, но во многих серверных версиях нет. Например, для сервера Ubuntu без DE установка lightdm — это нормально и необходимо. Изменение поведения LightDM выполняется с помощью специального файла конфигурации 50-myconfig.conf .
Чтобы узнать, есть ли у вас lightdm , используйте , который .
который lightdm
Если нет, установите его с помощью apt .
apt установить lightdm
Настройте LightDM для автоматического входа в систему для загрузки непосредственно в Kodi.
нано /etc/lightdm/lightdm.conf
Раскомментируйте следующую строку.
# autologin-user =
И добавьте пользователя, для которого хотите выполнить автоматический вход. В этом примере имя пользователя kodi .
autologin-user = коди
Затем вы можете создать /etc/lightdm/lightdm.conf.d/50-myconfig.conf, но убедитесь, что настройки в /etc/lightdm/lightdm. conf согласны.
Создайте пользовательский файл конфигурации с именем 50-myconfig.conf с помощью nano или другого текстового редактора CLI.
мкдир /etc/lightdm/lightdm.conf.d/ нано /etc/lightdm/lightdm.conf.d/50-myconfig.conf
Внутри этого нового файла добавьте следующий текст.
[SeatDefaults] autologin-user = kodi
CTRL + O + Enter + X для сохранения и выхода из nano .
3 Настройте Kodi для автоматического запуска
Настройте Kodi для автозапуска.
А)
sudo sed -i "1i @kodi" / etc / xdg / lxsession / LXDE-pi / автозапуск
В)
мкдир -p ~ /.config / autostart ln -s / usr / bin / kodi ~ / .config / autostart
Для этого метода автозапуска требуется среда рабочего стола или DE. В разных DE это делается немного по-разному. Некоторые полезные ссылки можно легко найти в сегодняшнем веб-поиске с помощью любой поисковой системы.
Автозапуск приложений в XFCE
Эта ссылка показывает, как автоматически запустить приложение в LXDE на Raspbian.
Автозапуск программ LXDE — Raspberry Pi Projects
Raspberry Pi — это немного больше похоже на настройку, но это отличные ссылки, которые расскажут вам, как это сделать.Первая ссылка является наиболее полезной, чтобы убедиться, что Kodi автоматически запускается в Pi и использует crontab . На Pi есть много настроек, которые управляют загрузкой, и первая ссылка дает лучший и самый беспроблемный способ загрузки непосредственно в Kodi.
СтекLAMP на Raspberry Pi с запущенным Kodi при запуске
В приведенной выше ссылке автор описывает использование Crontab (сокращение от «Cron table») для загрузки непосредственно в Kodi.
apt установить cron crontab -e
Cron попросит вас выбрать текстовый редактор из доступных вариантов.Выбираю вариант 2 для nano .
В новом Crontab введите следующий текст.
@reboot kodi - автономный
Raspbian имеет пакет репозитория для всего, поэтому kodi-standalone можно запускать как пакет, а не как аргумент команды. Вам не нужно устанавливать kodi-standalone с Apt.
apt установить kodi-standalone
Например, если бы я установил kodi-standalone после установки стандартного пакета kodi , я получаю такое сообщение.
[защита электронной почты]: / home / pi # apt install kodi-standalone Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Готово Обратите внимание: выбор kodi вместо kodi-standalone kodi - это уже самая новая версия (2: 18.7-1 ~ buster). 0 обновлено, 0 установлено заново, 0 удалено и 0 не обновлено. [электронная почта защищена]: / home / pi #
Это потому, что раньше он был отдельным пакетом, но с тех пор превратился в команду. На самом деле это всего лишь тривиальная разница вместо использования:
@reboot kodi - автономный
Вы можете использовать,
@reboot коди-автономный
Одно или другое, но не оба.
Вы также можете рассмотреть возможность использования Crontab для запуска сценария, как описано на этой странице в разделе «Запуск kodi в диспетчере окон», если вы прокрутите страницу вниз.
Kodi — Запуск kodi в оконном менеджере
Вместо этого ваш Crontab может выглядеть так.
@ перезагрузка startx
И создайте файл ~ / .xinitrc .
нано ~ / .xinitrc
Файл ~ / .xinitrc должен выглядеть так.
#! / Bin / bash kodi --standalone # (это правильный синтаксис для большинства установок Kodi) # kodi-standalone # (это синтаксис, который работает в Raspbian, а не в других операционных системах Pi) sudo chvt 2 спать 1 sudo chvt 1
Убедитесь, что ~ /.xinitrc , запустив.
chmod + rx ~ / .xinitrc
Чтобы гарантировать, что sudo не требует пароля для любого пользователя, входящего в систему при запуске этого сценария, вы должны отредактировать / etc / sudoers или запустить команду visudo , если она установлена, для редактирования / etc / sudoers.
Вы можете установить visudo из репозитория по умолчанию вашего дистрибутива Linux.
подходит для установки sudo
Чтобы использовать visudo , просто запустите команду в терминале.
visudo
Для любых пользователей без полномочий root создайте запись в / etc / sudoers с nano .
нано / и т. Д. / Sudoers
Создайте запись в любой строке, которая вам удобна, как показано здесь.
кодов ALL = NOPASSWD: / usr / bin / chvt # pi ALL = NOPASSWD: / usr / bin / chvt # (если вы не добавляете пользовательский коди)
Приведенный выше пример предназначен для пользователей pi и kodi .
Если вы решите не использовать таблицу Cron, вы всегда можете удалить ее снова.
crontab -r
Это краткий справочник по Crontab.
Краткое руководство по Crontab
Эти связанные страницы упрощают дополнительные настройки и настройки, относящиеся к другому использованию системы X Window на Pi.
Включить систему X Window на PiScreen
Другие настройки Raspbian.
Руководство по экрану-заставке Raspbian — Очистите процесс загрузки
Предупреждение о пониженном напряжении и отключение заставки на Raspbian
Удалить весь текст сообщений загрузки в Raspbian — Raspberry Pi Stack Exchange
И, если хотите, проще следовать процессу, предоставленному по этой ссылке, чтобы изменить образ Raspbian перед его установкой на карту microSD.
Изменение Raspbian с помощью qemu-user-static
Вышеупомянутая ссылка описывает удаление DE из образа Raspbian, хотя Raspbian Lite — гораздо лучшая отправная точка для использования Qemu для этой цели.
Вы также можете использовать оконную систему X11 для автоматического запуска Kodi, поместив сценарий запуска в каталог /etc/X11/Xsession.d/.
Автоматический запуск приложений при запуске X
нано /etc/X11/Xsession.d/startup-local
Вставьте этот текст в новый файл.Используйте CTRL + O + Enter + X, чтобы сохранить файл.
#! / Bin / sh / usr / bin / kodi
Если у вас есть WM, например Blackbox, вы также можете добавить его сюда.
#! / Bin / sh черный ящик & / usr / bin / kodi
Установите разрешения, чтобы сделать его исполняемым. Используйте амперсанд для запуска каждой команды в фоновом режиме до последней строки, иначе ваш скрипт застрянет на первой строке.
chmod 755 /etc/X11/Xsession.d/startup-local
Если Kodi не установлен по стандартному пути, найдите его с помощью команды which .
который коди
Эта функция доступна в операционных системах X Window System. Большинство дистрибутивов Linux используют X Window System.
4 Создать собственный сценарий Xsession
Чтобы создать собственный сценарий Xsession с помощью текстового редактора, мы начнем со сценария xinitrc . Для получения более подробной информации о том, как создать и использовать xinit , есть отличное руководство, доступное здесь.
Руководство по X11 — Начало сеансов — WikiBooks
нано ~ / .xinitrc
Чтобы запустить Kodi в полноэкранном режиме, убедитесь, что текст гласит:
#! / Usr / bin / env bash exec gnome-session & / usr / bin / kodi -fs
Замените gnome-session используемой вами командой DE или WM. Примеры см. В последнем разделе.
Для использования исполняемого файла ~ / .xinitrc .
chmod + x ~ / .xinitrc
Используйте sudo и файл ~ / .xinitrc для настройки ~ / .xsession .
sudo -H -u kodi bash -c "ln -s ~ / .xinitrc /home/kodi/.xsession"
Убедитесь, что путь ведет к домашнему каталогу пользователя. В этом примере пользователь — kodi .
Для выполнения этой команды необходимо использовать команду sudo .Если у вас нет sudo , установите его.
подходит для установки sudo
Если вы создаете символическую ссылку и хотите ее удалить, просто удалите существующий файл .xsession , который вы создали.
пог.м /home/kodi/.xsession
В некоторых системах, использующих DE, таких как Gnome, а не во всех системах, использующих Gnome, может потребоваться, чтобы .xsession был .xsessionrc . Хотя это более вероятно для сетевых компьютеров организации, чем для персональных компьютеров, конфигурации которых могут различаться на разных машинах. В большинстве случаев вы хотите создать .xsession , а не .xsessionrc .
Вы также можете создать сценарий .xsession непосредственно в домашнем каталоге, а не связывать его с ~ / .xinitrc . Это необходимо, если вы создаете несколько пользовательских сценариев Xsession для нескольких пользователей и в этом случае не связываете ~ / .xinitrc с .xsession .
Чтобы включить несколько дисплеев, отредактируйте файл .bashrc .
нано ~ / .bashrc
Добавьте следующий текст.
, если [[! $ DISPLAY && $ XDG_VTNR -le 3]]; тогда exec startx фи
Для двух мониторов добавьте следующее, как показано.
, если [[! $ DISPLAY && $ XDG_VTNR -le 2]]; тогда exec startx фи
Для использования с одним монитором:
, если [[! $ DISPLAY && $ XDG_VTNR -eq 1]]; тогда exec startx фи
Если вы хотите оставаться в системе после выхода из X, удалите exec из приведенного выше. Могут применяться и другие конфигурации, но они не имеют отношения к автозапуску Kodi.
Xinit Автозапуск X при входе в систему
Если вы используете LightDM и хотите просто создать новую запись для входа в систему для пользователя kodi , вы должны создать новый файл.
нано /usr/share/xsessions/custom.desktop
И вставьте следующий текст.
[Desktop Entry] Имя = Xsession Exec = / и т.д. / X11 / Xsession
Это создаст новый вариант входа в систему для пользовательской сессии Xsession.Только эта одна запись необходима для LightDM и X11, чтобы найти сценарий ~ / .xsession в домашнем каталоге каждого пользователя.
Вы можете использовать любой оконный менеджер или среду рабочего стола с настраиваемым сценарием Xsession, если он установлен.
Для этого нужно создать сценарий ~ / .xinitrc , содержащий команду для запуска WM или DE.
Например, если вы используете FluxBox.
#! / Usr / bin / env bash exec fluxbox & / usr / bin / kodi -fs
Параметр -fs
— полноэкранный.
Чтобы запустить Gnome в фоновом режиме, но запустить Kodi на переднем плане.
#! / Usr / bin / env bash exec gnome-session & / usr / bin / kodi -fs
Используйте файл ~ / .xinitrc , чтобы настроить ~ / .xsession для создания пользовательского входа в систему для любого пользователя, а не только для Kodi.
sudo -H -u [имя пользователя] bash -c "ln -s ~ / .xinitrc ~ / .xsession"
Вы должны перенастроить Xserver для любого пользователя, который не является привилегированным пользователем, чтобы иметь возможность запускать собственный Xsession.
dpkg-переконфигурировать xserver-xorg-legacy dpkg-reconfigure xserver-xorg
Когда вы перенастраиваете X11 с помощью этих команд, разрешите пользователям без полномочий root (кому угодно) запускать Xsession. Вы должны увидеть, что ваши изменения вступят в силу после перезагрузки.
Как включить или отключить службы в Ubuntu Systemd / Upstart
Часто возникает необходимость временно или навсегда включить или отключить службы в нашей системе Ubuntu. Иногда нам может потребоваться автоматический запуск определенных служб при загрузке e.g ssh или веб-серверы, и иногда нам может потребоваться отключить службы, которые нам больше не нужны и которые загружают процессор и оперативную память.
В этом руководстве мы рассмотрим, как мы можем включать и отключать службы в Ubuntu. Для этого мы должны сначала понять, что есть 3 основные системы инициализации для Ubuntu
.Каждая система инициализации имеет свой способ запуска и остановки служб. Мы рассмотрим каждый из них.
Как включить и отключить службы в Systemd init
Чтобы запустить службу в systemd , выполните команду, как показано:
systemctl start имя службы
Например, чтобы запустить веб-службу apache, запустите
systemctl start apache2
Чтобы убедиться, что служба запущена, запустите
статус systemctl apache2
Выход
● apache2. сервис - LSB: веб-сервер Apache2
Загружено: загружено (/etc/init.d/apache2; плохо; предустановка поставщика: включена)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Активен: активен (работает) с Чт 2018-03-15 17:09:05 UTC; 35с назад
Документы: man: systemd-sysv-generator (8)
CGroup: /system.slice/apache2.service
├─2499 / usr / sbin / apache2 -k start
├─2502 / usr / sbin / apache2 -k start
└─2503 / usr / sbin / apache2 -k start
15 марта 17:09:04 ip-172-31-41-251 systemd [1]: Запуск LSB: веб-сервер Apache2...
15 марта 17:09:04 ip-172-31-41-251 apache2 [2475]: * Запуск веб-сервера Apache httpd
15 марта 17:09:05 ip-172-31-41-251 apache2 [2475]: *
15 марта 17:09:05 ip-172-31-41-251 systemd [1]: LSB запущен: веб-сервер Apache2.
Для остановки службы запущена служба
systemctl stop apache2
Чтобы убедиться, что служба не запущена, запустите
статус systemctl apache2
Выход
● apache2. сервис - LSB: веб-сервер Apache2
Загружено: загружено (/etc/init.d/apache2; плохо; предустановка поставщика: включена)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Активный: неактивный (мертвый) с Thu 2018-03-15 17:19:47 UTC; 12с назад
Документы: man: systemd-sysv-generator (8)
Процесс: 2822 ExecStop = / etc / init.d / apache2 stop (code = exited, status = 0 / SUCCESS
Процесс: 2687 ExecStart = / etc / init.d / apache2 start (code = exited, status = 0 / SUCCE
15 марта 17:10:11 ip-172-31-41-251 systemd [1]: Запуск LSB: веб-сервер Apache2...
15 марта 17:10:11 ip-172-31-41-251 apache2 [2687]: * Запуск веб-сервера Apache httpd
15 марта 17:10:12 ip-172-31-41-251 apache2 [2687]: *
15 марта 17:10:12 ip-172-31-41-251 systemd [1]: LSB запущен: веб-сервер Apache2.
15 марта 17:19:46 ip-172-31-41-251 systemd [1]: Остановка LSB: веб-сервер Apache2 ...
15 марта 17:19:46 ip-172-31-41-251 apache2 [2822]: * Остановка веб-сервера Apache httpd
15 марта 17:19:47 ip-172-31-41-251 apache2 [2822]: *
15 марта 17:19:47 ip-172-31-41-251 systemd [1]: Остановлен LSB: веб-сервер Apache2.
Чтобы включить службу apache2 при загрузке, запустите
systemctl включить apache2
Чтобы отключить службу apache2 при загрузке, запустите
systemctl отключить apache2
Для перезапуска службы
systemctl перезапустить apache2
Чтобы проверить, настроена ли в настоящий момент служба для запуска при следующей загрузке
systemctl включен apache2
Выход
Выполнение / lib / systemd / systemd-sysv-install с включенным apache2
включен
Проверить, активна ли услуга
systemctl активен apache2
Выход
активный
Как полностью удалить службы Systemd
Что делать, если вы установили пакет и позже решили, что он вам больше не нужен. Как вы собираетесь удалить его полностью? Следуйте приведенным ниже командам.
Сначала остановите службу
systemctl stop имя-службы
Затем отключите службу
systemctl отключить имя службы
Удаление службы в systemd
RM / etc / systemd / system / service-name
rm / etc / systemd / system / service-name / [соответствующие символические ссылки]
Перезагрузить systemd
systemctl демон-перезагрузка
Наконец запустить,
сбой сброса systemctl
Как включать и отключать службы в Upstart init
Система инициализацииUpstart была представлена незадолго до systemd. Она использовалась в Ubuntu 9.10 в Ubuntu 14.10. Позже он был постепенно сокращен, проложив путь для systemd init в Ubuntu 15.04 и более новых версиях. В этом примере давайте посмотрим, как мы можем запускать и останавливать, включать и отключать службы в Ubuntu 14.04.
Upstart использует файлы конфигурации для управления службами. Эти файлы хранятся в каталоге / etc / init. Эти файлы состоят из разделов обычного текста, организованных в строфы, и каждая строфа описывает услугу и то, как она работает.
Чтобы проверить, запущена ли служба , выполните команду ниже
статус initctl имя-службы
ИЛИ
услуга название услуги статус
ИЛИ
статус наименование службы
В этом примере мы проверим состояние чашки, сервера печати Linux.
чашки статуса initctl
ИЛИ
статус стаканчиков
ИЛИ
статусные чашки
Выход
старт / работа чашек, процесс 3029
Чтобы остановить службу , выполните команду ниже
стопорные колпачки initctl
ИЛИ
стопор для сервисных стаканов
ИЛИ
упоры
Выход
чашек остановка / ожидание
Включение службы в Upstart init
В / etc / init / *. conf, вы найдете директиву « respawn », которая запускает службу в случае неожиданного сбоя или перезагрузки системы. Обычно он включен по умолчанию.
Например, в файле /etc/init/cups.conf ниже
первый аргумент (3) — это количество попыток перезапуска, а второй аргумент (12) — временной интервал между повторными попытками. Если не удается перезапустить автоматически. он будет оставаться в остановленном состоянии.
Чтобы отключить службу в выскочке init
запустите команду ниже
echo manual >> / etc / init / service.переопределение
Это создает файл переопределения, который отключает службу без изменения определения задания.
Для обслуживания чашек команда будет
echo manual >> /etc/init/cups.override
После перезагрузки системы чашки будут в остановленном состоянии. Если вы хотите повторно включить службу, необходимо удалить файл /etc/init/cups. override.
Инструмент Sysv-rc-conf
Это текстовая консоль, которая дает вам обзор различных служб и уровней запуска, запуск которых запланирован.Его можно установить с помощью следующей команды
apt-get install sysv-rc-conf
Чтобы запустить инструмент, запустите
sysv-rc-conf
Работа — инструмент администратора
Это еще одна функция, которая позволяет вам управлять службами и процессами в среде графического интерфейса пользователя. Вы можете установить это, запустив.
apt-get install jobs-admin
Как включить и отключить службы в SysV init
Чтобы включить службу в SysV init, запустите
обновление-RC.d включить имя службы
Например, если вы хотите включить веб-сервер apache, вы должны запустить
update-rc.d включить apache2
Чтобы отключить службу, запустите
update-rc. d отключить имя службы
Например,
update-rc.d отключить apache2
Почти все системы Linux работают на Systemd init из Ubuntu, Debian, RHEL и CentOS. Таким образом, вы обнаружите, что будете чаще использовать команду systemctl для запуска, остановки, включения и отключения служб.Мы приглашаем вас опробовать команды, показанные в этой статье. Спасибо.
Читайте также:
Автозапуск виртуальных машин VirtualBox при загрузке системы в Linux
В системе Linux с установленным VirtualBox вы можете запускать виртуальные машины автоматически во время загрузки системы. В этом руководстве мы узнаем, как автоматически запускать виртуальные машины VirtualBox при загрузке системы в Linux. В этой демонстрации используется Ubuntu 16.04 в качестве машины Linux, на которой размещено несколько виртуальных машин VirtualBox 6.0.
Автозапуск виртуальных машин VirtualBox при загрузке системы в Linux
VirtualBox поставляется со службой vboxautostart-service , которая упрощает автоматический запуск виртуальных машин во время перезагрузки системы.
Настройка службы автозапуска VirtualBox
Чтобы настроить виртуальную машину VirtualBox для запуска при загрузке системы в Linux, необходимо активировать службу автозапуска. Службу автозапуска можно активировать, установив две переменные в / etc / default / virtualbox ;
- VBOXAUTOSTART_DB — который определяет абсолютный путь к каталогу базы данных автозапуска, обычно / etc / vbox .
- VBOXAUTOSTART_CONFIG — определяет путь к конфигурации автозапуска виртуальной машины.
Эти переменные можно определить как;
VBOXAUTOSTART_DB = / etc / vbox VBOXAUTOSTART_CONFIG = / etc / vbox / autostartvm.cfg
Чтобы поместить эти переменные в / etc / default / virtualbox , выполните команду ниже;
echo -e "VBOXAUTOSTART_DB = / etc / vbox \ nVBOXAUTOSTART_CONFIG = / etc / vbox / autostartvm.cfg" | sudo tee / etc / default / virtualbox
Определите параметры конфигурации автозапуска виртуальной машины. Файл конфигурации автозапуска содержит параметры, управляющие автоматическим запуском виртуальной машины.
vim /etc/vbox/autostartvm.cfg
default_policy = deny
amos = {
allow = true
startup_delay = 10
}
- default_policy — определяет, разрешить или запретить автоматический запуск виртуальной машины по умолчанию. В приведенном выше примере мы запретили кому-либо автоматически запускать виртуальную машину и явно разрешили одному пользователю, amos.
- имя пользователя (amos) — с помощью политики запрета по умолчанию вы можете определить конкретных пользователей, которым разрешен автозапуск виртуальной машины ( allow = true ).Вы также можете определить, на сколько нужно отложить запуск виртуальной машины. В этой демонстрации используется 10 секунд.
Установить право собственности на каталог базы данных
Каталог базы данных, / etc / vbox , должен быть доступен для записи пользователем для автоматического запуска виртуальных машин. Чтобы упростить задачу, вы можете просто добавить своего пользователя в группу vboxusers и установить групповое владение каталогом базы данных на группу vboxusers. После этого установите права на запись для группы. В этом случае для автоматического запуска виртуальной машины будет использоваться пользователь amos.
sudo usermod -aG vboxusers amos
sudo chgrp vboxusers / etc / vbox
Назначьте групповые разрешения на запись в каталог автозапуска базы данных.
sudo chmod g + w / etc / vbox
Чтобы защитить каталог от изменения или удаления другими пользователями, кроме владельца или пользователя root, установите липкий бит.
sudo chmod + t / etc / vbox
Включить автозапуск виртуальной машины
Как пользователь, вы можете включить автозапуск для отдельных машин.Для этого необходимо сначала определить путь к каталогу базы данных.
VBoxManage setproperty autostartdbpath / etc / vbox /
После этого вы можете настроить виртуальную машину на автоматический запуск при загрузке системы.
vboxmanage modifyvm fedora30 --autostart-enabled на
Где fedora30 — это UUID или имя вашей виртуальной машины.
Перезапустить vboxautostart-service
На этом настройка завершена. Чтобы настройки вступили в силу, необходимо перезапустить vboxautostart-service .
sudo systemctl restart vboxautostart-service
Тестирование автозапуска виртуальной машины
Чтобы проверить, действительно ли ваша виртуальная машина может автоматически запускаться при загрузке системы, перезагрузите систему и проверьте. Когда система загружается, ваша виртуальная машина должна работать.
Если вы отключите автозапуск виртуальной машины;
vboxmanage modifyvm fedora30 --autostart-enabled off
Вот и все, как автоматически запускать виртуальные машины VirtualBox при загрузке системы в Linux. Не стесняйтесь оставлять любые комментарии.Наслаждаться.
Связанные руководства;
Изменение размера корневого раздела снимка виртуальной машины VirtualBox
Установка гостевых дополнений VirtualBox на Debian 10 Buster
Установка Debian 10 Buster на VirtualBox
Установка и настройка брандмауэра Endian на VirtualBox
Как обновить VirtualBox 5.