Запускаем скрипт. Подробный гайд.
Итак, прежде чем мы начнем настраивать наше устройство для запуска скрипта, я немного расскажу о нем. Скрипт – это небольшая программа, которая состоит из одного или нескольких файлов и не имеет графического интерфейса. Для его запуска нам понадобится устройство с Android, аккаунт Telegram (предварительно вступивший в группы) и немного свободной памяти на устройстве. И раз у нас все это уже есть, тогда поехали!
Для начала нам нужно будет установить приложение Termux из Google Play:
Termux – приложение реализующее Linux-подобную среду взаимодействие с которой происходит посредством консоли.
Теперь нам нужно будет ввести несколько команд прямо в консоль. Открываем Termux!
Копируйте команды прямо отсюда и вставляйте их в консоль. Для того чтобы вставить команду долго нажимайте в любом месте внутри окна консоли и в появившемся всплывающем меню выбираем Paste. Всплывающее меню показано ниже:
После того как вы нажмете Paste скопированная команда вставится и затем нужно будет нажать Enter (на скрине это зеленая стрелочка на клавиатуре). Enter нужно будет нажимать после каждой команды, которую вы вводите. Далее мы это обсуждать не будем.
Вводим команды:
Обращаем внимание на то, что нам выводит консоль после каждого ввода, если мы видим в конце выводимого сообщения [Yes/No] или [y/n] , то вводим в ответ на это Yes или y соответственно.
-
apt update && apt upgrade -y apt install python pip3 install -U telethon —user
Проверим все ли мы установили:
В консоли должны появиться три угловые скобки >>>.
-
import telethon
Угловые скобки >>> появятся снова, никаких ошибок не произойдет.
Нажимаем в консоли комбинацию клавиш. Это не команда, вы должны нажать эти клавиши на клавиатуре, а не копировать отсюда. На скрине ниже показана данная комбинация:
Если вы все верно нажали, то на экране вы увидите знак доллара $.
Мы провели предварительную подготовку устройства. Вам не нужно будет проделывать никакие предыдущие шаги перед непосредственным запуском или перезапуском скрипта.
Пара мелочей перед запуском.
-
Теперь нам нужно зарегистрировать наше приложение в Telegram. Включаем VPN и заходим на официальный сайт Телеграма по ссылке https://my.telegram.org/auth?to=apps . Затем вводим номер телефона (аккаунт, с которого будем делать рассылку). Далее вводим буквенный код, который пришлет Телеграм. Далее переходим в API development tools(если есть). Далее нужно будет заполнить два поля App title и Short name(вы можете написать там любые названия). Далее нажимаем синюю кнопку Create application. Готово! Сохраняем куда-нибудь наши новые api_id и api_hash. Теперь нам необходимо подготовить рекламное сообщение. Для этого его необходимо разместить в избранном. Обратите внимание на то, что сообщение должно быть последним, так как скрипт будет брать крайнее сообщение из избранного для пересылки.
Запуск, запуск и еще раз запуск!
Сохраните в загрузки смартфона файл со скриптом. Затем откройте файл с помощь termux. В появившемся диалоговом окне нажимаем EDIT, в следующем диалоговом окне нажимаем OK.
Далее открываем termux и вводим команды:
-
ls (смотрим какие папки есть в нашей домашней директории) cd downloads/ (переходим в папку downloads) ls (смотрим появился ли наш файл со скриптом) python script.pyс (мы только что запустили скрипт! Имя файла может отличаться от указанного в этой команде)
Затем вводим все, что запросит скрипт: api_id, api_hash, номер телефона, код, который прислал Телеграм.
Перед тем как наслаждаться рассылкой добавим последний штрих. Опустите шторку смартфона и нажмите кнопку ACQUIRE WAKELOCK. В нажатом состоянии появится надпись (wake lock held). Это будет означать, что рассылка не остановится даже если телефон перейдет в спящий режим. Кнопка ACQUIRE WAKELOCK показана ниже:
Как вы уже поняли, все, что нужно для запуска скрипта – это перейти в нужную папку и запустить скрипт командой "python файл". Если вы хотите остановить работу скрипта, то нажмите сочетание клавиш CTRL + C.
Базовые команды для работы со скриптом в Termux :
-
pwd — показать текущую папку (полный путь) ls — показать содержимое папки cd папка — перейти в папку cd .. — выйти из папки cd
Распространенные ошибки:
Что делать, если при открытии файла "с помощью" в меню не появляется приложение Termux?
-
Сохраните файл в загрузки смартфона. Откройте Termux и введите следующие команды:
/storage/downloads/script.pyc
Если вы загрузили файл скрипта в термукс выше описанным способом, то вам не нужно переходить в папку downloads перед его запуском.
Шпаргалка по работе с Tmux (терминальный мультиплексор)

На Хабрахабре Tmux (ти-макс) упоминался неоднократно, тем не менее, решил написать еще одну шпаргалку, т.к. в других некоторые важные моменты не показаны.
Tmux (терминальный мультиплексор) позволяет работать с несколькими сессиями в 1 окне. Вместо нескольких окон терминала к серверу — вы можете использовать одно. Позволяет подключаться/отключаться к текущему состоянию сессии. Запущенные программы и процессы продолжают работать. (Можно использовать вместо nohup, dtach).
Например, на работе правим файлы в Vim. Окно терминала с открытыми файлами, процессами. Отключаемся от сессии. Далее подключаемся к этой сессии из дома и получаем те же окна с открытыми файлами в Vim, процессами и т.д. Можно продолжить работу с того же момента, на котором остановились. Также удобно при разрыве связи. Дополнительно можно работать совместно с другими в терминале, если подключены к одной сессии. Каждый видит, что делает другой.
1. Установка
2. Конфигурационные файлы
С версии 2.1 для включения режима мыши (скролл, изменение размера панели, выбор панели и др.) нужно добавить в tmux.conf:
3. Работа с Tmux
Старт
# tmux //без параметров будет создана сессия 0
# tmux new -s session1 //новая сессия session1. Название отображается снизу-слева в квадратных скобках в статус строке. Далее идет перечисление окон. Текущее окно помечается звездочкой.
Префикс (с него начинаются команды)
<C-b> (CTRL + b)
Новое окно (нажать CTRL+b, затем нажать с)
<C-b c>
Список окон
<C-b w> // переключиться курсором вверх-вниз
Переключение
<C-b n> // следующее окно
<C-b p> // предыдущее окно
<C-b 0> // переключиться на номер окна
Окна можно делить на панели (Panes)
Как в тайловых (мозаичных) оконных менеджерах.
Деление окна горизонтально
<C-b «>
либо команда
# tmux split-window -h
Деление окна вертикально
<C-b %>
либо команда
# tmux split-window -v
Переход между панелей
<C-b стрелки курсора> // либо режим мыши
Изменение размеров панелей
<C-b c-стрелки> // либо режим мыши
Закрытие окон
<C-b x> // нужно подтвердить y
либо
# exit
Отключение от сессии
<C-b d>
либо
# tmux detach
Список сессий
# tmux ls
Подключиться к работающей сессии
# tmux attach //подключение к сессии, либо к единственной, либо последней созданной
# tmux attach -t session1 // подключение к сессии session1
How to delete a detached tmux session?
Is there anyway I can simply delete it now that I am detached from it?
![]()
5 Answers 5
You want to use tmux kill-session :
If you want to delete all the detached sessions you can use the following code:
This solution is more robust than the one proposed by abieler because it mathces all detached sessions by ID, not matter what their name is (the solution by abieler would skip a detached session called attached).
Tmux за 5 минут
Если для какой-то задачи надо одновременно отобразить несколько терминалов, особенно если вы работаете по SSH и не хотите прерывать сессию при отключении, тогда tmux — ваш выбор. Я расскажу как использовать утилиту из коробки со стандартными конфигами для самых распространённых на практике случаев.
00:15 — Когда это нужно?
Работа по SSH
Чаще всего требуется подключиться к серверу для диагностики, в одном окне запустить монитор ресурсов, в другом — смотреть логи, в третьем — править конфигурационный файл или выполнять какие-то команды. Плюшки от использования tmux на сервере:
-
Требуется всего одна SSH-сессия. На сервере tmux создаст сколько угодно виртуальных терминалов. Сессия tmux не завершится, если возникнут проблемы с сетью. Соответственно, не завершатся выполняемые процессы и команды, а расположение виртуальных терминалов никак не изменится
Локальная работа
При использовании таких систем, как Terraform, Kubernetes, Ansible, OpenShift и т.п., удобно запускать в одном терминале команды, в другом отслеживать актуальное состояние системы, в третьем править конфигурационные файлы, в четвёртом — изучать документацию и т.д.
Запуск фоновых задач
Tmux можно использовать для запуска долгих скриптов или команд в фоновом режиме. Это может сэкономить время подготовки перед запуском, исключив пайпы и перенаправления.
Демонстрация экрана и параллельная работа
Поскольку сессия в tmux — это отдельный файл, доступ к ней можно открыть нескольким пользователям с правами на чтение или запись и демонстрировать свой "экран" или передать коллеге доступ.
Понты
Также можно удивить коллег своими навыками владения консолью и организовать дашборд с выхлопом различной информации вокруг основного терминала Тайлинг всегда выглядит впечатляюще 🙂
01:00 — Как поставить?
В зависимости от сценария использования, установку можно осуществить как на свою систему, так и на сервер, где вам потребуется несколько одновременно запущенных окон.
Linux
-
Ubuntu / Debian — запустить в терминале команду:
-
RedHat / CentOS / Fedora — запустить в терминале команду, соответствующую пакетному менеджеру:
MacOS
Предварительно потребуется установить пакетный менеджер brew , после чего выполнить в терминале команду:
Windows
Сначала потребуется установить WSL2 и какой-нибудь дистрибутив Linux, после чего в терминале выполнить соответствующую дистрибутиву команду для установки пакета (см. выше)
01:15 — Как запускать?
Запуск tmux довольно тривиален, достаточно в терминале ввести команду:
01:30 — Какая концепция?
Основные определения
-
pane — виртуальный терминал layout — расположение виртуальных терминалов в окне window — экран, на котором отображаются виртуальные терминалы. Может быть активным (текущим окном) или фоновым (окном, которое вы не видите в данный момент) session — коллекция экранов и виртуальных терминалов. Сессий может быть несколько. prefix — начальная комбинация клавиш, позволяющая передавать tmux команды управления. По умолчанию, это сочетание Ctrl+b
Режимы работы
-
Активный режим — когда tmux используется по прямому назначению, для работы с виртуальными теримналами Командный режим — управление tmux с помощью встроенных команд Фоновый режим — когда управление tmux производится аргументами командной строки
02:00 — Как работать?
Работа в активном режиме
Panes
-
Разделить окно
Ctrl+b, % — вертикальное разделение [|]
Ctrl+b, " — горизонтальное разделение [—] Переключиться между терминалами
Ctrl+b, <arrow> — переключиться с помощью стрелок
Ctrl+b, Ctrl+o — переключаться по часовой стрелке Изменить размеры терминала
Ctrl+b, Ctrl+<arrow> — изменить размер активного терминала по горизонтали или вертикали с помощью стрелок
Ctrl+b, z — развернуть терминал на всё окно. Повторная комбинация возвращает всё как было
Ctrl+b, Space — переключить layout автоматически. Удобно, когда нет сил двигать терминалы руками Вывести список терминалов
Ctrl+b, w — показать экран навигации
Windows
-
Создать окно
Ctrl+b, c — Создать новое окно
Ctrl+b, , — Переименовать окно Переключиться между окнами
Ctrl+b, n — переключиться на следующее окно
Ctrl+b, p — переключиться на предыдущее окно
Ctrl+b, 0..9 — переключиться на окно 0 .. 9
Ctrl+b, w — показать экран навигации
Ctrl+b, f — поиск окна по имени Закрыть окно
Ctrl+b, & — убить текущее окно и терминалы в нём
Sessions
Ctrl+b, $ — переименовать текущую сессию
Ctrl+b, s — переключиться в сессию из списка
Ctrl+b, d — отсоединиться от tmux обратно в консоль
Полезные штуки
Ctrl+b, [ — перейти в режим копирования. С помощью стрелок или PgUp, PgDn можно листать длинный выхлоп команд. Вернуться обратно — Ctrl+C
Ctrl+b, ? — вывести справку с текущим описанием комбинаций клавиш
Работа в командном режиме
Ctrl+b, : — переключиться в командный режим
set -g mouse on — включить поддержку мыши. После этого между терминалами можно будет переключаться мышью, изменять их размер, а также прокручивать вывод.
Работа в фоновом режиме
tmux — создать новую сессию
tmux new -s <name> — создать новую сессию с заданным именем
tmux ls — вывести список сессий
tmux a — подключиться к последней активной сессии
tmux a -t <name> — подключиться к сессии с заданным именем
tmux kill-session -t <name> — завершить сессию с заданным именем
tmux kill-server — полностью завершить tmux
tmux new -d 'ping example.com' — запустить сессию с командой ping в фоновом режиме
04:45 — Куда копать дальше?
Следующий шаг в работе с tmux — настройка его под себя. Создание своего конфига и автоматизация рутинных задач, настройка шаблонов и красивостей. Но это уже материал для самостоятельного изучения. Я лишь попытался описать часто используемые функции из коробки.
05:00 — Заключение
Я считаю tmux полезным и удобным инструментом для работы в консоли, но часто сталкиваюсь с мнением, что он очень сложен в настройке и изучении. В этом посте я постарался рассказать о базовом минимуме, которого должно хватить большинству пользователей, чтобы справляться с повседневными задачами и параллельно изучать возможности tmux глубже.