При первом знакомстве 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.
Впереди еще немало шагов, главное что движение начато!
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, нажмите следующую кнопку.
Универсальный код запуска любого дистрибутива Линукс
Проверял ubuntu, arch, debian, fedora до остальных руки не дошли) Имя образа дистрибутива, должно совпадать с именем дирриктории. Пример: образ ubuntu.tar.gz, папка ubuntu
В termux установить:
Установку поделил на 3 этапа:
Все вводить в запущенной OS
Если нет доступа к интернету и не работает менеджер пакетов, обычно проблема возникает на ubuntu:
https://www.archlinux.org/mirrorlist/ Решение неудаляемых пакетов или проблем с установкой:
Запуск интерфейса на Linux с помощью XServer, без root прав
Как пример буду показывать на Ubuntu. Буду использовать xfce4 он менее ресурсоемкий.
2. В терминале после установки ввести команды по очереди
3. Выбор окружения (интерфейса) Окружение xfce4
Стабильное не имеет проблем все отображается должным образом. со всем согласиться, на протяжении установки будет предложено выбрать часовой пояс и язык системы выбрать соответствющий пункт. После установки занимает 1524 мб.
использовать буду ее так как fps достигает 60 при отрисовке интерфейса, в отличие от слайд-шоу через vnc Записать или запомнить ip
5. Экспорт дисплея и pulseaudio После запуск интерфейса
Запуск дебиан будет выглядеть следующим образом.
На этом termux свернуть и открыть Xserver
6. В открывшемся рабочем столе Ubuntu открыть и в углу выбрать Application/System/xfce terminal, затем перенести его на рабочий стол долгим нажатием. На этом все.
На ошибки cannot find group не общайте внимания
Если все успешно, то откроется контроль громкости. Далее перезагрузить termux и Xserver
Из особенностей, что получаем в итоге, полностью рабочий интерфейс, доступ к терминалу. Возможность прослушивания музыкальных файлов, просмотр видеороликов и и.д. Как это использовать, дело за вами. Ни чего не лагает.
ставить если только знаете что будет делать Данное окружение с проблемой Огромный текст и пункты меню Не рекомендую к установке, необходимо место более 2000 мб. Так же может исчезнуть звук.
Недавно наткнулся на скрипт, который устанавливает, управляет и запускает Linux дистрибутивы в Termux. Он очень прост и очень удобен. Поддержку и разработку скрипта осуществляет один из разработчиков Termux, отсюда и более лучшая совместимость.
Дистрибутивы которые он умеет ставить (в скобках указано кодовое название для установки): Alpine Linux (alpine) Arch Linux (archlinux) Kali Nethunter (nethunter) Ubuntu (18.04 / 20.04) (ubuntu-18.04/ubuntu-20.04)
Процесс установки: 1) устанавливаем proot-distro
2) устанавливаем гостевой дистрибутиву, допустим давайте поставим Ubuntu 20.04. Для этого нужно указать кодовое названия для установки того или иного дистрибутива
Все, система установлена, теперь осталось войти в нее
3) входим в установленную систему Ubuntu 20.04
Вроде есть команды или пакеты, которые по одной команде подготавливают такие файловые системы с одной стороны. С другой, если у вас линукс в вм, то зачем вам ограничения, которые появляются при запуске линукса. Вы можете иметь доступ к жесткому диску вм средствами самой вм, либо программами, которые распознают формат файла вм.
Добавлено 17.11.2020, 17:17:
Лучше кликайте по нику, когда добавляете людей в вопрос, иначе не приходят оповещения. А что за дистрибутив используете? Какая версия андроида, proot системы линукса?
Пс, особо не расчитывайте от меня на компетентную помощь, я как и многие здесь не разу не работал с линукс и все только осваиваю и разбираюсь вместе с вами. Тема создана для накопления знаний и решения вопросов общими усилиями)
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.
Универсальный код запуска любого дистрибутива Линукс
Проверял ubuntu, arch, debian, fedora до остальных руки не дошли) Имя образа дистрибутива, должно совпадать с именем дирриктории. Пример: образ ubuntu.tar.gz, папка ubuntu
В termux установить:
Установку поделил на 3 этапа:
Все вводить в запущенной OS
Если нет доступа к интернету и не работает менеджер пакетов, обычно проблема возникает на ubuntu:
https://www.archlinux.org/mirrorlist/ Решение неудаляемых пакетов или проблем с установкой:
Запуск интерфейса на Linux с помощью XServer, без root прав
Как пример буду показывать на Ubuntu. Буду использовать xfce4 он менее ресурсоемкий.
2. В терминале после установки ввести команды по очереди
3. Выбор окружения (интерфейса) Окружение xfce4
Стабильное не имеет проблем все отображается должным образом. со всем согласиться, на протяжении установки будет предложено выбрать часовой пояс и язык системы выбрать соответствющий пункт. После установки занимает 1524 мб.
использовать буду ее так как fps достигает 60 при отрисовке интерфейса, в отличие от слайд-шоу через vnc Записать или запомнить ip
5. Экспорт дисплея и pulseaudio После запуск интерфейса
Запуск дебиан будет выглядеть следующим образом.
На этом termux свернуть и открыть Xserver
6. В открывшемся рабочем столе Ubuntu открыть и в углу выбрать Application/System/xfce terminal, затем перенести его на рабочий стол долгим нажатием. На этом все.
На ошибки cannot find group не общайте внимания
Если все успешно, то откроется контроль громкости. Далее перезагрузить termux и Xserver
Из особенностей, что получаем в итоге, полностью рабочий интерфейс, доступ к терминалу. Возможность прослушивания музыкальных файлов, просмотр видеороликов и и.д. Как это использовать, дело за вами. Ни чего не лагает.
ставить если только знаете что будет делать Данное окружение с проблемой Огромный текст и пункты меню Не рекомендую к установке, необходимо место более 2000 мб. Так же может исчезнуть звук.
Недавно наткнулся на скрипт, который устанавливает, управляет и запускает Linux дистрибутивы в Termux. Он очень прост и очень удобен. Поддержку и разработку скрипта осуществляет один из разработчиков Termux, отсюда и более лучшая совместимость.
Дистрибутивы которые он умеет ставить (в скобках указано кодовое название для установки): Alpine Linux (alpine) Arch Linux (archlinux) Kali Nethunter (nethunter) Ubuntu (18.04 / 20.04) (ubuntu-18.04/ubuntu-20.04)
Процесс установки: 1) устанавливаем proot-distro
2) устанавливаем гостевой дистрибутиву, допустим давайте поставим Ubuntu 20.04. Для этого нужно указать кодовое названия для установки того или иного дистрибутива
Все, система установлена, теперь осталось войти в нее
3) входим в установленную систему Ubuntu 20.04
Вроде есть команды или пакеты, которые по одной команде подготавливают такие файловые системы с одной стороны. С другой, если у вас линукс в вм, то зачем вам ограничения, которые появляются при запуске линукса. Вы можете иметь доступ к жесткому диску вм средствами самой вм, либо программами, которые распознают формат файла вм.
Добавлено 17.11.2020, 17:17:
Лучше кликайте по нику, когда добавляете людей в вопрос, иначе не приходят оповещения. А что за дистрибутив используете? Какая версия андроида, proot системы линукса?
Пс, особо не расчитывайте от меня на компетентную помощь, я как и многие здесь не разу не работал с линукс и все только осваиваю и разбираюсь вместе с вами. Тема создана для накопления знаний и решения вопросов общими усилиями)