Qualcuno ha trovato un terminale shell (ad esempio bash) per Windows buono come quello di OS X?


14

Sto usando principalmente 'git-bash' fornito con l'installazione Windows di Git vcs. Penso che sia lo stesso di Cygwin. Funziona bene tecnicamente ma l'interfaccia utente fa schifo:

  • fare clic con il tasto destro sulla barra del titolo e andare su Proprietà per modificare la larghezza della finestra
  • più fastidiosamente ... copiare e incollare ed evidenziare con il mouse sono ugualmente ingombranti

Al contrario, l'app Terminal fornita con OS X gestisce questi con aplomb e lo rende molto più comodo con cui lavorare. Puoi anche trascinare e rilasciare un file su di esso e incollerà il percorso del file nel cursore!

Ho anche provato:

  • http://sourceforge.net/projects/win-bash
  • http://www.steve.org.uk/Software/bash/
  • http://www.hamiltonlabs.com/cshell.htm

Nessuno di questi copia e incolla di testo senza ingombranti clic col tasto destro.

Sto specificatamente cercando una shell dal sapore Unix in Windows, quindi non devo usare shell diverse tra il mio home dev (Windows), il server live (Linux) o dev in ufficio (Mac).

Sì, ho cercato su Google e non ne ho ancora trovato uno ...


3
Per qualsiasi console in Windows, incluso Cygwin Bash, è possibile abilitare la modifica rapida ed è migliore del comportamento predefinito. Dal momento che non hai descritto ciò che trovi ingombrante, non so se ci hai provato.
mfinni,

In realtà penso che Git-Bash funzioni su MSYS da MinGW piuttosto che da Cygwin di per sé ... tuttavia avendo appena installato ciascuno di essi separatamente l'app shell fornita con Cygwin sembra essere identica a quella in MSYS, che è la stessa di uno che viene fornito con Git.
Anentropico

@mfinni grazie, non avevo provato la modalità 'modifica rapida'. Tuttavia è ancora piuttosto goffo e non puoi fare copia e incolla con la stessa facilità di un normale programma ...
Anentropic

QuckEdit è vicino alla copia / incolla di PuTTY / X: evidenzia il testo e premi invio per copiare, quindi fai clic con il pulsante destro del mouse per incollare.
DerfK,

Dovresti essere consapevole (non posso dire con certezza se lo sei) che terminali e shell sono distinti e ampiamente indipendenti l'uno dall'altro.
In pausa fino a ulteriore avviso.

Risposte:


10

Hai provato console2 ?

Ti consente di usare cmd, bash o qualsiasi programma come shell e consente di ridimensionare in qualsiasi direzione.

Puoi impostarlo come predefinito su Git Bash andando su Modifica-> Impostazioni, quindi incollandolo nel campo Shell:

"C:\Program Files\Git\bin\sh.exe" --login -i"

Per copiare, tieni premuto Maiusc, fai clic e trascina con il tasto sinistro del mouse per selezionare, quindi fai clic con il tasto sinistro per copiare.

Infine, Git viene fornito con rxvt. È possibile creare un nuovo collegamento di Windows con il campo Destinazione impostato su:

"C:\Program Files\Git\bin\rxvt.exe" -e /bin/sh --login -i

Ottimo consiglio: avevo provato Console2 ma non avevo idea di poter cambiare la shell sottostante!
Anentropico

1
@Mikel, hai provato ConEmu?
Massimo

ConEmu è un degno successore di Console2 e un grande miglioramento.
Charles Roper,

6

[Ripubblicando il mio commento come risposta alla richiesta di Anentropic.]

Se stai usando Cygwin e ti piace PuTTY, dai un'occhiata a mintty. È disponibile nella categoria Conchiglie nel programma di installazione di Cygwin (o ottieni la fonte qui ). L'autore ha usato gran parte di PuTTY per crearlo, quindi si comporta in modo molto simile a PuTTY. Può essere configurato per funzionare come desideri:

  • Ridimensiona la finestra semplicemente trascinando i bordi o gli angoli, come qualsiasi altra app di Windows. Questo ridimensionerà il terminale aggiungendo o rimuovendo righe e / o colonne, come ti aspetteresti da qualcosa come xterm.
  • Copia / incolla può essere configurato come operazioni a singolo clic (ad es. Clic sinistro per evidenziare e copia automatica, clic destro per estendere, clic centrale per incollare).
  • Come con il terminale OS X, trascinando un file o una cartella in una finestra coniata, si incolla l'intero percorso nella posizione del cursore.
  • Tutte le unità Windows sono disponibili, "montate" per impostazione predefinita in / cygdrive (anche se di solito lo cambio in / mnt con mount -c /mnt).

Il mio unico problema con mintty è che le versioni recenti (0.9.4+) sembrano fare qualcosa che non è gradita a UAC di Windows 7, quindi richiede l'autorizzazione per eseguirlo ogni volta. Questo sembra far funzionare con privilegi diversi, quindi cose come le mie unità di rete non funzionano. Non so se questo sia un problema di zecca, o un problema con il mio sistema, però.


Non ho questo problema con Windows 7, quindi è molto probabilmente un problema con il tuo sistema. Secondo, l'uso di Mintty che supporta anche tutte quelle belle nuove scorciatoie di Windows per spostare le finestre (tasto Windows + frecce)
Renik,

È fantastico - sai se è possibile indicarlo per utilizzare la shell fornita con Git (come il suggerimento di @ Mikel per Console2)?
Anentropico

Per impostazione predefinita, mintty invocherà qualsiasi $SHELLpunto indicato dalla variabile di ambiente. Tuttavia, puoi invece specificare un altro programma come primo argomento sulla riga di comando, che può essere utile nelle scorciatoie. L'autore ha messo insieme un bel elenco di suggerimenti ( code.google.com/p/mintty/wiki/Tips ) che mostrano come è possibile farlo.
James Sneeringer,

2

Ci scusiamo per l'autopromozione, sono l'autore di un altro emulatore di console.

ConEmu è un emulatore di console Windows con schede, che presenta più console e semplici applicazioni GUI come un'unica finestra GUI personalizzabile con varie funzionalità.

Un breve estratto dalla lunga lista di opzioni:

  • Modalità finestra ridimensionata, ingrandita e a schermo intero
  • Selezione di testo e blocco intuitiva (da tastiera o mouse), copia, incolla, ricerca di testo nella console
  • Esegui le schede selezionate come amministratore (Vista +) o come utente selezionato
  • Esecuzione di più shell in una griglia / splitscreen (ultima build di sviluppo)
  • Usa qualsiasi font installato nel sistema o copiato in una cartella del programma (ttf, otf, fon, bdf)
  • Jump list di Windows 7 e progressi sulla barra delle applicazioni
  • Integrazione con DosBox (utile nei sistemi a 64 bit per eseguire applicazioni DOS)
  • La barra di scorrimento inizialmente nascosta, può essere rivelata con il passaggio del mouse o la casella di controllo nelle impostazioni
  • Impostazioni opzionali (es. Pallette) per applicazioni selezionate
  • ANSI X3.64 e Xterm 256 colori

Post di Hanselman , recensioni degli utenti , tag ConEmu su superuser.com


sembra buono, +1 per lo screenshot di Prince Of Persia :)
Anentropic

i caratteri con antialiasing sarebbero ancora meglio
Anentropic

Ha 3 opzioni per l'antialias: None, Standard e ClearType.
Charles Roper,

0

Vorrei che PuTTY fosse in grado di funzionare come emulatore per l'accesso al sistema operativo locale come fa Cygwin. PuTTY è il mio preferito quando sono bloccato su una scatola di Windows. Ho votato a favore di questa domanda, mi piacerebbe sapere di un emulatore migliore anche per Windows.


1
Putty è un programma terminale, non una shell. Anche se potresti usare putty per connetterti al tuo box locale di Windows (cosa che puoi, se sta eseguendo un demone SSH), la shell reale è comunque qualunque shell che stai eseguendo quando accedi tramite SSH.
mfinni,

Non ho detto che fosse una shell, ho detto che avrei voluto che funzionasse come un emulatore. Mi piace la GUI su Putty, questo era il mio punto.
c1tadel1,

3
Se stai usando Cygwin e ti piace PuTTY, dai un'occhiata a mintty. È disponibile nella categoria Conchiglie nel programma di installazione di Cygwin (o controlla la fonte su code.google.com/p/mintty ). L'autore ha usato gran parte di PuTTY per crearlo, quindi si comporta in modo molto simile a PuTTY.
James Sneeringer,

@James vuoi pubblicare il tuo suggerimento alla menta come risposta? Sembra promettente! Mi sembra di essere bloccato nel filesystem ung virtuale di Cygwin, ma non riesco a sfogliare i miei file Windows come posso fare con git-bash?
Anentropico

0

Il grosso problema con copia e incolla non è colpa degli emulatori di terminale; sono i tasti stessi.

Quando le scorciatoie sono state inventate in Mac, Apple ha aggiunto una nuova chiave per loro: il 'tasto comando' (noto anche come 'splat') Non ha un equivalente ASCII.

Qualche anno dopo, quando Microsoft ha copiato le stesse scorciatoie, le tastiere del PC non avevano alcun tasto 'windows' o 'menu', quindi sono andate con un altro tasto poco usato che potresti tenere con il tuo mignolo: il tasto Ctrl. Il problema è che Ctrl-C, Ctrl-V, ecc. Sono codici ASCII validi e ampiamente utilizzati sulle interfacce della riga di comando.

Quindi, quando si preme Ctrl-C su un ternimal di Windows, dovrebbe copiare il testo o interrompere il comando in esecuzione?


Questo è un buon punto, non avevo capito che OS X avesse un vantaggio fortunato lì. Tuttavia, si tratta di un problema relativo all'interfaccia utente che le attuali app terminal per Windows non hanno davvero tentato di risolvere.
Anentropico

0

Come nel caso di quasi tutti i software Windows che ho toccato, ho dovuto ripetere i passaggi con incertezza e un approccio a forza bruta ...

Ma da qualche parte lì ho fatto funzionare senza installare nuove console!

Ho seguito la soluzione di AnandK ... http://www.thewindowsclub.com/full-screen-command-prompt-in-windows-7 Ho ottenuto che funzionasse con Git Bash nel modo seguente

  • apri un cmd regolare,
  • eseguire wmic
  • ridimensionamento (barra della finestra con doppio clic)
  • chiudi cmd
  • apri git bash
  • ridimensionare (non ha funzionato ...)
  • ridimensionamento non ridimensionato

Suppongo che dovrei chiarire: questo è specificamente per consentire lo schermo intero - niente di più.


0

Basta buttarlo fuori dal momento che non è stato ancora menzionato. Ma PowerShell di MS è in realtà una CLI davvero buona per Windows.

Ha alcune funzionalità simili a Bash che dovrebbero renderlo un po 'familiare. A mio avviso, vale la pena imparare se esegui qualsiasi tipo di scripting o automazione con Windows, anche se sei principalmente un ragazzo * nix (come me). Sarai in grado di fare di più in meno tempo rispetto al tentativo di hackerare qualcosa che gira sopra Cygwin.

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.