что такое ubuntu в termux
Termux шаг за шагом (Часть 1)
При первом знакомстве Termux, а я далеко не линуксоид, вызвал в моей голове две мысли: «Круть несусветная!» и «Как им пользоваться?». Порывшись в инетах, я не нашел ни одной статьи в полной мере позволяющей начать пользоваться Termux’ом так чтобы это приносило больше удовольствия чем гемора. Будем это исправлять.
Для начала определимся, что это за зверь такой Termux, и что он может. На главной странице WikiTermux (рекомендую ознакомиться) говорится, что “Termux — это эмулятор терминала и среда Linux”, т.е. установив его мы получим вполне работоспособный Linux терминал на своем Android устройстве. Несомненным плюсом является работа в виртуальном окружении (многое можно делать без root’а), благодаря чему навредить файловой системе Android практически нереально. А при наличии root’а ваши возможности ограничены только фантазией (ну и знанием матчасти).
За каким, собственно говоря, я полез к Termux’у? Во-первых хакинг, точнее желание немного в нем разобраться. Во-вторых отсутствие возможности пользоваться Kali Linux’ом.
Тут я постараюсь собрать воедино все полезное найденное мной по теме. Разбирающегося эта статья вряд ли чем удивит, но тем кто только познает прелести Termux’а, надеюсь, будет полезна.
Для лучшего понимания материала рекомендую повторять описанное мной не простой копипастой а самостоятельно вводить команды. Для удобства нам понадобится либо Android устройство с подключенной клавиатурой, либо как в моем случае Android устройство и ПК/Ноутбук (Windows) подключенные к одной сети. Android желательно с root’ом, но не обязательно. Иногда я что-то указываю в скобках, обычно, это позволит лучше понять материал (если написанное в скобках не совсем понятно, то смело пропускайте это, потом в процессе и по мере необходимости все разъяснится).
Шаг 1
Буду банален и чертовски логичен одновременно
Ставим Termux c Google Play Market:
Открываем установленное приложение и видим:
Далее стоит обновить предустановленные пакеты. Для этого по порядку вводим две команды, по ходу выполнения которых со всем соглашаемся, вводя Y:
Первой командой мы проверяем список установленных пакетов и ищем те, которые можно обновить, а второй обновляем их. По этой причине команды нужно писать именно в такой последовательности.
Теперь у нас наиболее свежая версия Termux.
Еще несколько нужных команд
Более подробно по командам UNIX ищем в интернете (саморазвитие никто не отменял).
Сочетание клавиш Ctrl + C и Ctrl + Z прерывает и прекращает выполнение команд соответственно.
Шаг 2
Облегчи себе жизнь
Чтобы не мучить себя без нужды вводом команд с экранной клавиатуры (в «полевых» условиях, конечно, от этого не уйти) есть два пути:
Я пошел по второму пути, хотя он и немного сложен в настройке, но все окупится удобством использования.
На компьютере необходимо установить программу ssh клиент, я пользуюсь Bitvise SSH Client, и все дальнейшие действия совершаются в этой программе.
Поскольку мы будем подключаться по методу Publickey с использованием файла-ключа, необходимо этот файл создать. Для этого в программе Bitvise SSH Client на вкладке Login щелкаем по Client key manager в открывшемся окне генерируем новый публичный ключ и экспортируем его в OpenSSH формате в файл с названием termux.pub (на самом деле можно любое название). Созданный файл помещаем во внутреннюю память вашего Android устройства в папку Downloads (к этой папке, и еще к нескольким, Termux имеет упрощенный доступ без root).
Во вкладке Login в поле Host вводим IP вашего Android устройства (узнать можно введя в Termux команду ifconfig) в поле Port должно быть 8022.
Теперь переходим к установке OpenSSH в Termux, для этого вводим следующие команды:
Возвращаемся к Bitvise SSH Client и нажимаем кнопку Log in. В процессе подключения появится окно, в котором выбираем Method – publickey, Client key это Passphrase (если вы ее указали при генерации файла-ключа).
В случае успешного подключения (если все сделали, как написано, то должно подключиться без проблем) откроется окно.
Теперь мы можем вводить команды с ПК а выполняться они будут на вашем Android устройстве. Не сложно догадаться какие это дает преимущества.
Шаг 3
Настроим Termux, установим дополнительные утилиты
Прежде всего давайте установим bash-completion (сокращалку, волшебный-Tab, кто как называет). Суть утилиты в том что, вводя команды вы можете нажав Tab воспользоваться автозаполнением. Для установки пишем:
Ну что за жизнь без текстового редактора с подсветкой кода (если вдруг захочется покодить, а оно захочется). Для установки пишем:
Пользоваться vim`ом не сложно, чтобы открыть файл 1.txt (если его нет, то он создастся) пишем:
Раз мы теперь можем создавать и редактировать файлы, давайте немного улучшим вид и информативность командной строки Termux’а. Для этого нам нужно присвоить переменной окружения PS1 значение «[\033[1;33;1;32m]:[\033[1;31m]\w$ [\033[0m][\033[0m]» (если интересно что это и с чем его едят, прошу сюда). Чтобы это сделать нам нужно в файл ‘.bashrc’ (лежит в корне и выполняется при каждом запуске оболочки) добавить строку:
Для простоты и наглядности воспользуемся vim`ом:
Вписываем строку, сохраняем и выходим.
Добавить строку в файл можно и другим способом, воспользовавшись командой ‘echo’:
Для внесения строки можно воспользоваться vim’ом или командой echo (если не получается самостоятельно – см. ниже)
Синтаксис alias’ов таков:
Итак, добавляем сокращение:
Вот еще несколько полезных утилит
Ставить через apt install
man — Встроенная справка для большинства комманд.
man %commandname
ffmpeg — Один из лучших конвертеров аудио/видео. Инструкцию по использованию гуглите.
mc — Двухпанельный файловый менеджер наподобие Far.
Впереди еще немало шагов, главное что движение начато!
Как установить Ubuntu на Android (без root) с помощью Termux
Если вы все еще не нашли рабочий способ установить Ubuntu на Android, тогда эта статья для вас. Сегодня покажу, как установить Ubuntu на Android без root с помощью Termux.
Установка Ubuntu на Android с помощью Termux
Статья состоит из двух частей: установка Ubuntu в Termux только с командной строкой, и установка Ubuntu с графическим интерфейсом (GUI).
Как установить Ubuntu в Termux (версия командной строки)
Установить версию Ubuntu с интерфейсом командной строки очень просто. Просто запустите приложение Termux, а затем скопируйте и вставьте следующие команды:.
Мы будем использовать пакет proot-distro для установки Ubuntu в Termux. Пакет proot-distro используется для установки и управления дистрибутивами Linux в Termux. Данным способом можно также установить и другие дистрибутивы Linux.
Вы увидите список всех доступных для установки дистрибутивов Linux. Там будет название дистрибутива и статус.
Вышеупомянутая команда загрузит и автоматически установит CLI-версию ubuntu в termux. Этот процесс может занять 2-3 минуты.
После установки Ubuntu введите proot-distro login ubuntu, чтобы запустить Ubuntu в приложении termux.
Вот как вы можете установить версию с графическим интерфейсом (CLI) Ubuntu в Termux. Обратите внимание, что версия Ubuntu с интерфейсом командной строки не содержит предустановленных пакетов. По этой причине размер CLI-версии составляет всего около 100 МБ.
Можно конечно добавить графический интерфейс в Ubuntu с интерфейсом командной строки, но для этого потребуется много команд и изменения кучи настроек. Есть способ куда проще (см. ниже).
Запуск Ubuntu в Termux
По моему мнению, использование команды proot-distro login ubuntu для запуска Ubuntu каждый раз неудобно, она слишком длинная. Можно запустить Ubuntu, просто набрав ubuntu в termux, для этого используйте эти команды.
Теперь сможете запустить дистрибутив Ubuntu, просто набрав ubuntu в Termux.
Как установить Ubuntu в Termux (версия с GUI)
Для начала загрузим и установим Ubuntu 21.04 с помощью RandomCodeOrg с GitHub. Этот Ubuntu поставляется со всем предустановленным и выглядит как обычная версия для ПК.
Итак, чтобы установить версию Ubuntu с графическим интерфейсом пользователя в Termux, введите приведенные ниже команды в терминале Termux.
Graphical Environment
This article is only applicable only to Termux installations running on Android 7.0 or higher.
Termux provides support for programs that use X Window System. However, there no hardware acceleration for rendering and user will have to install a third party application to view graphical output.
To use X11-enabled programs, please, make sure that at least one of the following programs is installed:
Contents
Enabling the X11 Repository
X11 packages are available in a separate APT repository. You can enable it by running the following command:
It will automatically add appropriate sources.list file and PGP key.
Setting up VNC
Server
If you decided to use VNC for graphical output, follow these instructions for properly setting up VNC server.
1. Install package `tigervnc`:
2. After installation, execute this:
At first time, you will be prompted for setting up passwords:
Note that passwords are not visible when you are typing them and maximal password length is 8 characters.
3. If everything is okay, you will see this message:
It means that X (vnc) server is available on display ‘localhost:1’.
4. Finally, to make programs do graphical output to the display ‘localhost:1’, set environment variable like shown here (yes, without specifying ‘localhost’):
You may even put this variable to your bashrc or profile so you don’t have to always set it manually unless display address will be changed.
Client
Here will be assumed that you use this Android VNC client: VNC Viewer (developed by RealVNC Limited).
1. Determine port number on which VNC server listens. It can be calculated like this: 5900 +
2. Now open the VNC Viewer application and create a new connection with the following information (assuming that VNC port is 5901):
3. Now launch it. You will be prompted for password that you entered on first launch of ‘vncserver’. Depending on packages you installed, you may see either entirely black screen or terminal prompt (only if ‘aterm’ is installed).
Setting up XServer
Xserver setup is nearly same as for VNC. The only differences are that you don’t have to configure authentication and variable «DISPLAY» should be set like
Note that you don’t need to set variable «PULSE_SERVER» like application suggests because Termux uses its own Pulseaudio package.
Window Managers
When using Android XServer rather than Android XSDL these are optional.
Fluxbox
Simplest way to get a working graphical environment is to install Fluxbox:
It can be started automatically on VNC server startup. To do this, edit file
/.vnc/xstartup as shown here:
Openbox
Openbox requires a more complicated configuration than Fluxbox. Firstly you need to install some packages:
Put the following lines to your
Don’t put anything else to file
/.config/openbox/autostart ). Edit this file like here:
Desktop environment
It is possible to setup a full blown desktop environment in Termux. Only XFCE, LXQt and MATE is supported.
Recommended way of installation is through metapackage and not the separate components:
VNC server startup configuration (
/.vnc/xstartup ) should contain only
Additional recommended packages for installation:
Recommended way of installation is through metapackage and not the separate components:
VNC server startup configuration (
/.vnc/xstartup ) should contain only
Additional recommended packages for installation:
As of right now, there is no MATE metapackage. So, you need to install all required MATE components serperately
VNC server startup configuration (
/.vnc/xstartup ) should contain only
Additional recommended packages for installation:
Termux – Запустить Linux на устройствах Android, не требующий Root
На днях я искал простой и легкий способ запустить Linux на Android.
Мое единственное намерение состояло в том, чтобы просто использовать Linux с некоторыми базовыми приложениями, такими как SSH, Git, awk и т. д.
Я не хочу запускать Android-устройство.
У меня есть планшетный ПК, который я в основном использую для чтения электронных книг, новостей и нескольких блогов Linux.
Я не использую его для других видов деятельности. Поэтому я решил использовать его для некоторых видов деятельности Linux.
Проведя несколько минут в Google Play Store, одно приложение сразу привлекло мое внимание, и я хотел попробовать.
Если вы когда-нибудь задумывались о том, как запускать Linux на устройствах Android, это может помочь вам.
Termux – эмулятор Android-терминала для запуска Linux на Android и Chrome OS
Termux – эмулятор терминала для Android и приложение для среды Linux.
В отличие от многих других приложений, вам не нужно рутить свое устройство или не требуется настройка.
Он просто работает из коробки!
Минимальная базовая система Linux будет установлена автоматически, и, конечно же, вы можете установить другие пакеты с диспетчером пакетов APT. Короче говоря, вы можете использовать свое Android-устройство, как карманный Linux-компьютер.
Это не только для Android, вы можете установить его и на Chrome OS.
Termux предлагает множество важных функций:
Он также имеет некоторые дополнительные функции.
Вы можете включить их, установив аддоны.
Например, приложение Termux: API позволит вам получить доступ к функциям оборудования Android и Chrome.
Другими полезными дополнениями являются:
Чтобы узнать больше о termux, откройте встроенный раздел справки, долгое нажатие в любом месте терминала и выбрав пункт меню «Help».
Единственный недостаток – это Android 5.0 и более поздние версии.
Он может быть более полезным для многих пользователей, если он не поддерживает Android 4.x и более старые версии.
Может быть использован на брать в потребление смартфон Sumsung
Скачать Termux
Termux доступен в Google Play Store и F-Droid.
Google Play Store, нажмите следующую кнопку.
Чтобы установить его из F-Droid, нажмите следующую кнопку.
Termux – Linux-терминал в Android
Termux – приложение с открытым исходным кодом, реализующее Linux-подобную среду, взаимодействие с которой происходит посредством консоли без необходимости иметь root-права на устройстве. Доступно для устройств с Android >= 7 (раньше было 5).
Termux бесплатен. Имеет несколько дополнительных модулей (см.ниже), которые можно купить на Google Play, свободно скачать на F-Droid или самостоятельно собрать из исходников на github. При этом, нельзя смешивать установку приложения, скачанного, например, на Google Play с установкой модуля, скачанного на F-Droid, т.к. они будут несовместимы из-за разных ключей подписи, используемых при сборке (сам не проверял).
Источники:
Basic use of termux (sqlsec.com) – огромная статья с обзором установки и настройки среды, множества пакетов, описанием API-команд, горячих клавиш (осторожно, китайский! есть eng-версия на fatalerros.org)
Android+Termux – карманный друг хакера (codeby.net) – хороший обзор, подключение по ssh с компа
Правильный Git-клиент на Android (pedronveloso.com) – (en) хорошая статья о Termux и git с помощью него
Установка и настройка
2) Обновить внутренние пакеты
3) При необходимости, настроить ssh-сервер и подключиться удаленно к оболочке Termux с компьютера (подробнее ниже, а также в статье)
3) При необходимости, настроить панель горячих клавиш и клавиатуру (подробнее ниже)
4) Открыть доступ к внешнему хранилищу устройства (подробнее ниже)
5) При необходимости, установить пакет для поддержки команд Termux API (подробнее ниже):
$ pkg install termux-api
7) При необходимости, установить и настроить git с использованием парольной аутентификации к удаленному репозиторию или с помощью ssh-ключей (описание в статье).
Подключение к Termux по ssh
Для подключения к оболочке Termux с компьютера (хоста) по протоколу ssh, нужно установить пакет OpenSSH:
Проверить работу ssh-сервера на нужном порту можно командой netstat :
Termux не поддерживает парольную аутентификацию по SSH и поэтому нужно будет использовать SSH-ключи. Более подробно про ssh-ключи и их использование написано в статье Работа с ssh-ключами.
Публичный ключ (по-умолчанию называется id_rsa.pub ) нужно будет загрузить на телефон и скопировать в файл
Например, подключаем телефон к хостовой машине как дисковый накопитель, копируем файл публичного ключа в корень памяти телефона. Затем в Termux выполняем команду:
Файл публичного ключа уже не нужен, удаляем:
Далее подключаем телефон к сети Wi-fi, узнаем его IP и подключаемся к нему с помощью SSH-клиента. С этого момента работа в Termux с клавиатуры компьютера становится намного удобнее.
Настройка горячих клавиш и клавиатуры
Панель горячих клавиш и клавиатуры можно настроить (FAQ: Touch Keyboard).
Редактирование панели с кнопками (создать файл при отсутствии):
Для себя настроил вот такие кнопки:
Можно настроить многострочное отображение панели (но оказалось неудобно, строчки узкие).
Клавиши, не попавшие в панель, можно вызвать с помощью комбинаций клавиш Up,Down и букв на клавиатуре (не уверен, что все).
Доступ к внешней памяти устройства
Чтобы запросить для Termux доступ к внешнему хранилищу телефона, нужно выполнить команду:
Дополнения
API – набор специальных команд для расширения функциональности устройства (подробнее ниже).
Boot – запуск скриптов при запуске устройства
Float – запуск Termux во всплывающем окне поверх других окон
Styling – настройка цветовой схемы и шрифта в терминале Termux
Tasker – запуск скриптов Termux из заданий Tasker‘а
Widget – виджет на рабочем столе для запуска скриптов Termux (подробнее ниже)
Дополнение Termux:API
Дополнение API – расширение функциональности устройства с помощью вызова специальных команд в Termux.
Для запуска команд нужно установить пакет termux-api :
Некоторые интересные команды:
termux-wake-lock – использовать блокировку Termux, чтобы процессор не засыпал
termux-wake-unlock – убрать блокировку Termux, чтобы процессор мог засыпать
Т.к. оболочка входа по-умолчанию – bash, то при использовании одного сеанса можно автоматизировать включение/отключение блокировки так:
1) добавить вызов termux-wake-lock в файл
/.bash_profile )
2) добавить вызов termux-wake-unlock в файл
Для нескольких сеансов придется самостоятельно управлять вызовом разблокировки. Но есть возможность вызвать bash один раз и использовать byobu для запуска нескольких сеансов bash в рамках одного сеанса Termux.