Как посмотреть автозагрузку ubuntu
Написанием данной статьи меня побудила банальная задача: отключить графическую оболочку при старте системы. Казалось бы, поменять одну цифру в /etc/inittab. Но как выяснилось, все намного сложнее. Итак, разберем по полочкам, что такое inittab и systemd, для чего они нужны и как управлять автозагрузкой приложений в linux. Как человек, который самостоятельно пытается найти ответы, пришлось прочитать не одну статью, информации на эту тему много, но понимание приходит не сразу. На русскоязычных форумах как правило развернутого ответа нет. Скажу сразу, я не системный администратор и статья больше рассчитана на людей, кто относительно недавно познакомился с linux. Кому интересна данная тема, добро пожаловать.
Это моя первая статья, если есть замечания прошу в комментарии.
Что такое inittab
По сути inittab представляет из себя файл в котором можно посмотреть/поменять уровень загрузки операционной системы в /etc/inittab. Давайте разберем его
В linux существуют 7 уровней загрузки операционной системы. В нашем случае нулевой уровень — это режим восстановления, первый — это запуск в одиночном режиме под root. 2-5 загрузка в мульти пользовательском режиме (т.е. обычный режим). Отличаются они лишь набором стартовых скриптов. 6 уровень это перезагрузка. Скрипты берутся из директорий, которые расписаны в inittab. Наша система по умолчанию загружается на 5 уровне, посмотрим что-же находится в директории /etc/init.d/rc 5:
Скрипты в этом каталоге выполняются каждый раз при старте системы. А если быть точнее это лишь символьные ссылки на сами скрипты. Первая буква означает S(start) K(kill или stop) для изменения порядка скриптов меняется цифра, т.е. запуск скриптов выполняется по возрастанию. Руками менять можно, но рекомендуется менять через «update-rc.d»
Все просто и прозрачно.
Что такое systemd
Systemd является заменой старой традиционной загрузки inittab. Был разработан чтобы обеспечить лучшую обработку зависимостей. В настоящее время systemd поставляется по умолчанию с популярными дистрибутивами linux таких как Fedora, Mandira, Arch Linux, CentOS 7, Red Hat 7.0 и на удивление для меня в Debian 8.9.
Плюсы и минусы в явном виде для меня не понятны. Интересен в первую очередь функционал. Итак разбираемся дальше. Две вещи, которые нам нужно знать:
Чтобы посмотреть уровень загрузки, введем команду:
Как правило graphical.target аналог 5 уровня, запуск системы в графическом режиме.
Чтобы посмотреть все доступные нам уровни, введем:
проведем аналогию c inittab
При старте системы linux смотрит в файл (который является ссылкой)
Таким образом чтобы загрузиться в многопользовательском режиме, нам нужно сменить ссылку или использовать systemctl (делает тоже самое)
Автозагрузка проложений
Как мы уже поняли в каталогах /etc/rc1.d/* лежат символьные ссылки на скрипты. Где цифры от 6 это уровень загрузки у inittab или systemd. Мы можем менять руками порядок запуска, убирать и добавлять. По сути systemd пробежится по всем файлам и попытается их инициализировать при старте системы. Теперь разберем управление через команды:
chkconfig — нужна для просмотра сервисов(программ). Поддерживает режим изменения для любого уровня загрузки.
update-rc.d — служит для запуска/остановки скриптов, при старте/выключении системы. Собственно через нее мы и будем менять автозапуск графической оболочки KDE(kdm). Так уж получилось, что у меня запуск окружения KDE включен для 2-5 уровней по умолчанию.
При старте системы я отключаю 2-4 уровень загрузки и проверяю что у меня стоит 3-й уровень загрузки
Перезагружаюсь и вижу приглашение консоли tty. profit
На самом деле, это чуть больше чем консоль. Мы можем переключаться между вкладками.
CTRL+ALT+(F1-F6)
Многие программы мы используем постоянно и запускаем их каждый раз при старте системы, а некоторые, такие, как мессенджеры или различные утилиты должны постоянно работать в фоне чтобы правильно выполнять свою задачу. Для этого в операционных системах существует автозагрузка. Программы запускаются автоматически, после того, как запустилась ОС или графическая оболочка.
В этой статье мы поговорим о том, как работает автозагрузка в Ubuntu, какие существуют способы автозагрузки в этой системе и как добавить туда программы.
АВТОЗАГРУЗКА В UBUNTU
Первым делом нужно сказать, что в Ubuntu существует несколько уровней автозагрузки. Я не буду говорить здесь про systemd и автозагрузку сервисов, так как уже рассматривал это в одной из первых статей. Программу или скрипт можно добавить в автозагрузку такими путями:
- Утилита «Автоматически запускаемые приложения»;
- Папка «Автозапуск»;
- Файл rc.local;
- Файл Xinitrc;
Мы рассмотрим первые два способа, поскольку два последние более рассчитаны на скрипты, а не программы. Сначала автозагрузка в Ubuntu с помощью стандартной утилиты.
Откройте меню системы и наберите «Авто» и откройте программу, которая будет первой в списке, Автоматически запускаемые приложения:
Здесь будут перечислены все приложения, которые сейчас запускаются автоматически. Чтобы добавить в автозагрузку ubuntu еще одно приложение, нажмите кнопку «Добавить»:
Здесь нужно ввести имя нового пункта, а также команду запуска приложения. Вы можете выбрать приложение в файловой системе, если не помните путь, нажав кнопку «Обзор»:
В команде можно указывать параметры, если это нужно. Еще можно заполнить поле «Описание», но это уже необязательно. Если вам нужна определенная программа из главного меню, но вы не знаете где ее найти и как пишется ее команда, можно посмотреть ее в том же меню. Но для этого нам нужно сначала установить утилиту «Главное меню» из центра приложений:
Дальше запустите утилиту и найдите в ней нужное приложение. Затем нажмите «Свойства»:
Здесь вам нужно обратить внимание на строку «Команда», скопируйте ее и можете использовать для автозагрузки.
Следующий способ — это папка автозагрузки. Она находится по адресу
/.config/autostart. По сути, это тот же самый способ, только он может выполняться без графического интерфейса. Когда вы настраиваете автозагрузку через приложение, то в этой папке создаются файлы настроек с именем desktop. Вот, например:
Напоминаю, что для того, чтобы посмотреть скрытые файлы нужно нажать сочетание клавиш Ctrl+H. Теперь попытаемся создать новый конфигурационный файл для еще одной программы. Вот таким будет его синтаксис:
[Desktop Entry]
Type = Application
Name = имя_нового_пункта
Exec = команда
Icon = полный_путь_к_иконке
Comment = комментарий
X-GNOME-Autostart-enabled = true
Для примера, сделаем файл для запуска плеера VLC, он будет выглядеть вот так:
[Desktop Entry]
Type=Application
Name=VLC
Exec=vlc
Icon=/usr/share/icons/hicolor/16x16/apps/vlc.jpg
Comment=VLC Media Player
X-GNOME-Autostart-enabled=true
Готово, и самое интересное, что если вы откроете приложение автозагрузки. То там тоже появится этот пункт. Это такой способ настройки без графического интерфейса.
ВЫВОДЫ
В этой небольшой статье мы рассмотрели как настраивается автозагрузка программ ubuntu различными способами — через графический интерфейс и терминал. Вы можете использовать эти знания, чтобы сделать работу в вашей системе более удобной. Даже несмотря на то, что Ubuntu перешла на Gnome, автозагрузка в ubuntu 16.04 и сейчас выглядят практически одинаково. Если у вас остались, вопросы, спрашивайте в комментариях!
В Убунту есть 2 основных уровня автозапуска — в системе инициализации systemd и в рабочем окружении. Для пользовательского софта автозагрузка в Ubuntu может быть настроена в удобной графической утилите. Добавить в автозапуск можно программу или собственный скрипт.
Автозагрузка в Ubuntu
Актуальная Ubuntu 18.04 по умолчанию в качестве рабочего окружения использует GnomeShell. Для настройки автозапуска в этой версии ОС нужно:
- Нажать на кнопку «Обзор» в левом верхнем углу экрана.
- Начать вводить в строку поиска «Автоматически запускаемые приложения» и запустить найденную утилиту.
- Далее кликнуть по кнопке «Добавить», чтобы внести желаемое приложение в автозагрузку.
- Заполнить поля «Имя» (название программы — как удобно) и «Команда» (та, которую вводят в консоли для запуска этого софта). Поле «описание» необязательное, сюда разрешено вписать любой комментарий.
Пример добавления Transmission в автозагрузку в Линукс показан на скриншоте:
- Нажать кнопку «Добавить».
В ней выбрать интересующий пункт и открыть его свойства. Правильная команда копируется из одноименной строки.
Запуск приложений в Ubuntu, присутствующих в списке и помеченных галочкой, будет происходить при каждом старте ОС. Все это приложения данного пользователя, системные программы и сервисы, утилита не отображает. В предыдущих версиях операционной системы с графической оболочкой Unity утилита для настройки автозагрузки также ищется поиском по меню Dash или открывается с помощью команды в терминале:
Как добавить скрипт в автозагрузку Ubuntu
Кроме конкретного софта, добавить в автозагрузку Linux легко и самописный скрипт, чтобы оптимизировать работу за компьютером. Для этого необходимо:
-
Сделать скрипт исполняемым с помощью команды:
Есть другой, классический, но считающийся устаревшим способ настроить автозапуск скрипта в Ubuntu. Для его выполнения нужно:
-
Открыть терминал и выполнить команду:
Этот способ подойдет и для автозагрузки на UbuntuServer, где нет графики.
Отсрочка автозапуска программ в Ubuntu
Если программ в автозагрузке Убунту очень много, их необходимо подгружать в определенном порядке или запускать спустя какое-то время после загрузки системы — поможет функция отсрочки. Для ее активации используется unix-утилита sleep. Воспользоваться возможностями этого инструмента можно в уже знакомой программе «Автоматически запускаемые приложения». Для этого нужно:
- Открыть окно параметров запускаемых приложений.
- Выделить курсором программу, автозапуск которой необходимо отсрочить, и воспользоваться кнопкой «Изменить».
- В строке «Команда» перед имеющеюся записью внести:
где цифра после слова «спать» равна количеству секунд, которое приложение бездействует сразу после старта системы, перед тем как запуститься. Между данной формулой, в конце которой обязательна точка с запятой, и командой на запуск приложения, должен быть пробел.
В приведенном примере отложенной автозагрузки программ в Ubuntu приложение остается в состоянии «сна» 2 минуты, прежде чем открыться. Например, запуск через полчаса после старта ОС будет выглядеть как sleep 3h «имя программы». Пример, в котором Transmission запускается через 1 час:
Аналогичным образом можно добавить в автозагрузку в Linux отсроченное выполнение пользовательского скрипта или запуск медиафайла.
Удаление из автозапуска Ubuntu
Чтобы убрать софт из автозагрузки Ubuntu, можно воспользоваться одним из 2 способов: через «Автоматически запускаемые приложения» или вручную. В первом случае достаточно запустить утилиту, выделить нужную программу и нажать «Удалить». Простое снятие галочки отключается программа, и она не будет запускаться при старте системы.
Ручной способ подразумевает использование папки autostart в Ubuntu. Она расположена по адресу /home/имя пользователя/.config/autostart/ (чтобы увидеть эту скрытую папку, следует открыть домашний каталог в файловом менеджере и нажать одновременно клавиши Ctrl+H). В ней лежат файлы с расширением .desktop для каждой программы из автозапуска, формирующиеся автоматически при добавлении через графическую утилиту. Достаточно удалить файл, чтобы программа больше не открывалась при включении компьютера.
Заключение
Автозагрузка в Ubuntu имеет множество способов тонкой настройки. Ее возможности трудно охватить. Грамотное использование этого инструмента делает ОС Linux практичнее в повседневных задачах.
Операционная система Ubuntu была задумана разработчиками, как операционная система для обычного человека, который в компьютере знает только где его включить и где «Интернет запустить». Именно поэтому Canonical все больше и больше стремиться к какому-то упрощению. Наверное, хочет догнать и посоперничать с MacOS.
Для того, чтобы армия домохозяек ринулась устанавливать Ubuntu, Canonical с каждой новой версией убирает на их взгляд ненужные вещи.
Как увидеть все программы, которые добавлены в автозагрузку Ubuntu?
- нотификатор новой почты от Evolution,
- ознакомительная презенташка самой ОС, которую видите сразу после установки
- и т.д.
Чтобы увидеть все программы, добавленные в автозагрузку, нужно воспользоваться поискам и набрать «авто»:
Приложение «Автозапуск приложений в Ubuntu» появится в списке на экране.
Сразу после установки ОС список автозагрузки Ubuntu будет таким:
По умолчанию показываются только пользовательское приложения. Но в операционной системе еще очень много мусора, который автоматически запускается при запуске Ubuntu. И Вы ли пользуетесь этим софтом.
Для того, чтобы увидеть полный список автозагрузки в Ubuntu, необходимо исполнить 2 команды, которые исполняются по очереди:
После исполнения Вы получите полный список автоматически загружаемых приложений в Ubuntu.
Если Вам по какой-то причине нужно вернуть все назад, то команды будут вот такими:
Теперь можно смело настраивать автозагрузку операционной системы, выкидывая все ненужное и неиспользуемое. Возможно ваша операционная система задышит свежим воздухом.
Только не следует отключать все подряд, так как часть компонентов являются системными и их отключение может привести к неправильной загрузке операционной системы.
Комментарии
Эта команда только лишь показывает все пункты автозагрузки, которые были скрыты от Вас.
Рассмотрим два варианта автозагрузки программ или скриптов в Ubuntu. Через графический интерфейс и с использованием файла rc.local. В предыдущих версиях автозагрузка в Ubuntu работала именно через файл rc.local, однако в последних версиях её отключили. Мы включим данную возможность.
Автозагрузка через графический интерфейс
Автозагрузка через графический интерфейс настраивается в приложении Startup Application. Заходим в приложения (пункт 1) и запускаем Startup Application (пункт 2)
Появится окно программы, где можно добавить, удалить или изменить текущие программы запускаемые при старте системы.
Нажимаем Add для добавления программы в автозагрузку. Пишем название программы и указываем путь к ней. Для теста я добавил в автозагрузку игру mahjongg.
Нажимаем Save и перезагружаем компьютер. Игра Mahjongg должна запуститься при входе в систему.
Как включить rc.local
Создаем файл rc.local
Добавляем в него содержимое:
Делаем файл исполняемым:
Включение rc.local в автозагрузку
Теперь добавляем свой скрипт либо сервис до строчки exit 0 . Я для теста добавлю команду создания папки в директории tmp
Сохраняем файл и перезагружаемся. При старте системы будет создана папка testdir в /tmp/
Про автозагрузку в Ubuntu я записал видео с примерами по каждому из способов.
Читайте также: