Terminal Multiplexer per Microsoft Windows - Programmi di installazione per GNU Screen o tmux [chiuso]


122

Sto cercando un multiplexer terminale per Microsoft Windows. Non sono riuscito a individuare i programmi di installazione per Microsoft Windows sia per tmux che per GNU Screen.

Attualmente sto usando Putty per connettermi alla mia macchina Linux da una macchina Windows. Qualcuno può suggerire come far funzionare GNU Screen o tmux sulla piattaforma Windows.

Esistono altre buone alternative alle opzioni di cui sopra.


Cosa stai cercando di fare esattamente?
thkala

3
Ho bisogno di un multiplexer di terminale in grado di gestire molte finestre di sessione e fornire anche funzionalità di persistenza.
Kamaal

1
cosa ti impedisce di eseguire screen sulla Linux box e semplicemente di scollegare (o chiudere forzatamente) la connessione ogni volta? Non soddisferebbe anche le tue esigenze? L'ho usato tramite Cygwin, ma francamente sono sempre tornato ad avere una scatola Linux separata o una VM sulla macchina Windows che avrebbe eseguito un Linux corretto e mi avrebbe offerto ciò di cui avevo bisogno.
0xC0000022L

1
[Super utente] [1] consiglia Console2 per utenti Windows. [1]: superuser.com/a/419616/92406
gliptak

Risposte:


91

Guarda. È molto vecchio, ma nella remota possibilità che qualcuno di Google lo trovi, la soluzione migliore in assoluto - ( ed è FANTASTICO ) - è usare ConEmu (o un pacchetto che include ed è costruito sopra ConEmu chiamato cmder ) e quindi utilizzare plink o putty stesso per connettersi a una macchina specifica o, ancora meglio, configurare un ambiente di sviluppo come VM locale utilizzando Vagrant .

Questo è l'unico modo in cui potrò mai vedermi sviluppare di nuovo da una scatola di Windows.

Sono abbastanza fiducioso da dire che ogni altra risposta, anche se non necessariamente cattiva, offre soluzioni inutili rispetto a questa.

Aggiornamento : dal 1/8/2020 non tutte le altre soluzioni sono spazzatura: Windows Terminal sta arrivando ed esiste WSL .


1
A) Per quanto riguarda Vagrant: Sì, Vagrant rende molto più semplice di prima installare rapidamente una VM Linux su una macchina Windows. Si noti che forse l'OP non vuole una VM Linux: ad esempio, forse ha poca RAM.
indimenticabileidSupportsMonica

11
B) Per quanto riguarda ConEmu: Cygwin, tmux e ssh sono tutto ciò di cui hai bisogno. Tmux e ssh funzionano allo stesso modo su tutte le piattaforme: Cygwin, Linux, Mac e altri. ConEmu, d'altra parte, è un multiplexer di terminale solo per Windows. Anche una volta che ti ci abitui, le tue conoscenze non si tradurranno in altri sistemi operativi. Sembra che tu stia insinuando che ConEmu sia migliore di tmux; ma quanto tempo hai mai speso usando tmux?
indimenticabileidSupportsMonica

1
Per una bella introduzione a Tmux: http://www.sitepoint.com/tmux-a-simple-start/ Quando dicono CTRL + B% basta digitare allo stesso CTRL + B, quindi premere Maiusc + 5 (che è il tasto nella mia tastiera che ha il simbolo%).
Edenshaw

No, la risposta sull'utilizzo di Cygwin non è spazzatura. E lo stucco / conemu è così brutto con cui lavorare.
Jose V

77

A partire dall'aggiornamento "Anniversary" di Windows 10 (versione 1607), ora puoi eseguire un sottosistema Ubuntu direttamente dall'interno di Windows abilitando una funzionalità chiamata Modalità sviluppatore .

Per abilitare la modalità sviluppatore, vai su Start > Impostazioni, quindi digita "Utilizza funzioni sviluppatore" nella casella di ricerca per trovare l'impostazione. Nella barra di navigazione a sinistra, vedrai quindi una scheda intitolata Per sviluppatori . Da questa scheda, vedrai una casella radio per abilitare la modalità sviluppatore .

Dopo aver abilitato la modalità sviluppatore, sarai quindi in grado di abilitare la funzionalità del sottosistema Linux. Per farlo, vai su Pannello di controllo > Programmi > Attiva o disattiva le funzionalità di Windows > e seleziona la casella che dice Sottosistema Windows per Linux (Beta)

Ora, invece di usare Cygwin o un emulatore di console, puoi eseguire tmux tramite bash sul sottosistema Ubuntu direttamente da Windows tramite il tradizionale pacchetto apt ( sudo apt-get install tmux).


4
Credo che questa risposta dovrebbe essere quella giusta: pollice in su :.
Ahed Eid


Ci sono implicazioni per la sicurezza nel fare questo?
leeand00

1
sicuro che eseguirai Tmux all'interno di WSL, ma non eseguirà le tue app di Windows, devi reinstallarle ma questa volta all'interno di WSL per eseguirle da WSL. Se utilizzerai WSL solo per ssh, probabilmente questo non sarà un problema ma è fastidioso. Altri inconvenienti includono WSL che ha il proprio filesystem, che non puoi guardare da Windows, anche se WSL può guardare il filesystem di Windows. Ecc
Jose V

44

Sia tmux che GNU Screen funzionano con cygwin . Possono essere installati dall'installer di cygwin. Basta cercare lì il loro nome e probabilmente arriverai all'ultima versione (almeno per tmux ).


5
Tmux è abbastanza lento in Cygwin.
Adam

Questo! Ottieni Msys2 che è un fork di Cygwin con supporto per MinGW-w64 e altre cose di Windows. Uso Zshell con Powerlevel10k ed è veloce come può essere, molto carino e funziona altrettanto bene con tmux.
Jose V

8

Potresti essere in grado di ottenere ciò che desideri utilizzando Console2 con Putty o Plink.


1
Posso aggiungere a questo, se usi la versione 1.5.x della console, puoi configurare finestre separate senza bordi e schede. Puoi anche configurare facilmente la larghezza, l'altezza e il posizionamento. In breve, creare diverse finestre e affiancarle sul desktop.
Rex Whitten

2
non si avvicinerà nemmeno a ciò che fa un vero multiplexer terminale. operazione senza mouse? schermo intero un riquadro con 2 sequenze di tasti? più schede di più layout di riquadro? copia incolla senza mouse? attivare / disattivare il layout del riquadro all'interno di una scheda layout? scorrimento senza mouse? ridimensionare il riquadro senza mouse? preconfigurare gli spazi di lavoro con più schede / layout di riquadri e saltare dentro e fuori dalle sessioni dello spazio di lavoro? accoppiamento remoto? tutto questo con un massimo di 2 pressioni di tasti e nessun mouse?
Cosmin,


6

Una delle alternative è MSYS2 , in altre parole "MinGW-w64" / Git Bash . Puoi semplicemente eseguire ssh su macchine Unix ed eseguire la maggior parte dei comandi Linux da esso. Installa anche tmux !

Per installare tmux in MSYS2 :

comando di esecuzione pacman -S tmux

Per eseguire tmux su Git Bash :

installare MSYS2 e copiare tmux.exee msys-event-2-1-6.dllda MSYS2 cartella C:\msys64\usr\bina vostra Git Bash directory C:\Program Files\Git\usr\bin.


i collegamenti simbolici funzionano quindi se aggiorni il lato msys2 git bash utilizzerà i file più recenti. da git bash /c/Program Files/Git/usr/binquesto ha funzionato per me proprio ora:$ ln -s /c/msys64/usr/bin/tmux.exe . ; ln -s /c/msys64/usr/bin/msys-event-2-1-6.dll .
Grant Bowman

Ho trovato utile questo post sul blog
Grant Bowman

5

In alternativa, SuperPutty ha delle schede e l'opzione per eseguire lo stesso comando su molti terminali ... potrebbe essere quello che qualcuno sta cercando.

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

Importa anche le tue sessioni di PuTTY.


2

Ecco il modo sporco:

  1. Accedi a un server Linux utilizzando "ssh -X user @ host"
  2. apri rxvt-unicode o un altro terminale X.
  3. apri tmux o schermo
  4. Accedi nuovamente al tuo computer locale dal server
  5. avvia la tua shell preferita come msys o cygwin.

4
se sembra stupido e funziona non è stupido lol
Hobroker

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.