Termux api не работает

Termux шаг за шагом (Часть 2)

В прошлой части мы с вами познакомились с базовыми командами Termux’а, настроили SSH соединение с ПК, научились создавать alias’ы и установили несколько полезных утилит. В этот раз нам предстоит шагнуть еще дальше, мы с вами:

  • узнаем про Termux:API
  • установим Python и nano, а также напишем «Hello, world!» на Python
  • узнаем про bash-скрипты, и напишем скрипт с использованием Termux:API
  • используя bash-скрипт, Termux:API и Python напишем простую программку

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

Я часто применяю alias’ы, поэтому используемые в этой части сокращения показаны здесь:

План готов, можно приступать! И конечно же не забывайте про «волшебный Tab» (См. Часть 1).

Шаг 4

Погружаемся в кроличью нору Termux:API

API как много в этом слове для сердца кодера слилось

Если не затрагивать тему Termux:API, то все наши шаги можно было свести к простому пересказу какой-нибудь брошюры типа «Линукс для чайников», как было справедливо подмечено в комментариях к первой части.

Для начала установим Termux:API из Google Play Market’а (после не помешает перезапустить Termux):

Далее нам нужно установить пакет API в консоли Termux’а:

Для экспериментов я использую Android 5.1.1, для владельцев Android 7 нужно «защитить» Termux: API, зайдя в ‘Настройки’ > ‘Защищенные приложения’, в противном случае вызовы API, такие как termux-battery-status , будут зависать. (См. wiki проекта)

Теперь стоит поближе познакомится с приобретенными возможностями. Самое свежее и подробное описание Termux:API можно найти на wiki проекта. Я же постараюсь выбрать самое наглядное и интересное, что позволит набить руку для самостоятельной работы в дальнейшем.

Несколько примеров Termux:API

    termux-battery-status
    Возвращает состояние батареи


termux-brightness
Устанавливает яркость экрана от 0 до 255


termux-toast
Показывает временное всплывающее уведомление


termux-torch
Включает фонарик


termux-wifi-scaninfo
Возвращает информацию о последнем сканировании сетей Wi-Fi

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

Шаг 5

Установим Python и nano

Для установки Python’а пишем в терминале:

Теперь у нас установлен 2 и 3 Python.

За время работы над статьей, я открыл для себя еще один текстовый редактор nano, который приглянулся мне больше чем vim, давайте его установим:

Пользоваться им проще чем vim’ом, и nano имеет более дружественный интерфейс. На Android устройстве все же удобнее vim.

HelloWorld на Python в Termux

По большому счету можно было обойтись и без этого пункта, но поставить Python в Termux и не написать HelloWorld, на мой взгляд, моветон.

Читайте также:  Можно ли отремонтировать лампочку от натяжного потолка

Я не ставлю своей целью учить кого-либо Python’у, так что не знающие могут просто скопировать код (или начать изучать самостоятельно, благо литературы хватает), а знающие могут и сами что-нибудь наваять. А я «под шумок» еще покажу способ вводить текст в терминале без редактора.

Если в процессе ввода вы не заметили ошибку и уже нажали Enter, то перейти на строку выше не получится, для этого закончите ввод нажав Ctrl + D (можно вообще прервать Ctrl + Z) и повторите все с начала. Поскольку мы использовали ‘>’ то файл будет переписан полностью. По этой причине не рекомендую использовать такой метод ввода, если вы не уверены что напишете код сразу без ошибок.

Шаг 6

Bash-скрипты

Bash-скрипты это замечательный способ автоматизации работы с терминалом. Скрипт представляет из себя файл с расширением .sh (расширение не обязательно) содержащий набор команд терминала часть из которых мы уже изучили. Вот список большинства команд, все должно работать, но обратите внимание, что это список для «взрослого» Linux’а, а не для Termux’а, а вот просто шикарный материал по bash-скриптам.

При помощи скриптов можно автоматизировать практически все монотонные действия. Напишем простейший bash-скрипт выводящий значение из созданной им же переменной, я снова воспользуюсь cat’ом, вы же можете использовать нормальный текстовый редактор, а особо желающие себя потренировать могут использовать echo.

Один добрый человек справедливо заметил, что команда export лишняя если переменная используется в рамках одного скрипта, так как вынесет переменную в окружение, то есть сделает ее доступной вне скрипта, занимая лишнюю память. Таким образом после выполнения test.sh мы сможем обращаться к переменной $str из командной строки.

Bash-скрипт с Termux:API

Давайте напишем уже что-нибудь отличающееся от пресловутых HelloWorld’ов, но столь же бесполезное. Наш скрипт будет:

  1. выполнять запрос API termux-battery-status
  2. сохранять полученные данные в файл test.txt
  3. выводить данные из файла на экран
  4. выполнять написанную ранее программу hello-world.py
  5. полученные от программы данные записывать в файл test.txt
  6. выводить данные из файла на экран
  7. переносить данные из файла в буфер обмена
  8. выводить на экран содержимое буфера обмена
  9. выводить всплывающее сообщение с данными из буфера обмена

Сначала создадим папку для работы и скопируем туда hello-world.py как test.py, создадим в этой папке файлы test.sh и test.txt:

Теперь любым удобным способом в файл test.sh запишем скрипт:

Теперь находясь в папке bashscript пишем ./test.sh наблюдаем в терминале на Android устройстве:

Вот мы и написали запланированный bash-скрипт. Можно разбавить его выводом в консоль информации по выполнению каждого действия (при помощи echo), это оставлю для читателей.

Шаг 7

Сделаем хоть что-то полезное

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

За основу возьмем bash-скрипт, случайную строку из файла будем извлекать при помощи подпрограммы на Python’е. Составим план работы скрипта:

  1. Запустить подпрограмму
  2. Передать результат работы подпрограммы в буфер обмена
  3. Вывести всплывающее сообщение
Читайте также:  Почему либертарианство не работает

Определимся с названиями директории и файлов приложения:

  • папка rndstr в домашней директории
    • source — файл из которого будем брать строки
    • rndstr.py — подпрограмма выводящая в консоль случайную строку из файла source
    • rndstr.sh — файл скрипта

Создаем директорию приложения и переместившись в нее создаем там файлы.

Первые два пункта плана скрипта можно объединить конвейером, в итоге, используя Termux:API получаем:

В файл source вы можете поместить любой текст логически разделенный на строки, я решил поместить афоризмы:

Нам осталось создать подпрограмму извлекающую случайную строку из файла source.
Распишем алгоритм работы подпрограммы:

  1. Открываем файл source
  2. Считаем количество строк в открытом файле
  3. Закрываем файл (нечего его лишнее время открытым держать)
  4. Генерируем случайное целое число в пределах количества строк файла source
  5. Открываем файл source
  6. Выводим строку под номером сгенерированного числа
  7. Закрываем файл

Реализуем алгоритм на Python (я пишу под Python 3.7):

После того как файлы созданы и записаны, нужно дать права на исполнение файлу rndstr.sh , и создать alias для быстрого запуска.

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

Вот мы и написали хоть что-то полезное. Относительно полезное.

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

Изначально я планировал показать в этом цикле как пользоваться nmap, sqlmap, но и без меня уже много статей на эту тему. Если есть желание, чтобы я продолжил «Termux шаг за шагом», то ниже есть опрос, а в комментариях можете предложить о чем еще написать.

Источник

Termux api не работает

Краткое описание:
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.

Want to ask questions, report bugs or give feedback?
See https://termux.com/community

Версия: 0.102 Termux (digmavip)
Версия: 0.101 от 29/09/2020 (iMiKED)
Версия: 0.99 от 15/09/2020 (iMiKED)
Версия: 0.98 от 09/08/2020 (RiddickABSent)
Версия: 0.95 от 13/06/2020 (iMiKED)
Версия: 0.94 от 25/03/2020 (iMiKED)
Версия: 0.92 от 09/02/2020 (iMiKED)
Версия: 0.88 от 18/01/2020 (iMiKED)
Версия: 0.84 (7.0+)(f-droid) Сообщение №3704, автор blackeangel
Версия: 0.75 Оригинал (Ultra119)
Версия: 0.75 GP (Ultra119)
Версия: 0.73 04.08.19 GP (hackdog)
Версия: 0.72 Termux (Displax)
Версия: 0.71 Termux (Displax)
версия: 0.68 Termux (Пост Farthah #84737189)
версия: 0.66 Сообщение №1619, автор алекс12
версия: 0.65 Сообщение №785, автор алекс12
версия: 0.64 Сообщение №639, автор алекс12
версия: 0.63 Сообщение №635, автор алекс12
версия: 0.61 Сообщение №623, автор Evbuley
версия: 0.60 Termux (Пост алекс12 #69631056)
Версия: 0.59 Termux (Пост алекс12 #67845982)
Версия: 0.56 Termux (Пост алекс12 #67233087)
Версия: 0.54 Termux (Пост алекс12 #66459493)
Версия: 0.53 Termux (Пост алекс12 #62674540)
Версия: 0.52 Termux (Пост алекс12 #62332662)
версия: 0.51 Termux (Пост алекс12 #62106399)
версия: 0.48 Termux (Пост алекс12 #58901446)
версия: 0.47 Termux (Пост Ramzes26 #58821225)
версия: 0.46 Termux (Пост алекс12 #56940751)
версия: 0.42 Termux (Пост ilyaor #53212592)
версия: 0.34 com.termux_0.34.apk ( 149,44 КБ )

Читайте также:  Zte blade не работает дисплей

Сообщение отредактировал iMiKED — 20.07.21, 20:43

Примечательно, что хотя некоторые плагины платные, на странице автора есть ссылки на исходный код на github-e https://github.com/termux, т.е. можно самому собрать как само приложение так и все плагины; термукс из маркета надо будет удалить и собрать и установить руками потому что подписи должны совпадать.

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

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

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

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

Сообщение отредактировал ccpizz — 13.05.16, 08:26

Сообщение отредактировал LVware — 29.07.16, 18:50

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:Widget v0.7:
• Update app icon.
termux-widget_v0.7.apk ( 54,1 КБ )

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:Float v0.7 (Original)

Сообщение отредактировал rezvorck — 20.01.17, 18:07

Источник

Оцените статью