November 16, 2020

Используем pastebin в Termux

Очень часто, при решении каких-то вопросов, связанных с использованием Linux, люди, пытающиеся вам помочь, просят, чтобы вы показали им какой-либо файл с логами или результат работы (выхлоп) команды, введённой в терминале. Первое, что придёт вам на ум в этой ситуации - это сделать скриншот своего экрана или вообще взять и сфотографировать свой монитор. Согласитесь, очень часто на форумах, на которых пользователи Linux ищут ответы на свои вопросы можно увидеть вот такие фотографии:

Хорошо, если фотография хорошего качества, вся информация полностью умещается на мониторе и удобно читаемая. Но такое бывает далеко не всегда. Сегодня речь пойдёт о работе с сервисом pastebin, который позволяет загружать отрывки текста, фрагменты исходного кода и т.д. для возможности просмотра окружающими.

Для работы с сервисом установим в наш Termux пакет pastebinit. pastebinit - это инструмент командной строки для отправки данных на сайт, который позволяет пользователям размещать отрывки текста для публичного просмотра:

$ apt install pastebinit

Чтобы посмотреть с какими сервисами работает pastebinit, нужно в терминале ввести команду:

$ pastebinit -l

Стоит отметить, что на самом деле, не со всеми сервисами из этого списка pastebinit работает. Причины этому две: либо сам сервис не работает (недоступен), либо у сервиса поменялся API и pastebinit перестал корректно с ним работать. Какой сервис выбрать для себя дело сугубо ваших предпочтений. Я пользуюсь сервисом по умолчанию dpaste.com

Чтобы каждый раз не вводить в терминале длинные команды, создадим alias, обзовём его paste, который будем использовать когда нужно будет что-то скопировать. Добавляем в наш файл ~/.bashrc или ~/.zshrc строчку :

alias paste='pastebinit -b dpaste.com -a Durimar | termux-clipboard-set'

параметр -a задаёт имя автора. Параметр не обязательный, если вы его не будите прописывать, то автоматически вам будет присвоено имя anonymous.
Параметр -b задаёт домен, куда будет вставляться код. Если в буфере не появилась ссылка, то надо сменить домен или у вас не установлен Termux:API

Теперь всё готово для работы. Посмотрим на практике как это работает.
Например, нам нужно показать вывод команды lspci. Открываем терминал и вводим следующую команду:

$ lspci | paste

После её выполнения в буфере обмена у нас будет ссылка, перейдя по которой можно увидеть результат работы введённой нами команды. В нашем примере lspci. Остаётся поделиться этой ссылкой, нажав клавиши Ctrl+V там, где нам нужно: на форуме, чате или отправить её по e-mail. Если перейти по этой ссылке, откроется страничка выбранного нами ресурса, на которой в удобной для просмотра форме будет показан результат работы вводимой нами команды: