Где находятся файлы termux на android

Обновлено: 07.07.2024



При первом знакомстве 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:


image

Открываем установленное приложение и видим:


image

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

Первой командой мы проверяем список установленных пакетов и ищем те, которые можно обновить, а второй обновляем их. По этой причине команды нужно писать именно в такой последовательности.

Теперь у нас наиболее свежая версия Termux.

Еще несколько нужных команд

Более подробно по командам UNIX ищем в интернете (саморазвитие никто не отменял).
Сочетание клавиш Ctrl + C и Ctrl + Z прерывает и прекращает выполнение команд соответственно.

Шаг 2

Облегчи себе жизнь

Чтобы не мучить себя без нужды вводом команд с экранной клавиатуры (в «полевых» условиях, конечно, от этого не уйти) есть два пути:

  1. Подключить к Android устройству полноценную клавиатуру любым удобным способом.
  2. Воспользоваться ssh. Проще говоря, у вас на компьютере будет открыта консоль Termux'а запущенного на вашем Android устройстве.

Я пошел по второму пути, хотя он и немного сложен в настройке, но все окупится удобством использования.

На компьютере необходимо установить программу 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 устройстве. Не сложно догадаться какие это дает преимущества.

Настроим 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’:

В файл .bashrc так же можно вписать alias’ы – сокращения. Например мы хотим одной командой проводить update и upgrade сразу. Для этого в .bashrc добавляем строку:

Для внесения строки можно воспользоваться vim’ом или командой echo (если не получается самостоятельно – см. ниже)

Синтаксис alias’ов таков:

Итак, добавляем сокращение:

Вот еще несколько полезных утилит

Ставить через apt install

man — Встроенная справка для большинства комманд.
man %commandname

imagemagick — Утилита для работы с изображениями(конвертирование, сжатие, обрезка). Поддерживает много форматов включая pdf.Пример: Сконвертировать все картинки из текущей папки в один pdf и уменьшить их размер.
convert *.jpg -scale 50% img.pdf

ffmpeg — Один из лучших конвертеров аудио/видео. Инструкцию по использованию гуглите.

Termux
версия: 0.117

Последнее обновление программы в шапке: 20.07.2021

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Краткое описание:
Termux сочетает в себе мощные эмуляцию терминала с обширной коллекцией пакетов Linux.

Termux combines powerful terminal emulation with an extensive Linux package collection.

• Enjoy the bash and zsh shells.
• Edit files with nano and vim.
• Access servers over ssh.
• Compile code with gcc and clang.
• Use the python console as a pocket calculator.
• Check out projects with git and subversion.
• Run text-based games with frotz.

At first start a small base system is downloaded - desired packages can then be installed using the apt package manager known from the Debian and Ubuntu Linux distributions. Access the built-in help by long-pressing anywhere on the terminal and selecting the Help menu option to learn more.

Требуется Android: 7.0 и выше
Русский интерфейс: Нет

Если кому-то лень самому собирать, в прицепе моя сборка с плагинами. Отдельно плагины из этой сборки не будут работать с версией из маркета, так как я все подписал своим серификатом, который ессно не совпадает с сертификатом автора.

Если кто-то хочет собрать из исходников, то помимо android sdk также потребуется ndk.

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

*ВАЖНО*: Только для андроид версии 5.х и выше!

В чем отличие от Linux Deploy и других приложений, которые запускают linux в chroot'e? И отличается ли скорость работы от оных?

Прикрепленное изображение

Версия 0.37 не ставится. CianogenMod 12 Micromax Q415 Версия 0.37 не ставится. CianogenMod 12 Micromax Q415
так ничего удивительного - у вас конфликт цифровых подписей. предыдущая установлена не с маркета, верно ? И не забываем что нужно будет либо переподписать все модули одинаково либо удалить . Кстати разыскивается модуль в свободном доступе Termux:Float.
В новой версии наконец-то на моем интеле все заработало, но тоже пришлось удалить версии с F-droid . Что сильно огорчило ибо Termux:Styling и Termux:Widget там были бесплатные , а в маркете хотят денюшек. Автор думаю и основную консоль как обкатает сделает платной Termux v0.46 + Add-ons (Recompiled) Rus
Пересобрал из исходников, добавил перевод. Ставить начисто или отключать проверку подписи.

Termux v0.46:
• Work better with the stock CyanogenMod and AOSP keyboards.
• Remove the shaking of the terminal on a bell character introduced in v0.44.
• Restore the ability to press Enter on the on-screen Android TV keyboard.
termux-app_v0.46.apk ( 176.21 КБ )

Termux:API v0.12:
• For use with termux-api version 0.21 or later. Run apt update && apt upgrade to ensure that the latest packages are installed.
• Run any command with a -h flag to learn more.
• Support the new termux-notification-remove command to remove a notification.
• Add several options to termux-notification.
• Add new commands for wifi information: termux-wifi-connectioninfo and termux-wifi-scaninfo.
termux-api_v0.12.apk ( 68.38 КБ )

Termux:Styling v0.16:
• Add monochrome White on Black and Black on White color schemes.
termux-styling_v0.16.apk ( 1.72 МБ )

Termux:Task v0.1:
• Initial release for testing and feedback.
termux-task_v0.1.apk ( 942.95 КБ )

Termux:Boot v0.1:
• Initial release for testing and feedback.
termux-boot_v0.1.apk ( 26.4 КБ )

в его ядре. А также Termux основывается на этой существующей инфраструктуре. Он предоставляет среду командной строки и позволяет устанавливать честные приложения Linux на ваше устройство Android. Пойдем, возьмем немного.

Зачем использовать Termux?

В Play Store уже есть несколько приложений, которые порты приложений Linux для Android. Они отличаются от Termux тем, что они воспроизводят эти приложения Linux, но они сделаны «по-Android». Напротив, Termux является автономной средой Linux. Его программы (для всех намерений и целей) точно такие же, как их аналоги в Linux. Это дает некоторые преимущества перед портированными приложениями:

Termux Android SSH

Использование Termux

Это касается не только базового пакета Termux, но и его приложений. Вы не получите самую новую версию LibreOffice. Вы также должны быть знакомы с командной строкой, чтобы установить и использовать эти программы. Если вы новичок в этом, у нас есть отличные ресурсы, чтобы помочь вам. Вы можете прочитать основные команды

, более 40 наиболее используемых команд терминала

, как научить себя терминальным командам

и сайты и книги, которые могут дать вам дальнейшее образование

Тем не менее, процесс установки программ прост. Termux использует те же установщики пакетов, которые доступны в Debian и Ubuntu Linux, называемые Усовершенствованные упаковочные инструменты (APT). Чтобы увидеть, какие приложения доступны, откройте Termux и введите в командной строке следующее:

список подходящих терминов

Это отображает список всех пакеты, или пакеты программного обеспечения, вы можете установить. Если вам нужны некоторые подробности, просто введите это и включите его название:

Termux Apt шоу

Он отобразит краткое описание пакета, как показано выше для текстового редактора Emacs. Наконец, чтобы установить, просто используйте это:

Termux apt установить

Ознакомьтесь с нашим руководством по использованию APT

для более подробной информации, например, как обновить пакеты. После завершения установки вы можете запустить программу, введя ее имя в командной строке. На приведенном ниже снимке экрана показан текстовый редактор nano, работающий после установки выше.

termux nano

Теперь давайте взглянем на некоторые удивительные утилиты, которые вы можете получить через Termux.

Основные Linux Утилиты

После того, как вы установите Termux, вы можете делать изящные вещи прямо из коробки. Базовое приложение позволит вам использовать базовые утилиты Linux

выполнять такие действия, как копирование (с помощью команды cp) и перемещение (mv) файлов, чтение содержимого каталога (ls) и удаление объектов (rm).

Это позволит вам быстро перейти к этим файлам.

ссылка termux

Заменяет: Команды управления файлами в базовой установке Termux могут уменьшить потребность в отдельных файловых менеджерах

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

Текстовые редакторы

Termux предоставляет последние версии обоих «основных» текстовых редакторов Linux: VIM

(v8.0, последняя стабильная на момент написания) и Emacs (v25.2, также текущая). На изображениях ниже показано, как Emacs работает в терминале konsole в Linux (вверху) и Termux (внизу). Обратите внимание на сходство.

Другие редакторы, такие как минималистский нано также доступны.

termux emacs konsole

termux emacs android

Сейчас в Android много текстовых редакторов. Подобно, много. И многие из них отлично справляются с сохранением и открытием текстовых файлов. Но многие делают немного больше, как будто они были «тестовым приложением» создателя для Android.

? Оба поддерживают это довольно хорошо. В целом «без отвлечения» мышления

? Он не отвлекает больше внимания, чем VIM. Нужно что-то делать заметки и предоставлять задачи? Org-mode в Emacs вас охватывает. Вы даже можете использовать Emacs в качестве файлового менеджера, приложения для создания сценариев, клиента Trello, музыкального проигрывателя или для игры в Minesweeper.

Заменяет: Текстовые редакторы Android

или другое форматирование, а третье сохраняет заметки

(хотя на самом деле это просто текстовый редактор). Вышеупомянутые редакторы на основе терминала могут удовлетворить эти потребности в одной программе с дополнительным бонусом доступности и на настольных платформах.

Утилиты командной строки

Пакеты Termux включают ряд полезных утилит командной строки Linux:

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

Серверы

Мы уже показали, как вы можете превратить ваше устройство Android в веб-сервер

с конкретными приложениями. Termux также предоставляет честные веб-серверы Linux, такие как Apache.

Termux также включает в себя Dropbear, который (как уже упоминалось) предоставляет SSH-сервер для входа в ваш телефон / планшет и передачи файлов в дополнение к клиенту. Это полезно в ситуациях, когда вы хотите обменяться несколькими файлами с другим компьютером и 1) не хотите использовать облачные сервисы, и 2) не хотите или не можете установить драйверы для непосредственного подключения к устройству. Вы можете на мгновение запустить сервер dropbear, использовать клиент на Windows

Возьмите то, что вам нужно по сети, и выключите его.

termux sshdroid

Заменяет: Такие приложения, как бесплатный сервер PAW или платный сервер Ulti, позволяют ускорить работу веб-сервера. И хотя я фанат SSHDroid (показан выше), перспектива иметь легкий сервер, который я могу запустить из командной строки, по-прежнему интригует.

развитие

Хотя многие приложения для Android (например, «редакторы кода») предоставляют возможность написать код, они могут не предоставлять языки сами. С Termux вы можете проверить этот код прямо на вашем устройстве. Он предлагает стандартные дистрибутивы языков программирования, такие как:

    Оболочка BASH (по умолчанию доступна из коробки, и отличный способ начать взламывать

сценарий termux bash

Также доступны системы контроля версий git и Subversion, которые используются не только в разработке. Если вам нравится управлять своими собственными данными, контроль версий позволяет вам хранить ваши файлы в любом месте. Вы также контролируете, когда отправляете обновления на другие устройства, и можете использовать «теги» для маркировки версий (поднимите руку, если вы когда-либо называли файл «mydocument_v12_Aaron’s_edit_final_for_real_the_last_one.DOCX»).

Заменяет: Существует несколько языковых пакетов для Android, таких как PHP, QPython или Pocket Ruby [больше не доступно]. Но они предоставляют свои собственные громоздкие пользовательские интерфейсы и могут потребовать, чтобы другие приложения были полностью полезны (например, сервер на основе Apache для поддержки PHP). Есть Android-приложения для обоих мерзавец, такие как Pocket Git с высоким рейтингом, и СВН, такие как Open Android SVN Pro [Больше не доступно]. Однако ни один из них не является бесплатным, и вам необходимо иметь отдельное приложение для каждого типа управления исходным кодом. Termux предоставляет оба в одном пакете бесплатно. Используя систему контроля версий, вы также можете сократить количество клиентов для облачных служб синхронизации, таких как Dropbox.

Добавьте немного Linux на свой Android

Вы знаете все основные команды Linux? Ознакомьтесь с нашей шпаргалкой по командам Linux


Termux – приложение с открытым исходным кодом, реализующее Linux-подобную среду, взаимодействие с которой происходит посредством консоли без необходимости иметь root-права на устройстве. Доступно для устройств с Android >= 7 (раньше было 5).

Termux бесплатен. Имеет несколько дополнительных модулей (см.ниже), которые можно купить на Google Play, свободно скачать на F-Droid или самостоятельно собрать из исходников на github. При этом, нельзя смешивать установку приложения, скачанного, например, на Google Play с установкой модуля, скачанного на F-Droid, т.к. они будут несовместимы из-за разных ключей подписи, используемых при сборке (сам не проверял).

Установка и настройка

2) Обновить внутренние пакеты

3) При необходимости, настроить ssh-сервер и подключиться удаленно к оболочке Termux с компьютера (подробнее ниже, а также в статье)

3) При необходимости, настроить панель горячих клавиш и клавиатуру (подробнее ниже)

4) Открыть доступ к внешнему хранилищу устройства (подробнее ниже)

5) При необходимости, установить пакет для поддержки команд Termux API (подробнее ниже):

$ pkg install termux-api

6) При необходимости запуска скриптов с помощью дополнения Termux Widget, создать специальные каталоги в домашней директории $HOME и скопировать туда скрипты (подробнее ниже).

7) При необходимости, установить и настроить git с использованием парольной аутентификации к удаленному репозиторию или с помощью ssh-ключей (описание в статье).

Подключение к Termux по ssh

Для подключения к оболочке Termux с компьютера (хоста) по протоколу ssh, нужно установить пакет OpenSSH:

Запуск ssh-сервера осуществляется командой sshd , после чего на порту 8022 открывается порт для подключения.

Проверить работу ssh-сервера на нужном порту можно командой netstat :

Должны быть выведены 2 строки с надписью LISTEN .

Termux не поддерживает парольную аутентификацию по SSH и поэтому нужно будет использовать SSH-ключи. Более подробно про ssh-ключи и их использование написано в статье Работа с ssh-ключами.

Если имеющихся ssh-ключей хостовой машины нет, то их нужно создать. На Linux это делается с помощью команды ssh-keygen , на Windows с помощью программ BitVise-SSH или PuTTYgen.

Публичный ключ (по-умолчанию называется id_rsa.pub ) нужно будет загрузить на телефон и скопировать в файл

Например, подключаем телефон к хостовой машине как дисковый накопитель, копируем файл публичного ключа в корень памяти телефона. Затем в Termux выполняем команду:

Команда добавляет содержимое файла id_rsa.pub в файл authorized_keys .

Файл публичного ключа уже не нужен, удаляем:

Далее подключаем телефон к сети Wi-fi, узнаем его IP и подключаемся к нему с помощью SSH-клиента. С этого момента работа в Termux с клавиатуры компьютера становится намного удобнее.

Настройка горячих клавиш и клавиатуры

Панель горячих клавиш и клавиатуры можно настроить (FAQ: Touch Keyboard).

Редактирование панели с кнопками (создать файл при отсутствии):

/ .termux / termux .properties

Для себя настроил вот такие кнопки:


Можно настроить многострочное отображение панели (но оказалось неудобно, строчки узкие).

Клавиши, не попавшие в панель, можно вызвать с помощью комбинаций клавиш Up,Down и букв на клавиатуре (не уверен, что все).

Доступ к внешней памяти устройства

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

При этом запросится разрешение WRITE_EXTERNAL_STORAGE .

После этого в домашнем каталоге $HOME (

или / data / data / com .termux / files / home ) появится каталог storage , где будут содержаться симлинки на реальные каталоги внешнего хранилища:

Если этого не сделать, то оболочке будет доступен только приватный для приложения участок памяти / data / data / com .termux / files , который недоступен любому файловому менеджеру, если у вас нет root прав на устройстве.

Дополнения

Дополнение Termux:API

Для запуска команд нужно установить пакет termux-api :

Некоторые интересные команды:

/.bash_profile )
2) добавить вызов termux-wake-unlock в файл

Для нескольких сеансов придется самостоятельно управлять вызовом разблокировки. Но есть возможность вызвать bash один раз и использовать byobu для запуска нескольких сеансов bash в рамках одного сеанса Termux.

Ошибка: Cannot execute file: .
Причина: У файла не задано право на выполнение (x).

Примечание:
Файлам во внешней памяти нельзя предоставить право на выполнение. Только в каталоге $HOME .

$ termux-notification -i 1234 -t "Уведомление в шторке" --action

Дополнение Termux:Widget

С помощью дополнения Termux:Widget на рабочий стол устройства можно добавить виджет со списком bash-скриптов для их быстрого запуска.

При этом, скрипты могут быть запущены двумя способами:

а) в терминале Termux. Т.е. при запуске скрипта будет открыто окно терминала Termux, в котором и будет происходить выполнение скрипта.

В этом случае скрипты нужно положить в специальный каталог .shortcuts в домашнем каталоге.

Для запуска фоновых скриптов их нужно поместить в подкаталог .shortcuts / tasks домашнего каталога.

Если скрипт запускается в фоне, и открытает какие-либо визуальные окна (например, запускает другое приложение), то в системе Android (начиная, примерно, с версии 7) приложению Termux нужно добавить соответствующее разрешение. Например, в Android 9: Свойства приложения (О приложении) -> Другие разрешения -> Отображать всплывающие окна, когда запущено в фоновом режиме . Иначе ничего не отобразится.

Я храню сами файлы скриптов во внешней памяти устройства, а не в приватном участке памяти для приложения (например, каталог $HOME , или / data / data / com .termux / files / home ). Т.к., если приложение Termux будет удалено, то его приватный каталог тоже очистится.

Для этого, с помощью команды ln , на сами файлы скриптов можно создать символьные ссылки (симлинки), которые положить в каталог .shortcuts :

$ ln - s $HOME / storage / shared / real_path_to_scripts / script .sh $HOME / .shotcuts / script .sh

Также, не забудьте сделать исходный файл скрипта исполняемым:

$ chmod + x $HOME / storage / shared / real_path_to_scripts / script .sh

Интерпретаторы скриптов

и перезапустите сеанс Termux.

Она заменяет путь к интерпретатору / bin на / data / data / com .termux / files / usr / bin (сокращенно $PREFIX / bin ) в самих файлах скриптов. Но это устаревший способ.

А вообще, при проблемах в скриптах с путями к интерпретаторам возникает ошибка:

"Bad Interpreter: No such file or directory"

Выполнение скриптов из сторонних приложений

Как было раньше: (развернуть) Как было раньше: (свернуть)

На данный момент, с помощью сервиса RunCommandService из своего приложения можно отправлять намерения ( Intent ) в среду Termux для выполнения необходимых команд.

Читайте также: