[Entware] Screen, Tmux, Dtach - оконные менеджеры, "многозадачность", запуск задачи в фоне

Используем пакеты, расширяющие возможности оборудования
Аватара пользователя
Zyxmon
Администратор
Сообщения: 1911
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 09 июн 2016, 12:53

Многие из нас привыкли к куче открытых окон на экране. В одном окне выполняется одна задача, в другом - другая. В этой теме обсудим, как запускать много задач на роутере. Как после запуска задачи отключиться от ssh сессии, а потом вернуться назад и посмотреть на результат. Например запустить копирование большого объема данных (например по сети), отключиться от роутера (или NAS) и через несколько часов проверить результат. Мы рассмотрим три утилиты, которые помогут нам это осуществить.
Screen
В интернете много инструкций по screen. Не имеет смысл их пересказывать. Просто приведу простой пример.
1. Установим screen

Код: Выделить всё

opkg install screen

2. Запустим screen

3. Запустим mc, подключимся к ftp серверу, начнем копировать.
4.Перведем задание в фон. Нажмем `Ctrl a d`

Код: Выделить всё

[detached from 13686.pts-0.Extra]

5. Можно выйти из ssh сессии, потом подключиться еще раз и набрать

Код: Выделить всё

screen -r

Мы увидим окно mc и поймем завершилось ли копирование. Если завершилось, завершим mc и потом и сеанс screen командой `exit`

Код: Выделить всё

[screen is terminating]
~ #

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1911
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 09 июн 2016, 12:54

Tmux
Не будем обсуждать, что лучше screen или tmux. Те же операции, что и выше можно сделать с помощью tmux.
Разница в следующем
1. Установка `opkg install tmux`
2. Запуск `tmux`
4. Отключение `Ctrl b d`
5. Повторное подключение `tmux attach`

Кратка шпаргалка по tmux - https://habrahabr.ru/post/126996/

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1911
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 09 июн 2016, 12:54

Dtach
Предыдущие операции можно сделать и с помощью утилиты dtach
1. Установка `opkg install dtach`
2. Запуск

Код: Выделить всё

dtach -c $HOME/ftpcopy mc

Тут мы создали сокет $HOME/ftpcopy, его будем использовать потом для подключения назад. Можем сразу указать, что запустить в сеансе (mc).
4. Отключение `ctrl \`
5. Подключение

Код: Выделить всё

dtach -a $HOME/ftpcopy

Используем socket из п. 2.

Аватара пользователя
Александр Рыжов
Сообщения: 443
Зарегистрирован: 12 авг 2015, 14:14
Откуда: Смоленск

Сообщение Александр Рыжов » 10 июн 2016, 13:22

Небольшое дополнение.

1. Самый православный вариант, поддерживающий море кодировок и типов терминалов — screen. Скажем, мне он на UTF-8 системе позволял использовать KOI-8 приложение golded для чтения FIDO-почты на роутере (хранящего почтовые базы в CP866:)).
2. Киллер-фича tmux — разделение окна терминала на несколько независимых секций, пример с роутера — здесь.
3. dtach — очень легковесный. Он не рендерит свёрнутую термнальную сессию честно, не умеет показывать scroll-back и даже не умеет делать перенаправления. Так что если в вашем скрипте есть пайпы (echo ... | grep ...), то такой скрипт под dtach не заработает.

VyacheslavM
Сообщения: 11
Зарегистрирован: 01 дек 2018, 15:47

Сообщение VyacheslavM » 06 апр 2022, 07:59

Подскажите где лежит конфиг тмукса в entware opkg?
Как его настраивать чтобы он помнил между перезагрузками?
Моно ли сделать чтобы тмукс можно было использовать с мышью?

Аватара пользователя
Александр Рыжов
Сообщения: 443
Зарегистрирован: 12 авг 2015, 14:14
Откуда: Смоленск

Сообщение Александр Рыжов » 06 апр 2022, 19:44

Позабавил и понравился vtm — полноценный оконный менеджер для терминала.
Собран в качестве теста ув.тов. @The_BB и доступен для двух архитектур:

Код: Выделить всё

opkg install http://bin.entware.net/mipselsf-k3.4/archive/vtm_0.6.0-1_mipsel-3.4.ipk

или

Код: Выделить всё

opkg install http://bin.entware.net/aarch64-k3.10/archive/vtm_0.6.0-1_aarch64-3.10.ipk

VyacheslavM
Сообщения: 11
Зарегистрирован: 01 дек 2018, 15:47

Сообщение VyacheslavM » 07 апр 2022, 00:47

Александр Рыжов, вы не знаете как настроить tmux в entware на роутере чтобы можно было мышкой переключать панели и двигать размеры панелей?


Вернуться в «Entware/Qnapware/Optware/Zyxware - обсуждаем репозитории пакетов»

Кто сейчас на конференции

Всего 0 посетителей :: 0 зарегистрированных, 0 скрытых и 0 гостей (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей