Эмуляция Linux на Android-устройства
В статье рассматриваются существующие эмуляции на мобильные устройства. Ни для кого не секрет, что эмуляция аппаратного обеспечения другой платформы на компьютер – это обычное дело. Надоел Windows, тогда установите себе на компьютер вместо него Linux или даже Android. Однако, если ввести в поисковую строку гугла «Эмулятор Linux для мобильных устройств», то все ссылки будут предлагать вам вариации способов загрузить Android систему на компьютер, на котором уже стоит Linux, но не наоборот.
Что такое эмулятор?
Эмулятор — это программа, позволяющая запускать на компьютере программное обеспечение с совершенно другого устройства. Чаще всего эмуляторы используются для игры в видеоигры и запуска различных операционных систем — например, вы можете установить операционную систему Mac на свой компьютер с Windows. Эмуляторы могут позволить вам запускать приложения, которые обычно не работают на вашем компьютере. Эмуляция тесно связана с концепцией виртуализации.
Компания IBM придумала концепцию эмуляции компьютеров как способ запуска программ, предназначенных для старых устройств, на более новых моделях. Метод, который использовала IBM, основывался на сочетании программного и аппаратного обеспечения, предназначенного для эмуляции. Вместо того чтобы разрабатывать новые приложения для своих новых компьютеров, встроенная обратная совместимость обеспечивала разработчикам большую гибкость. Сегодня термин «эмулятор» обычно используется в контексте видеоигр. Эмулятор видеоигр стал популярным в 1990-х годах, поскольку позволял людям играть в старые консольные игры на современных компьютерах. С распространением смартфонов и планшетов эмуляторы, способные запускать iOS или Android на ПК, стали пользоваться спросом.
Как эмуляция работает?
Различные типы эмуляторов используют различные методы эмуляции. Однако конечная цель всегда одна: воспроизвести ощущения от использования оригинального оборудования или программного обеспечения. Некоторые эмуляторы превосходят по производительности оригинальный продукт и включают дополнительные функции.
Для эмуляции требуется много вычислительных ресурсов. Из-за этого многие эмуляторы отстают по производительности от своих реальных аналогов. Поскольку их обычно создают неоплачиваемые программисты, разработка эмуляторов может занять много времени.
Эмуляция тесно связана с концепцией виртуализации. Виртуальные машины — это тип эмуляторов, которые работают на базовом оборудовании основной системы. Таким образом, налог на эмуляцию отсутствует, но виртуальные машины ограничены в том, что они могут делать по сравнению с исходной машиной.
Почему люди пользуются эмуляцией?
Каждый компьютер и операционная система уникальны. Это часто означает, что программа или приложение, работающее на одной системе, не будет работать на другой. Это особенно актуально при сравнении таких операционных систем, как Windows и MacOS, или совершенно разных устройств, таких как ноутбук и приставка PlayStation. Именно здесь на помощь приходят эмуляторы. Эмуляторы позволяют преодолеть разрыв между этими устройствами, позволяя программам работать на любом оборудовании.
Например, если у вас есть приложение для Windows, которое нужно запустить на вашем MacBook, вы можете загрузить эмулятор Parallels. Parallels, в некотором смысле, создаст компьютер с Windows внутри вашего MacBook — это позволит вам запускать любые приложения Windows, которые вам нужны.
Некоторые эмуляторы могут даже улучшать аппаратное обеспечение, которое они имитируют. Например, старые видеоигры, созданные для телевизоров формата 4:3, могут быть улучшены для работы в широкоэкранном разрешении, а также с более высокой частотой кадров. Если вы любите запускать все свои программы в любом месте и в любое время, то эмулятор — это то, что вам нужно.
Программное обеспечение обычно зависит от конкретной платформы, поэтому разработчики создают отдельные приложения для Android, iOS, Windows и Mac. Если вы являетесь пользователем Mac и хотите использовать приложение, которое доступно только для Windows, ваш единственный выход (помимо покупки компьютера с Windows) — использовать эмулятор.
Эмуляторы также играют важную роль в сохранении цифровых данных. Программы, хранящиеся на устаревших форматах, например, на старых игровых картриджах, можно загрузить в виде файлов ROM (память только для чтения) с помощью специального устройства. Затем эти ПЗУ можно воспроизвести с помощью эмулятора оригинальной игровой системы, для которой они были разработаны.
Недостатки эмуляторов
Поскольку эмуляторы должны воспроизводить поведение совершенно другого устройства, не имея собственного выделенного оборудования или источника питания, эмуляторы часто работают медленнее, чем система, которую они моделируют.
Это особенно верно, если вы эмулируете новую систему. Например, практически любой компьютер может без особых задержек эмулировать Nintendo Entertainment System 80-х годов. Но для эмуляции Nintendo Switch, которая вышла только в 2017 году, вам потребуется мощная видеокарта и процессор. И даже в этом случае может быть сложно обеспечить плавную работу эмулятора Switch.
Пользователи также должны быть осторожны, чтобы не загрузить вирус, маскирующийся под эмулятор. Обязательно скачивайте эмуляторы и программы только из источников, которым вы доверяете, и всегда проводите исследования перед установкой чего-либо.
Наконец, существует и юридический риск. Хотя эмуляторы легальны почти везде, скачивание программ для использования на этих эмуляторах без оплаты может быть не легальным. Прежде чем загружать эмулируемые программы, ознакомьтесь с правилами, действующими в вашей стране.
Некоторые популярные эмуляторы
Существует бесчисленное множество коммерческих эмуляторов и эмуляторов с открытым исходным кодом для всех основных операционных систем. Вот несколько примеров:
- Эмуляторы, такие как BlueStacks, позволяют использовать приложения Android на Windows и Mac;
- io — это браузерный эмулятор, позволяющий использовать приложения iOS на любом ПК;
- WINE запускает приложения Windows на ОС Linux;
- Такие эмуляторы, как Nestopia, позволяют играть в игры Nintendo на Linux;
- Эмуляторы консолей, таких как SNES Classic, представляют собой отдельное оборудование, позволяющее геймерам играть в старые видеоигры на современных HD-телевизорах;
- Многочисленные эмуляторы для PlayStation Portable позволяют пользователям играть в игры для других консолей на мобильной системе Sony.
Зачем устанавливать Linux на Android?
В современную эпоху технологии становятся все меньше с каждым днем, и теперь у нас есть карманные компьютеры в виде телефонов. Устройства Android компактны и обладают отличной совместимостью, поэтому вы также можете установить Linux на свое устройство Android без каких-либо проблем. Если вы уже пользовались Linux, вы знаете, что это отличная и полезная операционная система с открытым исходным кодом.
Вы можете оптимизировать свое Android-устройство для использования функций Linux, например, для работы с LAMP-сервером, инструментом для устранения неполадок, использования устройства в качестве портативной сети и устройства для перочинного тестирования. Linux дает вам хорошую производительность и хороший пользовательский интерфейс, так что вы можете делать все, что захотите. Если вы ищете способ установить и запустить Linux на Android-устройствах, на самом деле есть несколько вариантов.
Эмуляции дистрибутивов Linux на Android
Сразу же важно упомянуть, что приведённые ниже варианты работают без root. Часть системных файлов в Android защищены, и обычный пользователь не может их редактировать. Root – это специальный аккаунт, называемый «суперпользователем», который предоставляет доступ и права ко всем функциям операционной системы. Получение разрешения к использованию всех функций системы называется рутированием.
Рисунок 1 — Логотип UserLAnd
UserLAnd — один из самых популярных выборов, когда вопрос стоит о запуске Linux-приложений на Андроид. Его главные достоинство — интуитивно понятное пользование.
Установка приложения
UserLAnd устанавливается проще простого — напрямую из PlayMarket или fdroid. Выбираем любой из перечисленных дистрибутивов. В нашем случае — Ubuntu.
Рисунок 2 — Главный экран UserLAnd
Приложение просит разрешение к памяти устройства, предоставляем его. Тип системы выберем графический, так как чуть позже мы установим свое графическое окружение поверх.
Рисунок 3 — Предоставление нужных разрешений для приложения
Рисунок 4 — Выбор типа системы
Сразу же после загрузки и установки система автоматически запускает ОС. Выглядит это все таким образом:
Рисунок 5 — Первый запуск ОС
Всё работает — можно вводить стандартные команды Linux.
Установка рабочего окружения
В приложении приведен список легковесных графических окружений. Тем не менее, под их установкой подразумевается установка дистрибутива Debian с выбранным окружением. Так как ранее мы установили Ubuntu, то будет правильнее установить окружение напрямую из терминала Ubuntu. Установим окружение xfce командой sudo apt-get install xfce4.
Рисунок 6 — Установка рабочего окружения xfce
После установки завершим текущую сессию и откроем новую. Убедимся, что перед нами и вправду более не безликий терминал, а полноценный рабочий стол.
Запуск приложений
Разумеется, нужно проверить правда ли мы можем запускать десктопные приложения Linux на мобильном устройстве с Android. К примеру, запустим файловый менеджер. Всё и вправду работает.
Рисунок 7 — Файловый менеджер
Достоинства решения
- Отсутствие нужды в рутировании устройства;
- Четыре самых популярных дистрибутива на выбор;
- Доступен не только в PlayMarket, но и в репозитории Андроид приложений с открытым исходным кодом f-droid;
- Интуитивный интерфейс — во время написания статьи не пришлось ни разу лезть в Google, чтобы разобраться с чем-либо, всё на уровне “нажать, подождать, пользоваться”;
- Ряд популярных приложений вроде firefox или рабочих окружений можно установить напрямую из UserLAnd, не прибегая к командам терминала.
Недостатки решения
Рисунок 8 — Логотип AnLinux
Установка приложения
Приложение устанавливается из PlayMarket. Дополнительно нужно установить приложение Termux и приложение Vnc-viewer. По открытию приложения, нас встречает порядок установки дистрибутива и рабочего окружения.
Рисунок 9 — Окно выбора дистрибутива
Инструкции обновляются: приложение просит зайти в termux и ввести приведённую команду.
Рисунок 10 — Копирование команды для установки Ubuntu и xfce
Рисунок 11 — Вставка команды для установки Ubuntu и xfce в Termux
После завершения всех установок, заходим в VNC-viewer и подключаем по адресу localhost:1. Нас встречает Ubuntu с рабочим окружением xfce.
Рисунок 12 — Подключение к localhost:1 в VNC-viewer
Рисунок 13 — Ubuntu с рабочим окружением xfce.
Преимущества решения
Недостатки решения
Рисунок 14 — Логотип Andronix
Установка приложения
Приложение устанавливается из PlayMarket. Дополнительно нужно установить приложение Termux и приложение Vnc-viewer. По открытию приложения, нас встречает список доступных дистрибутивов.
Рисунок 15 — Главный экран приложения
Выбираем Ubuntu 18.04. Приложение предлагает выбор графического интерфейса. Выберем рабочее окружение. Среди списка рабочих окружений выберем xfce. Приложение копирует в буфер обмена код, который нужно вставить в Termux.
Рисунок 16 — Выбор версии Ubuntu
Рисунок 17 — Экран выбора типа графического интерфейса
Рисунок 18 — Экран выбора рабочего окружения
Рисунок 19 — Вставка команды в Termux
После завершения всех установок, заходим в VNC-viewer и подключаем по адресу localhost:1.Нас встречает Ubuntu с рабочим окружением xfce.
Рисунок 20 — Ubuntu с рабочим окружением Xfce
Достоинства решения
- Отсутствие нужды в рутировании устройства;
- Восемь популярных дистрибутивов на выбор по умолчанию + четыре
модифицированных дистрибутива в дополнение;
- Приложение предлагает установку не только рабочих окружений, но и оконных менеджеров (i3, awesome и т.д.);
Недостатки решения
- Andronix имеет лишь частично открытый исходный код;
- Требуется версия Android не ниже 5.0;
- Требуется установка дополнительных приложений: termux и vnc-viewer.
ИСПОЛЬЗОВАННЫЕ ИСТОЧНИКИ:
- Зверев, Г. И. Особенности эмуляции мобильной операционной системы Android / Г. И. Зверев.— Текст : непосредственный // Молодой ученый.— 2017.— № 3 (137).— С. 93-96;
- Подорожный, И. В. Введение в контейнеры, виртуальные машины и docker / И. В. Подорожный, А. Н. Светличный, А. В. Подлеснов. — Текст : непосредственный // Молодой ученый.— 2016.— № 19 (123).— С. 49-53;
- Елманова Н., Пахомов С. Виртуальные машины 2007 [Текст] / Н. Елманова // Компьютер Пресс. − № 9. − 2007. − С.29-41;
- Дейтел Г. Введение в операционные системы: Пер. с англ. – М.: Мир, 1987. – том 2 – 400 с;
- Костромин В.А Самоучитель Linux для пользователя. СПб: БХВ-Петербург, 2002.-672 с.: с ил. (Издательский дом «Питер»);
- Назаров С.В., Гудыно Л.П., Кириченко А.А. Операционные системы. Практикум. Под ред. С.В. Назарова-М.: КУДИЦ-ПРЕСС, 2008. — 464с;