2020-07-18

Запуск Linux под Android без регистрации и SMS

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

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

Необходимое железо

Прежде всего понадобится подходящий телефон с Android. Не все устройства подойдут, так как различные телефоны работают с разными типами процессоров, данный метод сработает если у вас 64 битный ARM процессор. На 32 битных устройствах нужно использовать 32 битный образ Linux.

Желательно использовать физическую клавиатуру и мышь. Работать с програмной клавиатурой можно, но некоторые клавиши типа табуляции и стрелок отсутствуют на виртуальной клавиатуре, поэтому я предпочитаю физическую, благо большинство Bluetooth клавиатур прекрасно работают с Android.

Я использую раскладную клавиатуру с тачпадом - все же мобильное устройство должно оставаться мобильным и не занимать много места. Хотя на раскладной клавиатуре работать немного непривычно, возможно, у меня просто неправильная клавиатура.

Переключение языков по умолчанию происходит комбинацией Contol+Space как на Макинтош. Для этого в настройках Android нужно настроить дополнительные языки для физической клавиатуры.

Необходимые программы

Для полноценного запуска Линукс нам потребуются две программы:

  • Termux - эмулятор Linux под андроид.
  • XServer XSDL - реализация X Server для Андроид.
Установка Linux

В Termux выполняем следующие команды чтобы скачать образ Fedora:


pkg install wget

wget https://raw.githubusercontent.com/nmilosev/termux-fedora/master/termux-fedora.sh

sh ./termux-fedora.sh f32_arm64

startfedora

Если все скачалось успешно вы окажетесь в командрой строке Fedora и получите доступ ко всем программам экосистемы под платформу на процессорах ARM.

Обновим систему и поставим необходимые программы:


dnf update

#установим xfce:
dnf install @xfce 

#программы по вкусу, список можно расширить:
dnf instll mc gimp audacity

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

 

Запускаем XServer XSDL ждем когда появится синий экран с приглашением

	 
export DISPLAY=192.168.0.178:0 PULSE_SERVER=tcp:192.168.0.178:473 

startxfce4 &

Если все установилось нормально то в X Server вы увидите оконный менеджер и сможете запускать GUI программы.

Доступ к файлам устройства.

Файлы устройства видны по адресу /storage/emulated/0 - это не удобно так как родительские папки без доступа на чтение и из GUI программ туда не всегда получается пробраться - проблема решается созданием символической ссылки


ln -s /storage/emulated/0 /mnt/storage

Проблемы

Что пока не работает: звук пока мне не удалось заставить работать - хотя поддержка, вроде бы, заявлена.

Популярные браузеры не запустились. Ни Хромиум ни Firefox запускаться не захотели.

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

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

 

комментарии:

 

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

Имя*

разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться