как добавить скрипт sh в автозагрузку ubuntu

Создание своего скрипта автозапуска при загрузке компьютера

Содержание

Создаём пустой файл.

Первой строкой пишем:

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

Сохраним его под оригинальным названием (чтоб не совпадал с уже существующими) в каталоге /usr/sbin/.

Чтобы скрипт запускался при загрузке, необходимо прописать его в файле /etc/rc.local до строчки exit 0. Если у вас не существует данного файла, создайте его и вставьте в него следующее содержимое:

Немного более сложный способ

Позволяет задать последовательность загрузки и поведение скрипта при разных runlevel’ах.

В этих директориях лежат скрипты остановки сервисов:

в этих — скрипты запуска сервисов:

Изучаем их на предмет последовательности (чем меньше первая цифра в начале скрипта, тем раньше запускается/останавливается приложение). Это может быть критично, если ваше приложение будет зависит от каких-то сервисов.

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

Здесь я определил, что мой скриптик должен запускаться попозже остальных(70), и останавливаться пораньше(20). Цифры 2 3 4 5 0 1 6 означают уровни загрузки.

Если что-то не понравилось — все можно удалить

Выполнение скрипта при включении/отключении сети

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

Источник

Как добавить скрипт в автозагрузку Ubuntu

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

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

Автозагрузка за счет стандартной утилиты Ubuntu

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

$ sudo gedit /путь_к_скрипту/имя_скрипта.sh

Этот скрипт выведет на экран пользователя сообщения «Hello world». Когда программа готова, ее необходимо сделать исполняемой. Для этого используется следующая команда:

$ sudo chmod ugo+x /путь_к_скрипту/имя_скрипта.sh

Дальше в главном меню системы необходимо запустить утилиту «Автоматически запускаемые приложения».

как добавить скрипт sh в автозагрузку ubuntu. 4. как добавить скрипт sh в автозагрузку ubuntu фото. как добавить скрипт sh в автозагрузку ubuntu-4. картинка как добавить скрипт sh в автозагрузку ubuntu. картинка 4. Создаём пустой файл.

Жмем кнопку «Добавить» и вводом полный путь к файлу скрипта в поле «Команда». Можно нажать кнопку «Обзор», найти, выбрать файл скрипта и нажать «Добавить».

как добавить скрипт sh в автозагрузку ubuntu. 5. как добавить скрипт sh в автозагрузку ubuntu фото. как добавить скрипт sh в автозагрузку ubuntu-5. картинка как добавить скрипт sh в автозагрузку ubuntu. картинка 5. Создаём пустой файл.

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

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

Воспользуйтесь специальной командой, чтобы создать файл сервиса system

В этот файл необходимо добавить содержимое:

Description=My Script Service

как добавить скрипт sh в автозагрузку ubuntu. 6. как добавить скрипт sh в автозагрузку ubuntu фото. как добавить скрипт sh в автозагрузку ubuntu-6. картинка как добавить скрипт sh в автозагрузку ubuntu. картинка 6. Создаём пустой файл.

Дальше в строчке под названием ExecStart нужно выполнить одно из следующих требований: прописать путь у выполняемому скрипту или команду. После чего скрипт добавляется в автозагрузку:

$ sudo systemctl enable mysrcipt

Источник

Как добавить скрипт в автозагрузку Ubuntu

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

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

Автозагрузка с помощью стандартной утилиты Ubuntu

Создайте скрипт в удобном месте и сделайте его выполняемым:

sudo gedit /путь_к_скрипту/имя_скрипта.sh

#!/bin/bash
echo «Hello world»

Наш скрипт просто выводит строчку Hello world на экран, более подробно о создании скриптов читайте в статье написание скриптов на Bash. Когда скрипт будет готов, сделайте его исполняемым:

sudo chmod ugo+x /путь_к_скрипту/имя_скрипта.sh

Запустите утилиту Автоматически запускаемые приложения в главном меню системы:

как добавить скрипт sh в автозагрузку ubuntu. Rabochee mesto 3 012. как добавить скрипт sh в автозагрузку ubuntu фото. как добавить скрипт sh в автозагрузку ubuntu-Rabochee mesto 3 012. картинка как добавить скрипт sh в автозагрузку ubuntu. картинка Rabochee mesto 3 012. Создаём пустой файл.

Нажмите кнопку Добавить и в поле Команда введите полный путь к файлу вашего скрипта или выберите его с помощью кнопки Обзор, затем нажмите Добавить:

как добавить скрипт sh в автозагрузку ubuntu. Rabochee mesto 3 014. как добавить скрипт sh в автозагрузку ubuntu фото. как добавить скрипт sh в автозагрузку ubuntu-Rabochee mesto 3 014. картинка как добавить скрипт sh в автозагрузку ubuntu. картинка Rabochee mesto 3 014. Создаём пустой файл.

Скрипт будет выполнен после загрузки графической оболочки Ubuntu.

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

Создайте файл сервиса systemd с помощью следующей команды:

Добавьте в него такое содержимое:

[Unit]
Description=My Script Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/полный/путь/к/скрипту/имя_скрипта.sh
[Install]
WantedBy=multi-user.target

как добавить скрипт sh в автозагрузку ubuntu. Rabochee mesto 3 015. как добавить скрипт sh в автозагрузку ubuntu фото. как добавить скрипт sh в автозагрузку ubuntu-Rabochee mesto 3 015. картинка как добавить скрипт sh в автозагрузку ubuntu. картинка Rabochee mesto 3 015. Создаём пустой файл.

В строчке ExecStart можно прописать либо путь к скрипту, который надо выполнить, либо саму команду. Теперь добавьте этот скрипт в автозагрузку:

sudo systemctl daemon-reload
sudo systemctl enable mysrcipt

Источник

Всем привет, поменял разрешение с помощью xrandr команд, создал скрипт, но не знаю как добавить его в автозагрузку. Может кто подскажет?

P.S Без xrandr’a разрешение поменять нереально

Раньше было принято размещать все скрипты, которые запускаются по умолчанию в файле /etc/rc.local. Этот файл все еще существует, но это пережиток системы инициализации SysVinit и теперь он сохраняется только для совместимости. Скрипты же нужно загружать только с помощью Systemd.

Для этого достаточно создать простой юнит-файл и добавить его в автозагрузку, как любой другой сервис. Сначала создадим этот файл:

[Unit]
Description=My Script Service
After=multi-user.target

[Service]
Type=idle
ExecStart=/usr/bin/local/script.sh

В секции Unit мы даем краткое описание нашему файлу и говорим с помощью опции After, что нужно запускать этот скрипт в многопользовательском режиме (multi-user). Секция Service самая важная, здесь мы указываем тип сервиса — idle, это значит, что нужно просто запустить и забыть, вести наблюдение нет необходимости, а затем в параметре ExecStart указываем полный путь к нашему скрипту.

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

Затем обновить конфигурацию и добавить в автозагрузку Linux новый скрипт:

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

В параметрах мы передаем утилите адрес файла скрипта. Исполняемость — это обязательный параметр для всех способов.

я писал в вики по xranr

там в комментарии есть инструкция по скрипту

Вопрос актуален и для меня… Буду рад если кто подскажет..

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

Пример моих настроек. Без

HorizSync 30.0 — 82.0
VertRefresh 56.0 — 76.0

не ставилось нормально разрешение. может кому поможет.

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 361.42 (buildd@lgw01-18) Tue Apr 5 14:33:28 UTC 2016

Section «ServerLayout»
Identifier «Layout0»
Screen 0 «Screen0» 0 0
InputDevice «Keyboard0» «CoreKeyboard»
InputDevice «Mouse0» «CorePointer»
Option «Xinerama» «0»
EndSection

Section «Files»
EndSection

Section «Module»
Load «dbe»
Load «extmod»
Load «type1»
Load «freetype»
Load «glx»
EndSection

# generated from default
Identifier «Mouse0»
Driver «mouse»
Option «Protocol» «auto»
Option «Device» «/dev/psaux»
Option «Emulate3Buttons» «no»
Option «ZAxisMapping» «4 5»
EndSection

# generated from default
Identifier «Keyboard0»
Driver «kbd»
EndSection

# HorizSync source: builtin, VertRefresh source: builtin
Identifier «Monitor0»
VendorName «Unknown»
ModelName «CRT-1»
HorizSync 30.0 — 82.0
VertRefresh 56.0 — 76.0
Option «DPMS»
EndSection

Section «Device»
Identifier «Device0»
Driver «nvidia»
VendorName «NVIDIA Corporation»
BoardName «GeForce GTX 560»
EndSection

# Removed Option «metamodes» «nvidia-auto-select +0+0»
Identifier «Screen0»
Device «Device0»
Monitor «Monitor0»
DefaultDepth 24
Option «Stereo» «0»
Option «nvidiaXineramaInfoOrder» «CRT-1»
Option «metamodes» «1920×1080 +0+0; nvidia-auto-select +0+0»
Option «SLI» «Off»
Option «MultiGPU» «Off»
Option «BaseMosaic» «off»
SubSection «Display»
Depth 24
EndSubSection
EndSection

Источник

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

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

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

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

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

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

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

Автозагрузка на уровне ядра

Автозагрузка на уровне ядра вряд ли будет вам очень полезной для повседневного применения, но я решил о ней упомянуть, поскольку такая возможность есть. С помощью параметра ядра init вы можете указать какую программу стоит запускать сразу после завершения инициализации ядра. Например, вы можете загрузить оболочку Bash вместо Systemd. Для этого достаточно подправить строку запуска ядра в конфигурационном файле Grub или во время запуска. Добавьте в конец параметр init:

sudo vi /boot/grub2/grub.cfg

linux /vmlinuz-4.8.0-22-generic root=/dev/mapper/systems-ubuntu ro quiet init=/bin/bash

как добавить скрипт sh в автозагрузку ubuntu. Snimok ekrana iz 2017 02 23 18 20 08. как добавить скрипт sh в автозагрузку ubuntu фото. как добавить скрипт sh в автозагрузку ubuntu-Snimok ekrana iz 2017 02 23 18 20 08. картинка как добавить скрипт sh в автозагрузку ubuntu. картинка Snimok ekrana iz 2017 02 23 18 20 08. Создаём пустой файл.

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

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

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

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

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

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

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

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

sudo systemctl enable apache

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

sudo systemctl is-enabled httpd

как добавить скрипт sh в автозагрузку ubuntu. Snimok ekrana iz 2017 02 23 18 20 48. как добавить скрипт sh в автозагрузку ubuntu фото. как добавить скрипт sh в автозагрузку ubuntu-Snimok ekrana iz 2017 02 23 18 20 48. картинка как добавить скрипт sh в автозагрузку ubuntu. картинка Snimok ekrana iz 2017 02 23 18 20 48. Создаём пустой файл.

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

как добавить скрипт sh в автозагрузку ubuntu. Snimok ekrana iz 2017 02 23 18 25 24. как добавить скрипт sh в автозагрузку ubuntu фото. как добавить скрипт sh в автозагрузку ubuntu-Snimok ekrana iz 2017 02 23 18 25 24. картинка как добавить скрипт sh в автозагрузку ubuntu. картинка Snimok ekrana iz 2017 02 23 18 25 24. Создаём пустой файл.

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

systemctl list-unit-files | grep enabled

как добавить скрипт sh в автозагрузку ubuntu. Snimok ekrana iz 2017 02 23 18 22 41. как добавить скрипт sh в автозагрузку ubuntu фото. как добавить скрипт sh в автозагрузку ubuntu-Snimok ekrana iz 2017 02 23 18 22 41. картинка как добавить скрипт sh в автозагрузку ubuntu. картинка Snimok ekrana iz 2017 02 23 18 22 41. Создаём пустой файл.

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

Раньше было принято размещать все скрипты, которые запускаются по умолчанию в файле /etc/rc.local. Этот файл все еще существует, но это пережиток системы инициализации SysVinit и теперь он сохраняется только для совместимости. Скрипты же нужно загружать только с помощью Systemd.

Для этого достаточно создать простой юнит-файл и добавить его в автозагрузку, как любой другой сервис. Сначала создадим этот файл:

sudo vi /lib/systemd/system/runscript.service

[Unit]
Description=My Script Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/usr/bin/local/script.sh
[Install]
WantedBy=multi-user.target

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

sudo chmod 644 /lib/systemd/system/runscript.service

Затем обновить конфигурацию и добавить в автозагрузку Linux новый скрипт:

sudo systemctl daemon-reload
sudo systemctl enable myscript.service

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

sudo chmod u+x /usr/local/bin/script

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

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

/.xinitrc или /etc/X11/xinit/xinitrc. Синтаксис добавляемой строки таков:

exec путь_к_скрипту &

/.xinitrc еще не существует, то его нужно создать:

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

как добавить скрипт sh в автозагрузку ubuntu. Snimok ekrana iz 2017 02 23 19 05 49. как добавить скрипт sh в автозагрузку ubuntu фото. как добавить скрипт sh в автозагрузку ubuntu-Snimok ekrana iz 2017 02 23 19 05 49. картинка как добавить скрипт sh в автозагрузку ubuntu. картинка Snimok ekrana iz 2017 02 23 19 05 49. Создаём пустой файл.

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

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

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

как добавить скрипт sh в автозагрузку ubuntu. Snimok ekrana iz 2017 02 23 19 10 00. как добавить скрипт sh в автозагрузку ubuntu фото. как добавить скрипт sh в автозагрузку ubuntu-Snimok ekrana iz 2017 02 23 19 10 00. картинка как добавить скрипт sh в автозагрузку ubuntu. картинка Snimok ekrana iz 2017 02 23 19 10 00. Создаём пустой файл.

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

как добавить скрипт sh в автозагрузку ubuntu. Snimok ekrana iz 2017 02 23 20 00 33. как добавить скрипт sh в автозагрузку ubuntu фото. как добавить скрипт sh в автозагрузку ubuntu-Snimok ekrana iz 2017 02 23 20 00 33. картинка как добавить скрипт sh в автозагрузку ubuntu. картинка Snimok ekrana iz 2017 02 23 20 00 33. Создаём пустой файл.

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

как добавить скрипт sh в автозагрузку ubuntu. Snimok ekrana iz 2017 02 23 19 14 59. как добавить скрипт sh в автозагрузку ubuntu фото. как добавить скрипт sh в автозагрузку ubuntu-Snimok ekrana iz 2017 02 23 19 14 59. картинка как добавить скрипт sh в автозагрузку ubuntu. картинка Snimok ekrana iz 2017 02 23 19 14 59. Создаём пустой файл.

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

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

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

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

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

Выводы

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *