vtm - текстовый рабочий стол и менеджер окон внутри терминала
vtm - необычный инструмент для Linux, Windows, macOS и BSD-систем, который превращает обычный терминал в подобие текстового рабочего окружения. Программа умеет запускать приложения с терминальным интерфейсом (TUI) в отдельных плавающих окнах. Их можно перемещать, изменять размер и закрывать, причём управление поддерживается не только с клавиатуры, но и мышью.
В этом отношении vtm напоминает полноценный оконный менеджер, только вместо графических окон используются символы терминала. Подробное описание возможностей проекта и примеры его работы можно найти в материале о [текстовом рабочем окружении vtm](https://www.linuxuprising.com/2023/03/vtm-is-text-based-desktop-environment.html).
Что умеет vtm
Помимо управления окнами, vtm выполняет функции терминального мультиплексора. По назначению он близок к tmux и screen: пользователь может отсоединить текущую сессию, закрыть окно терминала, а затем снова подключиться к уже запущенным процессам. Это делает vtm удобным вариантом для длительных задач, серверного администрирования и работы по SSH.
Чтобы оставить среду активной, достаточно выбрать Disconnect. Интерфейс vtm исчезнет, но запущенные программы продолжат работу в фоне. Позже к сессии можно подключиться повторно. Кроме того, к одной сессии способны подключаться несколько компьютеров одновременно, что бывает полезно при совместной работе или наблюдении за процессами.
vtm совместим с большинством популярных эмуляторов терминала: GNOME Terminal, Konsole, Xfce4 Terminal, kitty, Alacritty, xterm, st, iTerm2, Windows Terminal, Windows Command Prompt и Termux. Однако важно учитывать: программа всё равно нуждается в графическом эмуляторе терминала. Поэтому vtm нельзя считать полностью самостоятельной заменой обычного рабочего стола.
После запуска слева открывается панель приложений. Через неё можно запускать программы, переходить к настройкам, отключаться от сессии или полностью завершать работу vtm. Пока параметров немного: среди доступных настроек есть, например, ограничение частоты обновления интерфейса.
Запуск TUI-приложений
Главное преимущество vtm - возможность размещать сторонние TUI-программы в собственных окнах. Это могут быть файловые менеджеры, системные мониторы, редакторы и другие консольные приложения. Сам vtm также содержит несколько встроенных инструментов, которые доступны сразу после установки.
Добавление новых программ выполняется через конфигурационный файл. Сначала необходимо создать каталог настроек и сохранить в нём пример конфигурации из репозитория проекта:
```bash
mkdir -p ~/.config/vtm
```
Затем шаблон нужно сохранить как:
```text
~/.config/vtm/settings.xml
```
В демонстрационном файле обычно присутствует закомментированная запись для Midnight Commander (mc). Чтобы добавить её в меню, следует убрать обозначения комментария `` вокруг соответствующей строки. Аналогичным образом можно подключить htop и другие TUI-программы, указав команду запуска в настройках.
После изменения `settings.xml` vtm нужно именно завершить через кнопку Shutdown, а не отключить с помощью Disconnect. В последнем случае процесс останется работать в фоне, и новые параметры могут не примениться. После повторного запуска добавленное приложение появится в лаунчере.
Таким образом, vtm TUI менеджер окон особенно интересен пользователям, которые предпочитают консольные инструменты, но хотят получить более организованное пространство для их размещения. По функциональности он может рассматриваться как альтернатива tmux для Linux, хотя подход к управлению окнами у проектов заметно отличается.
Установка vtm
Готовые бинарные файлы доступны для Linux, macOS, FreeBSD, OpenBSD, NetBSD и Microsoft Windows. Тем, кто планирует скачать vtm для Linux, необходимо выбрать подходящий архив на странице релизов, распаковать его и открыть терминал в каталоге с исполняемым файлом.
Для установки программы в `/usr/local/bin` можно использовать команду:
```bash
sudo install -m 755 vtm /usr/local/bin/vtm
```
После этого vtm будет доступен из любого каталога. При необходимости можно запускать его вручную командой:
```bash
vtm
```
Установка vtm на Linux не требует сложной сборки, если используется готовый бинарный архив. При этом стоит проверить архитектуру системы и выбрать совместимый вариант файла. Для запуска в режиме "текстового рабочего стола" можно открыть терминал на весь экран и настроить автоматический запуск vtm при старте эмулятора.
Работа с буфером обмена
У проекта есть особенность, к которой потребуется привыкнуть. Копирование текста во встроенном терминале выполняется правой кнопкой мыши: сначала нужно выделить фрагмент, затем нажать RightClick для копирования и повторить это действие для вставки. Содержимое локального буфера отображается вокруг указателя мыши, что иногда удобно, но в некоторых сценариях может мешать.
Очистить локальный буфер можно комбинацией Left + RightClick в любом месте интерфейса. При этом перенос текста из vtm во внешние приложения зависит от поддержки протокола OSC 52 со стороны терминала. Например, терминалы на базе VTE, включая GNOME Terminal, такой механизм не поддерживают, поэтому стандартный обмен с системным буфером может быть недоступен.
Разработчики планируют создать графическую оболочку для vtm. Предполагается, что она будет отображать только матрицу терминальных ячеек, но при этом получит более тесную интеграцию с операционной системой. Это должно решить проблему с буфером обмена и убрать ограничения, которые сейчас накладывает используемый эмулятор терминала. Дополнительные сведения о концепции и текущем состоянии проекта опубликованы в обзоре [vtm для терминала](https://www.linuxuprising.com/2023/03/vtm-is-text-based-desktop-environment.html).
Кому подойдёт vtm
vtm заинтересует тех, кто проводит много времени в командной строке, работает с несколькими TUI-приложениями одновременно или хочет получить единое пространство для удалённых терминальных сессий. Он сочетает плавающие окна, лаунчер и функции мультиплексора, сохраняя при этом минимальные требования к ресурсам.
Однако программа пока остаётся скорее экспериментальной средой, чем полноценной заменой графическому рабочему столу. Её возможности зависят от эмулятора терминала, а работа с буфером обмена ещё не столь удобна, как в обычных GUI-приложениях. Для повседневного администрирования, мониторинга серверов и работы с консольными программами vtm уже сейчас может стать интересным дополнением к tmux или screen.


