Терминальный мультиплексор для Microsoft Windows - Установщики для GNU Screen или tmux [закрыто]

122

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

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

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

Kamaal
источник
Что именно ты пытаешься сделать?
thkala
3
Мне нужен терминальный мультиплексор, который может управлять многими окнами сеанса, а также обеспечивать функции сохранения.
Kamaal
1
что мешает вам запускать screen на Linux и просто отключать (или принудительно закрывать) соединение каждый раз? Разве это не соответствовало бы вашим требованиям? Я использовал его через Cygwin, но, честно говоря, я всегда возвращался к тому, чтобы иметь либо отдельную машину Linux, либо виртуальную машину на машине Windows, которая запускала бы собственно Linux и предлагала мне то, что мне было нужно.
0xC0000022L
1
[Super user] [1] рекомендует Console2 для пользователей Windows. [1]: superuser.com/a/419616/92406
gliptak

Ответы:

91

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

Это единственный способ снова увидеть себя развивающимся из Windows.

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

Обновление : по состоянию на 1/8/2020 не все другие решения являются мусором - терминал Windows попадает туда, а WSL существует.

КГВР
источник
1
A) Относительно Vagrant: Да, Vagrant делает намного проще, чем раньше, быструю установку виртуальной машины Linux на машину Windows. Обратите внимание, что, возможно, OP не хочет виртуальную машину Linux: например, возможно, у него мало ОЗУ.
unforgettableidSupportsMonica
11
Б) Что касается ConEmu: Cygwin, tmux и ssh - это все, что вам нужно. Tmux и ssh работают одинаково на всех платформах: Cygwin, Linux, Mac и других. ConEmu, с другой стороны, является терминальным мультиплексором только для Windows. Даже если вы к этому привыкнете, ваши знания не будут перенесены на другие ОС. Вы, кажется, намекаете, что ConEmu лучше, чем tmux; но сколько времени вы когда-либо тратили на tmux?
unforgettableidSupportsMonica
1
Для хорошего знакомства с Tmux: http://www.sitepoint.com/tmux-a-simple-start/ Когда они скажут CTRL + B%, просто введите тот же CTRL + B, затем нажмите Shift + 5 (это клавиша на моей клавиатуре с символом%).
Edenshaw 07
Нет, ответ об использовании Cygwin - не мусор. А со шпатлевкой / конему так некрасиво работать.
Jose V,
77

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

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

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

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

Брэндон Клэпп
источник
4
Я считаю, что этот ответ должен быть правильным: thumb-up :.
Ahed Eid
1
howtogeek.com/249966/…
Миранда
Есть ли какие-либо последствия для безопасности при этом?
leeand00
1
Конечно, вы запустите Tmux внутри WSL, но он не запустит ваши приложения Windows, вам придется переустановить их, но на этот раз внутри WSL, чтобы запускать их изнутри WSL. Если вы собираетесь использовать только WSL для ssh, это, вероятно, не будет проблемой, но это раздражает. К другим неудобствам относится наличие у WSL собственной файловой системы, на которую нельзя смотреть из окон, даже несмотря на то, что WSL может просматривать файловую систему Windows. Etc
Jose V,
44

И tmux, и GNU Screen работают под cygwin . Их можно установить из установщика cygwin. Просто найдите там их имя, и вы, вероятно, получите последнюю версию (по крайней мере, для tmux ).

Рафа де Кастро
источник
5
Tmux работает в Cygwin довольно медленно.
adam
Это! Получите Msys2, вилку Cygwin с поддержкой MinGW-w64 и других вещей для Windows. Я использую Zshell с Powerlevel10k, он работает быстро, очень красиво и так же хорошо работает с tmux.
Jose V,
8

Возможно, вы сможете получить то, что хотите, используя Console2 с Putty или Plink.

joelpt
источник
1
Я могу добавить к этому, если вы используете версию консоли 1.5.x, вы можете настраивать отдельные окна без границ и вкладок. Вы также можете легко настроить ширину, высоту и размещение. Короче говоря, создайте несколько окон и выложите их на рабочий стол.
Рекс Уиттен,
2
даже близко не приблизится к тому, что делает настоящий терминальный мультиплексор. работа без мыши? полноэкранная панель с 2 нажатиями клавиш? несколько вкладок с несколькими макетами панелей? копирование без мыши? переключить макет панели на вкладке макета? прокрутка без мыши? изменить размер панели без мыши? предварительно настроить рабочие пространства с несколькими макетами вкладок / панелей и переходить к сеансам рабочего пространства и выходить из них? удаленное сопряжение? все это максимум двумя нажатиями клавиш и без мыши?
Cosmin
6

Одна из альтернатив - MSYS2 , другими словами «MinGW-w64» / Git Bash . Вы можете просто использовать ssh для Unix-компьютеров и запускать с него большинство Linux-команд. Также установите tmux !

Чтобы установить tmux в MSYS2 :

Команда выполнения pacman -S tmux

Чтобы запустить tmux на Git Bash :

установить MSYS2 и скопировать tmux.exeи msys-event-2-1-6.dllиз MSYS2 папки C:\msys64\usr\binв вашем Git Bash каталога C:\Program Files\Git\usr\bin.

Стас С
источник
символические ссылки работают, поэтому, если вы обновите сторону msys2, git bash будет использовать более новые файлы. из git bash /c/Program Files/Git/usr/binэто сработало для меня только сейчас:$ ln -s /c/msys64/usr/bin/tmux.exe . ; ln -s /c/msys64/usr/bin/msys-event-2-1-6.dll .
Grant Bowman
Я нашел этот пост в блоге полезным
Грант Боумен
5

В качестве альтернативы SuperPutty имеет вкладки и возможность запускать одну и ту же команду на многих терминалах ... может быть то, что кто-то ищет.

https://code.google.com/p/superputty/

Он также импортирует ваши сеансы PuTTY.

Строймеханизация
источник
2

Вот грязный способ:

  1. Войдите на сервер Linux, используя "ssh -X user @ host"
  2. откройте rxvt-unicode или другой X-терминал.
  3. откройте tmux или экран
  4. Войдите на свой локальный компьютер с сервера
  5. запустите вашу любимую оболочку, такую ​​как msys или cygwin.
dannybaobei
источник
4
если это выглядит глупо и работает, это не глупо, лол
Hobroker