Аналог tmux для windows

Обновлено: 06.07.2024

Я ищу терминальный мультиплексор для Microsoft Windows. Мне не удалось найти установщиков для Microsoft Windows для экрана tmux и GNU.

В настоящее время я использую Putty для подключения к моей машине Linux с Windows Machine. Может кто-нибудь предложить, как заставить GNU Screen или tmux работать на платформе Windows.

Есть ли другие хорошие альтернативы вышеуказанным параметрам.

Посмотрите. Это устарело, но при условии, что кто-то из Google найдет это, абсолютно лучшее решение для этого - (и это УДИВИТЕЛЬНО) - это использование ConEmu (или пакета, который включает в себя и построен поверх ConEmu, называемого cmder), а затем либо используйте plink или putty, чтобы подключиться к определенной машине, либо, что еще лучше, настройте среду разработки как локальную виртуальную машину с использованием Vagrant.

Это единственный способ, которым я когда-либо снова вижу себя развивающимся из коробки Windows.

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

Начиная с обновления Windows 10 "Anniversary" (версия 1607), вы можете запустить подсистему Ubuntu непосредственно из Windows, включив функцию Режим разработчика.

Чтобы включить режим разработчика, откройте "Пуск" > "Настройки" и введите "Использовать функции разработчика" в поле поиска, чтобы найти параметр. В левой руке вы увидите вкладку "Для разработчиков". На этой вкладке вы увидите радио-окно, чтобы включить режим разработчика.

После того, как режим разработчика включен, вы сможете включить функцию подсистемы Linux. Для этого перейдите в Панель управления > Программы > Включить или отключить функции Windows > и установите флажок "Подсистема Windows для Linux (бета-версия)

Теперь, вместо использования Cygwin или консольного эмулятора, вы можете запустить tmux через bash в подсистеме Ubuntu непосредственно из Windows через традиционный пакет apt ( sudo apt-get install tmux ).

Терминальный мультиплексор может значительно повысить производительность. Экономится время, которое тратилось на переключение между консолями и редакторами. Каждый разработчик и пользователь получат выгоду от использования командной строки. Познакомясь с командной строкой можно значительно улучшить свой рабочий процесс.

Наиболее ценной особенностью терминального мультиплексора является устойчивость: способность отключаться и подключаться к сессиям из множества мест. Они незаменимы при удалённых работах. Другая ключевая особенность — это возможность создания мульти окон, позволяя разделам терминального окна быть разделённым по сессиям. Это даёт возможность пользователям запускать множество текстовых программ одновременно, также как предлагает возможности, которые позволяют пользователям переключаться между этими программами в процессе.

Вот мой выбор из лучших терминальных мультиплексоров. Каждое из этих приложений выпущено под лицензией open source.


tmux — это «терминальный мультиплексор», даёт возможность создавать, иметь доступ и контролировать из единого окна ряд терминалов (или окон). Одной из наиболее мощной особенностью, которые предлагает tmux, является возможность разделить текущее окно на панели ("panes").

tmux запускается как система на стороне сервера. Сервер создаётся автоматически когда необходимо и поддерживает ряд сессий, каждая из которых имеет ряд связанных с ней окон. Сервер tmux управляет клиентами, сессиями, окнами и панелями.

Любое количество клиентов может подсоединиться к сессии, или сервер может контролироваться посылом команд с tmux. Связь происходит через сокет, по умолчанию помещённый в /tmp.

Tmux обеспечивает последовательный и хорошо задокументированный командный интерфейс, с таким же синтаксисом, который используется интерактивно, как построитель команд или как шелл. Он предлагает на выбор ключевые макеты vim или Emacs.

  • Использует чётко определённую модель клиент-сервер
  • Мощный, надёжный, хорошо документированный и простой скриптовый командный интерфейс
  • Окно может быть разделено горизонтально и вертикально на панели
  • Панели могут быть свободно перемещены, изменены в размерах, организованы в заданные макеты
  • Меню для интерактивной секции запущенных сессий, окон и клиентов
  • Поддерживает UTF-8 и 256-цветные терминалы
  • Копирование и вставка с множественными буферами
  • Интерактивные меню для выбора окон, сессий или клиентов
  • Изменяйте текущее окно поиском текста в цели
  • Окна могут быть привязаны к произвольному количеству сессий
  • Блокировка терминала вручную или после определённого времени
  • Мультибуфер для вставки
  • Выбор комбинаций клавиш vi или emacs
  • Поиск в окнах
  • Прост для скриптов
  • Опциональная строка статуса, которая отображается в нижней линии каждого терминала

Разработчик: Nicholas Marriott

Лицензия: BSD License

Номер версии: 1.9a

dynamic virtual terminal manager (dvtm)


dynamic virtual terminal manager (dvtm) — это маленькая утилита с открытым кодом, которая приносит концепт плиточного оконного менеджмента, популяризованного в консоли менеджерами X11-window вроде dwm. Как и консольный оконный менеджер, он пробует сделать простой работу с множеством основанных на консоли программ. dvtm в комбинации с серверами abduco как полезная альтернатива tmux или GNU Screen.

dvtm пытается делать одну вещь, динамичное управление окнами на консоли, и делает это хорошо. Исходный код dvtm сравнительно мал (

4000 строк ANSI C), прост и, следовательно, прост для развития. dvtm использует некоторый код dwm.

  • Поддерживаемые форматы:
  • Макеты — 4 доступны в конфигурации по умолчанию:

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

Разработчик: Marc André Tanner

Лицензия: MIT/X Consortium License

Номер версии: 0.13

GNU Screen

Screenshot-GNUScreen

GNU Screen — это терминальный мультиплексор, который запускает несколько раздельных «экранов» на одном физическом терминале, который может показывать только текст. Экран предотвращает отключении сессии по тайм ауту или отключению SSH соединений или эмуляторов локального терминала.

Каждый виртуальный терминал эмулирует DEC VT100 плюс несколько функций ANSI X3.64 и ISO 2022. Экранные сессии можно отсоединить и возобновить позже в другом терминале.

Есть прокручиваемый буфер истории для каждого терминала и механизм копирования-вставки, которые позволяет переносить области текста между окнами.

  • Настраиваемая трансляция ввода и вывода
  • Поддержка последовательного порта
  • Настраиваемая запись событий
  • Поддержка мультипользователей — окно может быть отображено на более чем одном подсоединённом дисплее
  • Поддержка альтскрина (Altscreen)
  • Поддержка разделения экрана
  • Эмуляция хардстатуса (Hardstatus)
  • Поддержка 256 цветов
  • Поддержка кодировки utf8
  • Отслеживание мыши X11
  • Трансляция ввода
  • Огромное число командной
  • Опциональная поддержка шрифта Брайля

Разработчик: GNU Project

Лицензия: GNU GPL v2

Номер версии: 4.2.1

Byobu

Screenshot-Byobu1

Byobu — основанный на тексте оконный менеджер и терминальный мультиплексор с открытым исходным кодом, который первоначально основывался на утилите GNU Screen. Его цель обеспечить лучшее удобство пользователей для терминальный сессий, когда происходит соединение с удалёнными серверами. Используя Byobu, пользователи могут быстро создать и у переместиться между различными окнами поверх одного SSH соединения или TTY терминала, мониторить много важной статистики об их системе, отсоединяться или заново соединяться к сессиям позже, в то время как программы продолжают работать в фоне.

Byobu включает усовершенствованные профили, удобные сочетания клавиш, конфигурационные утилиты и переключаемые уведомления о состоянии системы для tmux и GNU Screen.

  • Линия заголовка — показывает открытые окна и подсвечивает то, на котором установлен фокус и, опционально, отображает имя пользователя, имя хоста, IP адрес и ссылку на Меню
  • Жёсткая строка состояния — зашифрованный цветом вывод и символы с настраиваемыми и динамически обновляемыми фактами, статистикой и информацией о локальной системе.
  • Много различных уведомлений состояния с описанием каждого из них, в том числе:

  • apport — указывает отложенные отчёты о сбоях
  • arch — системная архитектура
  • battery — информация о батарее, показывает разрядку, зарядку, полный заряд, цветовые индикаторы
  • cpu_count - количество cpu или ядер в системе
  • cpu_freq — текущая частота cpu в GHz
  • cpu_temp - температура cpu в Цельсиях (по умолчанию) или в Фаренгейтах
  • custom — пользователь задал свой скрипт
  • date — системная дата в формате YYYY-MM-DD
  • disk — общее доступное дисковое пространство и используемое
  • disk_io — скорость чтения/записи в KB/s или MB/s за последние 3 секунды
  • ec2_cost - estimation of the cost of the current boot of the system in terms of the Amazon EC2 billing model
  • entropy - количество текущей энтропии системы в байтах
  • raid — очень заметный индикатор, появляется если обнаружен сбой в RAID, выглядит как мерцающий красный текст на белом фоне
  • rcs_cost - оценка стоимости текущей загрузки системы с точки зрения биллинга модели Rackspace Cloud Server
  • fan_speed — скорость вентилятора по lm-сенсору
  • hostname
  • ip_address
  • ip_address4
  • ip_address6
  • load_average — средняя загрузка системы за последнюю минуту
  • logo
  • mail
  • memory — общая доступная память и используемая в настоящее время
  • network — текущая скорость выгрузки/загрузки в [GMk]bps за последние 3 секунды
  • notify_osd
  • processes — общее число процессов, запущенных в системе
  • reboot_required — символ появляется, если необходима перезагрузка
  • release
  • services — настроить список сервисов для мониторинга
  • swap — общий размер подкачки и общее использование в процентах об общей доступной
  • time
  • time_binary
  • time_utc
  • updates_available
  • uptime — общее время работы системы после загрузки
  • users
  • whoami
  • wifi_quality — уровень соединения и качества сигнала wifi соединения

Разработчик: Dustin Kirkland, Nick Barcet, Raphaël Pinson, Derek Carter

Лицензия: GNU GPL v3

Номер версии: 5.87

Tmuxinator

Screenshot-Tmuxinator

Tmuxinator — это утилита с открытым исходным кодом, которая помогает пользователям создавать и поддерживать сессии tmux более простым образом, в частности для более сложных макетов. Это простой и гибкий способ управления конфигурацией tmux.

Выбираю себе мультиплексор, дабы не запускать каждый раз рабочие сессии после ребута компа (а так же чтобы юзать те же сессии с других устройств). Screen когда-то юзал - не ахти. Tmux юзал тоже, не смог побороть срезание размеров экрана, если например создать терминальное окно на девайсе с экраном 1366х768, а потом тачнуться туда с FullHD девайса, то размер терминального окна остается старым.

Может кто-то подскажет ВМЕНЯЕМЫЙ аналог screen, желательно с теми же самыми хоткеями ?

С наступающим всех!



Из неназванного, наверное, можно серьёзно смотреть только на dvtm.

Без описания того, чем он невменяемый, это просто невозможно сделать.

Если нужны чисто сессии, без всяких сплитов и подобного, то dtach. Сам использую вместо tmux, нравится. Всего один хоткей Ctrl+\ (по умолчанию) — собственно detach-нуть.


дабы не запускать каждый раз рабочие сессии после ребута компа

Если только для этого, то попробуй byobu. Только это просто оболочка для screen и tmux.
Не очень понятно, чем тебя screen не устраивал.


Норкомания какаято. Иди ч тред саахрикты.


Не очень понятно, чем тебя screen не устраивал.

Это было года три-четыре назад. Из запомнившегося - глюки с автопереносом текста, когда набираешь длинную строку, превышающую ширину экрана - курсор просто перемещался в начало уже набранной строки и добавляемый текст затирал уже набранный. Хотя не исключаю что это я что-то не осилил, но разбираться не было времени, поставил tmux.


добавляемый текст затирал уже набранный

Больше похоже на неправильно сделанное приглашение оболочки или неверное значение $TERM .


Вот чем меня бесит tmux.

1. Подключился с локального ПК на домашний сервак. Запустил tmux. ЗаSSH'ился на сервер, все в порядке.

2. Подключился с ноута на домашний сервак. Приаттачился к tmux, все в порядке.


По крайней мере для параллельных подключений tmux выбирает наименьший размер, который устраивает всех. Если подключения не одновременные, то дело может быть в передаче переменных окружения ( update-environment в man tmux ).

А как по-твоему должно быть? На локальном компе можно отключить других клиентов, <Prefix> D


По-моему если окно полноэкранное, а не сплитное, то логично же что символы заполняют всю доступную область, при достижении конца строки переносятся на следующую, при заполнении экрана скроллятся.

Ты ведь когда ресайзишь окно в ГУЯх, у тебя символы заполняют всю рабочую область, а не заменяются пробелами.



Tmux юзал тоже, не смог побороть срезание размеров экрана, если например создать терминальное окно на девайсе с экраном 1366х768, а потом тачнуться туда с FullHD девайса, то размер терминального окна остается старым.

screen-vs-tmux

Особенности Screen

Поддержка нескольких сессий одновременно. Например, можно начать сессию для редактирования конфигурационных файлов, отключиться от нее, в два клика начать новую сессию (всего лишь запустив Screen) и без проблем вернуться к предыдущей. Главное запомнить команду <Ctrl+A D>, чтобы закрыть текущую сессию, и ключ ‘r’ чтобы запустить по новой. После повторного запуска продолжать работу можно на другом ПК, поскольку текущая сессию сохраняется на сервере.

Наблюдение за выбранным окном. Это делается с помощью утилиты <C-a M>. После введения этой команды будут просматриваться все изменения, происходящие в конкретном окне, даже если работа на данный момент ведется в другом окне.

Собственный механизм копирования и вставки. Перевести оконный менеджер в режим копирования можно при помощи команды <C-a C-[>. Далее нужно использовать указательные клавиши и пробел, чтобы скопировать текст и вставить командой <C-a C-]>.

Возможность создать клавиатурные комбинации на свое усмотрение, к примеру, для вызова часто используемых приложений. Это делается опцией bind конфигурационного файла.

Особенности Tmux

Более ясный формат написания строки статуса. После запуска утилиты статусная строка активируется автоматически.

Возможность вертикального разделения экрана, в отличие от Screen, где горизонтальное деление устанавливается по умолчанию (поддержка разделения по вертикали появилась только в версии 4.2), Эту опцию можно вызвать командой Ctrl+B :split-vertical.

Подключаться к текущей сессии можно несколько раз, используя tmux attach. При этом другие подключенные пользователи также могут оставаться в системе.

Прокрутка истории при помощи колеса мыши. Для этого достаточно перейти в режим mouse-mode on.

При подключении к screen другого пользователя больше не нужно запускать “script”.

Команды можно вводить как в виде клавиатурных комбинаций, так и с терминала.

Таблица команд и клавиатурных комбинаций

Операция screen tmux
Запустить новую сессию screen tmux
tmux new-session
tmux new-session -s [имя сессии]
Подключиться к уже созданной сессии screen -r tmux attach
tmux attach-session -s [имя сессии]
tmux -a
Отсоединиться от текущей сессии Ctrl+A D tmux detach ИЛИ Ctrl+B D
Просмотреть список активных сессий screen -ls tmux ls
Удалить сессию screen -r [имя сессии] -X quit tmux kill-session -t [имя сессии]
Удалить все сессии Ctrl+A \ tmux kill-server


Создаем сессии, упражняемся с окнами и делаем другие трюки в Screen на нашем авторском курсе «Администрирование Linux. Базовый уровень»!

Читайте также: