Как автоматически запускать приложения при загрузке Linux

Android основан на ядре Linux, включает в себя набор стандартных UNIX-команд и простой шелл sh. Все это значит, что мы можем не только использовать командную строку для выполнения низкоуровневых операций, но и писать шелл-скрипты, которые будут выполнять функции, недоступные из графического интерфейса. В этой статье мы поговорим о том, что с их помощью можно сделать и зачем все это нужно.

Особенности Android-окружения

В самой своей основе, там, где нет Java и Dalvik, Android представляет собой минималистичный Linux-дистрибутив со всеми свойственными ему атрибутами: ядром, системой инициализации, набором библиотек, демонов, консольных команд и, конечно же, шеллом. Последний — это не что иное, как mksh из MirBSD, переименованный в sh; простой командный интерпретатор с поддержкой языковых конструкций классического Bourne shell из UNIX и автодополнением по нажатию Tab.

В качестве комплекта базовых UNIX-команд здесь используется toolbox, своего рода урезанная альтернатива BusyBox, которая позволяет вызывать несколько разных команд из одного бинарника (с помощью симлинков). Toolbox включает в себя очень ограниченный набор команд, в котором нет не только grep или sort, но даже cp. Поэтому для полноценной работы со скриптами настоятельно рекомендуется установка BusyBox, благо в маркете полно бесплатных инсталляторов.

Особенности Android-окружения

Сам шелл располагается не совсем по адресу, поэтому «шибанг» в скриптах будет выглядеть несколько по-иному, а именно #!/system/bin/sh. Зато о расположении бинарников можно не думать вообще, так как в переменной $PATH всегда прописаны правильные значения. Каталогов для поиска команд тут всегда три: /system/bin/, /system/sbin/ и /system/xbin/ для внешних бинарников. Туда обычно устанавливается BusyBox.

Читайте также:  Windows 7 или XP не видит компьютеры рабочей группы

Основное назначение скриптинга в Android — работа с ядром и системными утилитами. Ядро тут стандартное и экспортирует все те же интерфейсы /proc и /sys, через которые можно рулить железом и состоянием системы. Плюс есть набор специфичных для Android утилит, которые будут очень полезны при разработке скриптов:

  • pm — менеджер пакетов, позволяет устанавливать, удалять и перемещать софт;
  • am — менеджер активностей (Activity), может быть использован для запуска приложений;
  • dumpsys — дамп в консоль массы различной информации о состоянии системы;
  • screencap — утилита для снятия скриншота;
  • screenrecord — утилита для записи скринкастов;
  • getprop/setprop — команды для чтения и изменения системных переменных;
  • start/stop — запуск и остановка системных служб;
  • input — позволяет отправлять в текущее окно кей-коды (эмуляция клавиатуры);
  • service — утилита для управления Java-сервисами, имеет очень много возможностей;
  • svc — позволяет управлять Wi-Fi, USB-подключением и питанием.

Часть вывода команды dumpsys

Особенности Android-окружения

Другие статьи в выпуске: Хакер #185. Докажи баг!

  • Содержание выпуска
  • Подписка на «Хакер»

Добавление процессов

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

Добавление процессов
  1. Открываем меню «Система», пункт «Параметры».
  2. Выбираем программу «Запускаемые приложения».
  3. В появившемся окне видим все утилиты, которые запускаются при старте системы.
  4. Жмём кнопку «Добавить» для добавления новой.

    Жмём кнопку «Добавить» для добавления новой программы

  5. Появляется заполняемое поле. Строки с названием и комментарием заполняем, используя свою фантазию. А вот «Команда» должна содержать набор символов для запуска процесса. Если нам они известны, просто вписываем, а если нет — шагаем дальше.

    Заполняемое поле

  6. Ищем нужное приложение через редактор главного меню.
  7. Жмём кнопку свойства и копируем команду оттуда.

    Нажимаем Свойства

  8. Вставляем её в нужное для автозапуска поле.

    Указываем значение команды

Добавление процессов

Добавлять таким образом можно не только утилиты, но и просто сервисы. Только в верхней строчке нужно выбрать подходящий тип, если он есть, а также вписать нужную команду. Главное — знать её.

Добавление процессов

KDE через Kubuntu

Проект KDE в настоящее время переходит на свою последнюю версию, Plasma 5, которая является версией Kubuntu , которая демонстрируется на видео ниже. Процесс управления запуском приложений в KDE идентичен по функциональности как в Plasma 5, так и в KDE4, поэтому видео демонстрирует только Plasma 5.

В Панели запуска приложений перейдите к компьютер раздел и открыть Настройки системы приложение. Запуск и завершение работы, в разделе Рабочая область, где вы будете управлять записями. В Автоматический старт, выбран по умолчанию, нажмите Добавить программу для прокрутки списка приложений по категориям или для поиска приложения. Нажатие кнопки Хорошо чтобы продолжить, вы получите краткое изложение того, что вы собираетесь добавить, нажмите Хорошо в этом окне, чтобы завершить процесс. Plasma также позволяет автоматически запускать пользовательские сценарии, чтобы сделать это Добавить скрипт, щелкните по квадратной области и перейдите к вашему сценарию.

Шаг Запуск Snort из

Существует множество способов запустить какой-нибудь скрипт при запуске системы, но самым простым способом является использование файла Как мы уже видели раньше, файл содержит скрипт для запуска различных сервисов при загрузке системы. Теперь все, что нам осталось сделать — это добавить в этот файл команды для запуска Snort.

Откроем этот файл с помощью Leafpad и добавим две строки в конце файла для того чтобы: 1) убедиться, что в беспорядочном режиме работы сетевой платы выбран правильный интерфейс (ifconfig eth0 up -arp), и 2) выполнить скрипт, который пакет Snort поместил в директории init.d (/etc/init.d/snort start).

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

Теперь, когда наша система перезагрузилась, проверим, работает ли Snort. Для этого наберите в консоли:

Шаг Запуск Snort из

kali> ps aux | grep snort

Отлично! Теперь наша сеть постоянно защищается пакетом Snort с момента загрузки нашей системы!

Обязательно возвращайтесь, поскольку мы будем продолжать изучать внутреннюю работу Linux, чтобы дать вам те навыки, которые необходимы профессиональным хакерам!