mtm — это Micro Terminal Multiplexer, терминальный мультиплексор.
Он имеет четыре основные особенности/принципа:
mtm «закончен», как и сейчас. Вам не нужно беспокоиться о том, что это неожиданно изменится на вас. Единственные изменения, которые могут произойти на этом этапе:
Роб публикует новости о MTM в Твиттере по адресу http://twitter.com/TheKingAdRob.
Установка и настройка довольно проста:
Вам нужен ncursesw. Если вы хотите поддерживать изменение размера терминала, ncursesw необходимо скомпилировать со своим внутренним обработчиком SIGWINCH; это верно для большинства предварительно скомпилированных дистрибутивов. Другие реализации проклятий могут работать, но они не тестировались.
Отредактируйте переменные в верхней части Makefile, если вам нужно (вероятно, вы этого не делаете).
Если вы хотите изменить сочетания клавиш по умолчанию или другие флаги времени компиляции, скопируйте config.def.h в config.h и отредактируйте копию. В противном случае процесс сборки будет использовать значения по умолчанию.
Бегать:
делать
или:
make CURSESLIB=проклятия
или:
make HEADERS='-DNCURSESW_INCLUDE_H=""'
в зависимости от того, что работает для вас.
При необходимости запустите make install.
Использование простое:
mtm [-T ИМЯ] [-t ИМЯ] [-c КЛЮЧ]
Флаг -T указывает mtm использовать другой тип хост-терминала.
Флаг -t сообщает mtm, какой тип терминала следует рекламировать. Обратите внимание, что это не меняет того, как mtm интерпретирует управляющие последовательности; он просто контролирует значение переменной среды TERM.
Флаг -c позволяет указать символ клавиатуры, который будет использоваться в качестве «префикса команды» для mtm при изменении с помощью элемента управления (см. ниже). По умолчанию это г.
Внутри mtm все работает почти так же, как и в любом другом терминале. Однако mtm позволяет разделить терминал на несколько виртуальных терминалов.
В любой момент времени в фокусе находится ровно один виртуальный терминал. Именно на этот терминал отправляются вводимые с клавиатуры данные. Сфокусированный терминал обозначается местоположением курсора.
Следующие команды распознаются в mtm, если им предшествует префикс команды (по умолчанию ctrl-g ):
Вот и все. Нет десятков команд, нет режимов, больше изучать нечего.
(Обратите внимание, что эти сочетания клавиш можно изменить во время компиляции.)
mtm запускает три экземпляра tine
mtm запускает различные другие программы
mtm показывает свою совместимость
(Обратите внимание, что вам нужно читать этот раздел только в том случае, если вам интересно. mtm должен работать для вас «из коробки», благодаря усилиям различных хакеров на протяжении многих лет, чтобы сделать независимость терминала реальностью.)
По умолчанию mtm рекламирует себя как терминал screen-bce. Это то, как GNU screen и tmux рекламируют себя, и это хорошо известный тип терминала, который десятилетиями находился в базе данных terminfo по умолчанию.
(Обратите внимание, что это не должно означать, что кто-либо, участвующий в проектах GNU screen или tmux, поддерживает или имеет какое-либо отношение к mtm, и наоборот. Однако их работа превосходна, и вам обязательно стоит ее проверить. )
mtm поставляется с файлом описания terminfo под названием mtm.ti. В этом файле описаны все функции, поддерживаемые mtm.
Если вы хотите установить терминал этого типа, используйте компилятор tic, входящий в состав ncurses:
тик -s -x mtm.ti
или просто:
сделать install-terminfo
При этом будут установлены следующие типы терминалов:
Эта команда скомпилирует и установит запись terminfo. После этого вызовем mtm с -t mtm:
мтм -т мтм
будет инструктировать программы использовать эту запись terminfo. Конечно, вы можете заменить mtm на любой другой из вышеперечисленных типов терминалов.
Использование этих записей terminfo позволяет программам использовать всю мощь эмуляции терминала mtm, но это совершенно необязательно. Основная цель разработки mtm заключалась в том, чтобы его можно было полностью использовать в системах, в которых не была установлена запись mtm terminfo. По умолчанию mtm рекламирует себя как широко доступный тип терминала screen-bce.
Авторские права принадлежат Робу Кингу, 2016–2019
Эта программа является свободным программным обеспечением: вы можете распространять ее и/или изменять в соответствии с условиями Стандартной общественной лицензии GNU, опубликованной Фондом свободного программного обеспечения, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии.
Данная программа распространяется в надежде, что она будет полезна, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии ТОРГОВОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. Дополнительную информацию см. в Стандартной общественной лицензии GNU.
Вместе с этой программой вы должны были получить копию Стандартной общественной лицензии GNU. Если нет, см.