Автозагрузка скриптов в Linux
Раньше было принято размещать все скрипты, которые запускаются по умолчанию в файле /etc/rc.local. Этот файл все еще существует, но это пережиток системы инициализации SysVinit и теперь он сохраняется только для совместимости. Скрипты же нужно загружать только с помощью Systemd.
Для этого достаточно создать простой юнит-файл и добавить его в автозагрузку, как любой другой сервис. Сначала создадим этот файл:
В секции Unit мы даем краткое описание нашему файлу и говорим с помощью опции After, что нужно запускать этот скрипт в многопользовательском режиме (multi-user). Секция Service самая важная, здесь мы указываем тип сервиса — idle, это значит, что нужно просто запустить и забыть, вести наблюдение нет необходимости, а затем в параметре ExecStart указываем полный путь к нашему скрипту.
Осталось выставить правильные права:
Затем обновить конфигурацию и добавить в автозагрузку Linux новый скрипт:
После следующей перезагрузки этот скрипт будет запущен автоматически
Обратите внимание, что для каждого скрипта, который вы собираетесь запускать должны быть правильно выставлены права, а именно нужно установить флаг выполнения. Для этого используйте команду chmod:
В параметрах мы передаем утилите адрес файла скрипта. Исполняемость — это обязательный параметр для всех способов.
Unity, стандартная среда Ubuntu
Ubuntu, пожалуй, самый распространенный дистрибутив для начинающих
что делает странным, что эта функция не удобна для пользователей в Unity. К сожалению, автозапуск приложений в Системных настройках недоступен; вместо этого он требует, чтобы вы искали Dash для Запуск приложений инструмент.
В инструменте «Автозагрузка» щелкните добавлять Кнопка на правой стороне окна. Ubuntu не обеспечивает удобство выбора приложений, поэтому у вас есть два варианта для продолжения: 1.) Введите название приложения и команда чтобы запустить его (если вы это знаете) или 2.) Нажмите Просматривать кнопку, из боковой панели выберите компьютер и перейдите к / USR / бен папка. Папка / usr / bin содержит двоичный файл для запуска всех программ, установленных на вашем компьютере, так что для некоторых это может быть проблематично, посмотрите видео ниже для руководства.
В приведенном выше видео я продемонстрировал, как искать приложение, когда вы переходите в папку / usr / bin и просто начинаете вводить первые несколько букв двоичного имени.
Как узнать какой используется менеджер отображения
Для этого выполните команду:
systemctl status display-manager.service
Будет выведена примерно следующая информация:
● gdm.service - GNOME Display Manager Loaded: loaded (/usr/lib/systemd/system/gdm.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2018-08-03 06:15:18 UTC; 1h 50min ago Main PID: 490 (gdm) Tasks: 3 (limit: 4915) Memory: 8.4M CGroup: /system.slice/gdm.service └─490 /usr/bin/gdm авг 03 06:15:18 HackWare systemd: Starting GNOME Display Manager... авг 03 06:15:18 HackWare systemd: Started GNOME Display Manager. авг 03 06:15:27 HackWare gdm-password]: pam_unix(gdm-password:session): session opened for user mial by (uid=0)
Информация о менеджере отображения содержится сразу в нескольких местах, например, в первой строке GNOME Display Manager — это полное название GDM.
Таким образом, у меня это GDM. У вас может быть, например, LightDM.
Автозагрузка на уровне ядра
Автозагрузка на уровне ядра вряд ли будет вам очень полезной для повседневного применения, но я решил о ней упомянуть, поскольку такая возможность есть. С помощью параметра ядра init вы можете указать какую программу стоит запускать сразу после завершения инициализации ядра. Например, вы можете загрузить оболочку Bash вместо Systemd. Для этого достаточно подправить строку запуска ядра в конфигурационном файле Grub или во время запуска. Добавьте в конец параметр init:
Но, обычно, удобнее изменить это значение временно, в меню Grub. Читайте подробнее об этом в статье параметры ядра Linux. Так не выполняется автозагрузка программы linux, но, тем не менее, иногда может быть полезно.
Unity, стандартная среда Ubuntu
Ubuntu, пожалуй, самый распространенный дистрибутив для начинающих
что делает странным, что эта функция не удобна для пользователей в Unity. К сожалению, автозапуск приложений в Системных настройках недоступен; вместо этого он требует, чтобы вы искали Dash для Запуск приложений инструмент.
В инструменте «Автозагрузка» щелкните добавлять Кнопка на правой стороне окна. Ubuntu не обеспечивает удобство выбора приложений, поэтому у вас есть два варианта для продолжения: 1.) Введите название приложения и команда чтобы запустить его (если вы это знаете) или 2.) Нажмите Просматривать кнопку, из боковой панели выберите компьютер и перейдите к / USR / бен папка. Папка / usr / bin содержит двоичный файл для запуска всех программ, установленных на вашем компьютере, так что для некоторых это может быть проблематично, посмотрите видео ниже для руководства.
В приведенном выше видео я продемонстрировал, как искать приложение, когда вы переходите в папку / usr / bin и просто начинаете вводить первые несколько букв двоичного имени.
Автозапуск через cron
Если вам с какой-то периодичностью нужно запускать скрипт или команду, вы можете воспользоваться cron-ом:
— открыть терминал для написания задания cron
И добавьте туда нужное вам задание, например:
— запускать скрипт каждую минуту.
Можно написать скрипт watch-dog, который по заданию будет проверять, например, статус какого-либо сервиса и, если он не работает, запускать его. На нескольких своих проектах я использую подобную схему.
Чтобы вывести список всех заданий в крон, нужно выполнить команду:
* * * * * /root/test.sh
Допустимые значения для времени запуска заданий cron по порядку:
- Минуты от 0 до 59
- Часы от 0 до 59
- День месяца от 1 до 31
- Месяц от 1 до 12
- День недели от 0 до 7 (0 или 7 это воскресение)
В нашем задании скрипт запускается каждую минуту, поэтому там стоят «*».
Так же вы можете разместить нужный вам скрипт в директориях cron:
- /cron.daily – выполнение скрипта ежедневно
- /cron.hourly – выполнение скрипта ежечасно
- /cron.monthly — выполнение скрипта ежемесячно
- /cron.weekly — выполнение скрипта еженедельно
Скрипты в указанных директория будут запускаться согласно автоматически подготовленного расписания.
Автозагрузка в Ubuntu
Актуальная Ubuntu 18.04 по умолчанию в качестве рабочего окружения использует GnomeShell. Для настройки автозапуска в этой версии ОС нужно:
- Нажать на кнопку «Обзор» в левом верхнем углу экрана.
- Начать вводить в строку поиска «Автоматически запускаемые приложения» и запустить найденную утилиту.
- Далее кликнуть по кнопке «Добавить», чтобы внести желаемое приложение в автозагрузку.
- Заполнить поля «Имя» (название программы — как удобно) и «Команда» (та, которую вводят в консоли для запуска этого софта). Поле «описание» необязательное, сюда разрешено вписать любой комментарий. Пример добавления Transmission в автозагрузку в Линукс показан на скриншоте:
- Нажать кнопку «Добавить».
Совет! Чтобы не ошибиться с правильностью команды, нужно установить утилиту «Главное меню» из UbuntuSoftwareCenter.
В ней выбрать интересующий пункт и открыть его свойства. Правильная команда копируется из одноименной строки.
Запуск приложений в Ubuntu, присутствующих в списке и помеченных галочкой, будет происходить при каждом старте ОС. Все это приложения данного пользователя, системные программы и сервисы, утилита не отображает. В предыдущих версиях операционной системы с графической оболочкой Unity утилита для настройки автозагрузки также ищется поиском по меню Dash или открывается с помощью команды в терминале:
Как добавить приложение в автозагрузку
Несмотря на то, что пользователь лишен возможности активировать автоматический запуск программы путем добавления ее ярлыка в соответствующую папку, у него остается несколько довольно простых способов выполнения операции. Навыки опытного юзера не потребуются. А единственное условие заключается в соблюдении всех требований инструкции.
«Параметры»
Самый простой вариант активации функций для отдельных программ. Все инструменты, связанные с изменением настроек компьютера на базе Windows 10, находятся в «Параметрах». Поэтому, если вы решите добавить какое-либо приложение в автозагрузку, сделайте следующее:
- Щелкните ЛКМ по иконке «Пуск», чтобы перейти в соответствующее меню.
- Нажмите на кнопку с шестеренкой. Это позволит запустить «Параметры».
Перейдите в раздел «Приложения», а затем – «Автозагрузка».
Ознакомьтесь со списком установленных программ и передвиньте ползунок вправо напротив той, которую планируется использовать в режиме автозагрузки.
На заметку. «Параметры» позволяют не только активировать функцию, но и присвоить каждой программе степень влияния на ОС. От этой настройки зависит, будет ли приложение работать в фоне, или оно откроется на весь экран.
Аналогичным образом вы сможете убрать программу из автозагрузки. Любые изменения вступят в силу после перезагрузки устройства. Так что в случае, если вы хотите ознакомиться с принципом работы функции, обязательно выключите, а затем снова включите компьютер.
Еще один простой вариант, предполагающий взаимодействие с папкой автозагрузки. Поскольку добавление исполняемого файла в директорию «C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup» заметно усложняет процесс ручного запуска самой программы, действовать нужно через обходной путь:
Щелкните ПКМ по свободной области Рабочего стола.
- Нажмите на кнопку «Создать ярлык».
- Укажите расположение исполняемого файла приложения.
Затем нужно поместить получившийся ярлык в папку автозагрузки.
Далее останется перезагрузить компьютер, чтобы понять, вступили ли изменения в силу. В случае соблюдения всех требований инструкции программа должна запуститься вместе с операционной системой.
Планировщик задач
Чтобы программа автоматически запускалась после включения компьютера, нужно поставить соответствующую задачу для планировщика заданий. Это альтернативный метод, предполагающий следующие действия со стороны пользователя:
Открыть «Панель управления» через поисковую строку Windows или любым другим удобным способом.
В качестве типа просмотра установить «Категория».
Перейти в раздел «Система и безопасность», а затем – «Администрирование».
Запустить «Планировщик заданий».
- В правой части окна нажать на кнопку «Создать задачу».
- Во вкладке «Общие» зарегистрировать имя для новой задачи, а также подтвердить настройку для Windows
- Нажать кнопку «Создать» во вкладке «Триггеры».
Поставить исполнение задачи «При входе в систему».
Во вкладке «Действия» указать расположение исполняемого файла.
Сохранить изменения.
Если вам удалось сделать правильную настройку новой задачи, то после перезагрузки компьютера указанная программа должна самостоятельно запуститься. В случае, если этого не произойдет, попробуйте повторить действия из алгоритма или обратиться к другим методам добавления приложений в автозагрузку.
Редактор реестра
Заключительный вариант, позволяющий включить программу или системные гаджеты в список автозагрузки. Операция выполняется через Редактор реестра, и пользователю нужно внимательно ознакомиться с инструкцией, чтобы не допустить ошибку на одном из этапов:
- Зажмите клавиши «Win» + «R».
- Через окно «Выполнить» обработайте запрос «regedit.exe».
- Оказавшись в Редакторе реестра, перейдите в директорию «HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run».
- Щелкните ПКМ по свободной области окна в правой части экрана.
- Нажмите на кнопку «Создать» и выберите «Строковый параметр».
- Задайте имя для параметра. Здесь рекомендуется продублировать название приложения, чтобы в дальнейшем его можно было без труда убрать из списка автозагрузки.
- В пункте «Значение» укажите расположение исполняемого файла программы.
- Нажмите на кнопку «ОК» для сохранения настроек.
Важно. Если вам захочется активировать автозагрузку приложения не для всего компьютера, а для конкретного пользователя, то нужно переместиться в директорию с начальной папкой «HKEY_CURRENT_USER»
Дальнейшие действия не отличаются.
По аналогии с предыдущими способами выполнения операции необходимо перезагрузить компьютер. Только так вы сможете понять, запустилась ли указанная программа вместе с устройством.
Как работает автозагрузка?
Чтобы понять как работает автозагрузка, сначала нужно вспомнить, что происходит во время процесса загрузки Linux. Как только ядро завершит свою инициализацию и будет готово к дальнейшей работе, оно передаст управление системе инициализации. Система инициализации — это основной процесс, именно он запускает все другие процессы в системе.
Есть процессы, которые система инициализации, например, systemd, запускает по умолчанию, но также вы можете настроить чтобы она запускала нужные вам процессы. Также многими дочерними процессами выполняются файлы скриптов или имеется та или иная возможность запускать необходимые вам программы. Такая возможность есть и у большинства окружений рабочего стола.
Рассмотрим основные уровни автозагрузки которые вы можете использовать:
- Автозагрузка на уровне ядра — вы можете указать любую программу, которая будет запускаться после старта ядра вместо системы инициализации;
- Автозагрузка системы инициализации — запуск основных системных сервисов, дополнительных сервисов, а также ваших скриптов на этапе инициализации системы;
- Автозагрузка rc.local — устаревший метод загрузки скриптов, выполняется перед запуском графического окружения;
- Автозагрузка менеджера входа — вы можете выполнять свои скрипты или команды после запуска менеджера входа, но перед запуском окружения;
- Автозагрузка X сервера — запуск нужных программ или скрпитов сразу после старта X сервера;
- Автозагрузка окружения — большинство окружений поддерживают автозагрузку программ, там даже можно настроить отложенный запуск и другие параметры;
- Автозагрузка bash — самый последний вариант — это автозагрузка на уровне отдельной командной оболочки, вы можете выполнять нужные команды автоматически, как только будет запущен терминал.
Дальше мы рассмотрим более подробно как использовать каждый из пунктов для автозагрузки программ, скриптов или выполнения команд в Linux.
Загрузка с помощью rc.local после загрузки системы
Необходимо создать скрипт в любой директории, где вам удобно и сделать его исполняемым как в первом способе.
Затем подправить файл rc.local любым редактором текста, например nano:
Изначально скрипт rc.local пустой и содержит только:
Пропишите полный путь скрипта перед строчкой exit 0 и сохраните файл.
Скрипт выполниться после загрузки системы .
Однако в последних версиях Ubuntu (например в Ubuntu 18.04) в директории /etc нет файла rc.local и его необходимо создать и сделать исполняемым:
Все, скрипт должен автоматически запускаться.
Это моя первая статья, если есть замечания прошу в комментарии.
Добавление программы в автозапуск с помощью дополнительного приложения
Для изменения режима запуска программного обеспечения в системе Windows Вы можете использовать программный продукт CCleaner. Он является полностью бесплатным и поставляется по принципу «как есть».
Шаг 1. Осуществите запуск программного продукта.
Запускаем программу CCleaner
Шаг 2. Разверните список «Сервис», расположенный в левом фрейме интерфейса.
Разворачиваем список «Сервис»
Шаг 3. Перейдите в список «Автозагрузка». Для внесения дополнительного элемента в состав автоматической загрузки выделите его кликом мыши и используйте кнопку «Включить».
Переходим в список «Автозагрузка», выделяем элемент кликом мыши и нажимаем кнопку «Включить»
Создание собственного демона и добавление его в systemd
Вы можете создать собственный демон, которым можно будет управлять через systemd.
Например, нам нужно запускать все тот же скрипт /root/test.sh после перезагрузки системы. Начнем с создания файла нашей будущей службы:
Содержимое файла будет следующее:
Description=Template Settings Service After=network.target Type=oneshot User=root ExecStart=/root/test.sh WantedBy=multi-user.target
Основные параметры:
User – пользователь под которым будет запускаться демон
Type=oneshot — процесс будет завершен до запуска дальнейших юнитов
Проверяем и перезапускаем:
● test-script.service - Test Loaded: loaded (/etc/systemd/system/test-script.service; disabled; vendor preset: disabled) Active: active (running)
Если вас устроило то, как работает сервис, добавьте его в автозагрузку:
Created symlink from /etc/systemd/system/multi-user.target.wants/test-script.service to /etc/systemd/system/test-script.service.
Таким образом, вы можете добавить любой ваш скрипт в автозагрузку через systemd.
Это интересно: Как обновить сигнатуры Касперского — рассматриваем по пунктам
Открываем меню автозагрузки
Начнем с азов. Сначала рассмотрим способы, как попасть в автозагрузку Десятки.
Через Диспетчер задач
Как и в предыдущих версиях Виндовс, меню вызывается через комбинацию клавиш, только в Десятке она другая: Ctrl + Shift + Esc. Еще способ — через «Пуск» открыть «Диспетчере», далее переходим в «Подробнее» -> «Автозагрузка». Отобразятся программы для автоматической загрузки.
Здесь пользователь управляет любой из этих программ. Ему доступно (по правому щелчку):
- отключить и активировать приложение;
- открыть местонахождение файла;
- запустить поиск в Интернете;
- просмотреть свойства приложения.
Дополнительно указан такой параметр, как влияние той или иной программы на запуск. То есть сколько времени затрачивает ОС на запуск данного приложения.
Автозагрузка в параметрах
Параметры появились в Windows 10 только с весны 2018 года после апрельского обновления 101803. Переходим в «Параметры» по Win + I, ищем «Приложения» -> «Автозагрузка». Открываем то же самое меню, что в Диспетчере.
Но здесь нельзя добавить приложение, а можно только поменять параметры его работы.
Способы добавления приложений в Автозагрузку
Чтобы принудительно добавить программу в автозагрузку Windows 10, есть несколько приемов. Они не столь очевидны, как в других выпусках Виндовс, поэтому требуется объяснение.
Добавление напрямую
Автозагрузка располагается в директории Startup. Добираемся туда так:
- В строке поиска вводим shell:common startup либо shell:startup. Первая команда разрешает доступ всем пользователям, а вторая – только текущему.
- Откроется нужная нам папка автозагрузки. Чтобы добавить приложение, выбираем ее на Рабочем столе, перетаскиваем в папку. Те же действия доступны с ярлыком программы.
Добавление через Планировщик
- Открываем Планировщик задач путем ввода taskschd.msc в поле поиска.
- Нам надо: «Действия – создать простую задачу». Запустится мастер.
- Придумываем произвольное название, отмечаем время (условие) — «при запуске системы».
- Последний раздел «Действие», где отмечаем флажок запуска и указываем к ней путь.
Все приложения будут запущены при старте Виндовс.
Добавление с помощью настройки реестра
- Вызываем командой regedit. Ищем раздел Run по адресу SOFTWARE\Microsoft\Windows\CurrentVersion\.
- При открытии раздела будет показан перечень приложений. Чтобы добавить программу в автозагрузку Windows 10, щелкаем правой кнопкой в любом месте, вызывая подменю «Создать».
- Создаем строковый параметр с любым названием.
- В строчке «Значение» указываем путь к исполняющему файлу приложения.
Процедура закончена.
Сложные случаи автозапуска
Бывает так, что приложение установлено и настроено, а само не запускается. Это происходит из-за того, что требуется ручной запуск от имени администратора. Есть два пути решения этой проблемы. Самый простой — каждый раз запускать приложение от имени администратора. Более сложный и, пожалуй, рискованный — отключить службу UAC, то есть контроль за учетными записями пользователей.
Существует два способа отключения UAC: полностью и частично (для выбранного приложения). Настоятельно рекомендуем второй, особенно, если пользователь слабо разбирается в администрировании.
Полное отключение
- Открыть Панель управления, затем раздел учетных записей.
- Нажимаем «Изменить параметры UAC», перетаскиваем ползунок до строчки «Не уведомлять меня», подтверждаем ОК.
Контроль полностью отключен.
Чтобы сделать то же самое для выбранного приложения:
- Выбираем программу и создаем для нее ярлык.
- Заходим в свойства ярлыка на вкладку «Совместимость».
- Отмечаем галочку, чтобы программа выполнялась от имени администратора.
Заканчиваем «Применить».
Еще способ. Находясь в том же меню, выбрать вкладку «Ярлык» -> «Дополнительно», активировать галочку запуска от имени администратора, подтвердить ОК и «Применить».
Настроенный ярлык переносим в Автозагрузку, как описано в разделе «Добавление напрямую». Итак, мы рассмотрели способы, как открыть папку автозагрузки, как добавить программу в автозагрузку Windows 10. Вкратце описали действия с приложениями. В разделе сложных случаев приведена инструкция по отключению UAC.
Как настроить скрытую сеть Wi-Fi
Для создания или подключени к скрытой сети Wi-Fi в менеджере сетевых подключений имеются соответствующие строки.
Нажмите на «подключиться к скрытой беспроводной сети и заполните следующие поля:
Если вы хотите создань новую скрытую сеть то заполните поля, как на изображении ниже
Как видите, ничего сложного и мы надеемся, что данная статья помогла вам подключиться к интернету и полноценно пользоваться операционной системой Linux Mint.
Всем привет! После использования новой операционной системы периодически сталкивался с проблемой – когда Linux Mint не видит WiFi. Немного поднабравшись опыта, я решил написать более детальную статью, в отличие от тех, которые есть в интернете. Они конечно неплохие, но как правило не полностью решает некоторые мелкие нюансы.
CentOS 6
Здесь за автозагрузку демонов/программ/служб отвечает содержимое каталога /etc/rc.local. Управление этими процессами идет через команду chkconfig, которая кроме стандартных функций добавления/удаления служб с автозагрузки имеет уровни выполнения команды (уровни запуска). Уровни запуска — режимы работы операционной системы, каждый с каких несет в себе установленное направление функционала и ограничений. Всего уровней существует семь, которые нумеруются от 0 до 6.
0 уровень — прекращение работы системы.
1 уровень — однопользовательский режим, доступен только пользователю root.
2 уровень — многопользовательский режим, возможно работа с нескольких терминалов, вход уже как обычные пользователи.
3 уровень — также многопользовательский режим, настройка сетевых служб.
4 уровень — не используется.
5 уровень — включение графической подсистемы X11, для возможности использования графического интерфейса вместо командной строки.
6 уровень — перезагрузка системы.
вывод на экран списка всех сервисов
Здесь после использования команды на экране в консоли возле номеров уровней будут идти индикаторы on -включен, off — выключен, что определяет на каких уровнях работает или нет указанный сервис.
добавление сервиса в автозагрузку
Где после —level указываются номера уровней (слитно) на которых будет доступен сервис.