¿Alguien ha encontrado un terminal shell (por ejemplo, bash) para Windows tan bueno como el OS X?

14

Estoy usando principalmente 'git-bash' que vino con la instalación de Windows de Git vcs. Creo que es el mismo que viene con Cygwin. Funciona bien técnicamente pero la interfaz de usuario apesta:

  • tiene que hacer clic derecho en la barra de título e ir a Propiedades para cambiar el ancho de la ventana
  • más molesto ... copiar y pegar y resaltar con el mouse son igualmente engorrosos

En contraste, la aplicación Terminal que viene con OS X los maneja con aplomo y hace que sea mucho más cómodo trabajar con ellos. ¡Incluso puede arrastrar y soltar un archivo y pegará la ruta del archivo en su cursor!

También he intentado:

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

Ninguno de estos copia y pega texto sin hacer clic con el botón derecho.

Estoy buscando específicamente un shell con sabor a Unix en Windows, por lo que no tengo que usar diferentes shells entre mi desarrollador doméstico (Windows), el servidor en vivo (Linux) o el desarrollador en la oficina (Mac).

Sí, busqué en Google y todavía no he encontrado uno ...

Anéntrópico
fuente
3
Para cualquier consola en Windows, incluido cygwin bash, puede habilitar la edición rápida y es mejor que el comportamiento predeterminado. Como no describiste lo que te resulta engorroso, no sé si lo intentaste.
mfinni
En realidad, creo que Git-Bash se ejecuta en MSYS desde MinGW en lugar de Cygwin per se ... sin embargo, después de haber instalado cada uno de ellos por separado, la aplicación de shell que viene con Cygwin parece ser idéntica a la de MSYS, que es lo mismo que el uno que viene con Git.
Anentropic
@mfinni gracias, no había probado el modo 'edición rápida'. Sin embargo, todavía es bastante complicado y no se puede copiar y pegar tan fácilmente como en un programa normal ...
Anentropic
QuckEdit está cerca de copiar / pegar de PuTTY / X: resalte el texto y presione Intro para copiar, luego haga clic derecho para pegar.
DerfK
Debe tener en cuenta (no puedo decir con certeza si lo es) que los terminales y los shells son distintos y en gran medida independientes entre sí.
Pausado hasta nuevo aviso.

Respuestas:

10

¿Has probado console2 ?

Le permite usar cmd, bash o cualquier programa como su shell, y le permite cambiar el tamaño en cualquier dirección.

Puede hacer que Git Bash sea predeterminado yendo a Editar-> Configuración, y luego pegándolo en el campo Shell:

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

Para copiar, mantenga presionada la tecla Mayús, haga clic y arrastre con el botón izquierdo del mouse para seleccionar, luego haga clic izquierdo para Copiar.

Finalmente, Git se envía con rxvt. Puede crear un nuevo acceso directo de Windows con el campo Destino establecido en:

"C:\Program Files\Git\bin\rxvt.exe" -e /bin/sh --login -i
Mikel
fuente
Gran consejo: ¡había probado Console2 pero no tenía idea de que podía cambiar el shell subyacente!
Anentropic
1
@ Mikel, ¿Has probado ConEmu?
Maximus
ConEmu es un digno sucesor de Console2 y una gran mejora.
Charles Roper
6

[Reposicionando mi comentario como respuesta a solicitud de Anentropic.]

Si estás usando Cygwin y te gusta PuTTY, mira mintty. Está disponible en la categoría Shells en el programa de instalación de Cygwin (u obtenga la fuente aquí ). El autor utilizó grandes partes de PuTTY para crearlo, por lo que se comporta de manera muy similar a PuTTY. Se puede configurar para que funcione como le gustaría:

  • Cambie el tamaño de la ventana simplemente arrastrando los bordes o esquinas, como cualquier otra aplicación de Windows. Esto cambiará el tamaño del terminal agregando o eliminando filas y / o columnas, como cabría esperar de algo como xterm.
  • Copiar / pegar se puede configurar como operaciones de un solo clic (por ejemplo, clic izquierdo para resaltar y copia automática, clic derecho para extender, clic medio para pegar).
  • Al igual que con OS X Terminal, arrastrar un archivo o carpeta a una ventana pequeña pegará la ruta completa en la posición del cursor.
  • Todas las unidades de Windows están disponibles, "montadas" de forma predeterminada en / cygdrive (aunque generalmente cambio esto a / mnt con mount -c /mnt).

Mi único problema con mintty es que las versiones recientes (0.9.4+) parecen estar haciendo algo que a Windows 7 UAC no le gusta, por lo que solicita permiso para ejecutarlo cada vez. Esto parece hacer que se ejecute con diferentes privilegios, por lo que cosas como mis unidades de red no funcionan. Sin embargo, no sé si este es un pequeño problema o un problema con mi sistema.

James Sneeringer
fuente
No tengo este problema en Windows 7, por lo que es muy probable que sea un problema con su sistema. Secundo el uso de Mintty, que también admite todos esos nuevos atajos de Windows para mover ventanas (tecla de Windows + flechas)
Renik
Esto es genial: ¿sabe si es posible señalarlo para usar el shell que viene con Git (como la sugerencia de @ Mikel para Console2)?
Anentropic
Por defecto, mintty invocará a lo que $SHELLapunte la variable de entorno. Sin embargo, puede especificar otro programa como primer argumento en la línea de comando, que puede ser útil en los accesos directos. El autor ha reunido una buena lista de consejos ( code.google.com/p/mintty/wiki/Tips ) que muestran cómo puede hacer esto.
James Sneeringer el
2

Perdón por la autopromoción, soy el autor de otro emulador de consola.

ConEmu es un emulador de consola de Windows con pestañas, que presenta múltiples consolas y aplicaciones GUI simples como una ventana GUI personalizable con varias características.

Un breve extracto de la larga lista de opciones:

  • Cambiar el tamaño suave, maximizado y modos de ventana de pantalla completa
  • Texto fácil de usar y selección de bloque (desde el teclado o el mouse), copiar, pegar, buscar texto en la consola
  • Ejecute las pestañas seleccionadas como Administrador (Vista +) o como usuario seleccionado
  • Ejecutar varios shells en una cuadrícula / pantalla dividida (última versión de desarrollo)
  • Utilice cualquier fuente instalada en el sistema o copiada a una carpeta del programa (ttf, otf, fon, bdf)
  • Windows 7 Jump lists y Progress en la barra de tareas
  • Integración con DosBox (útil en sistemas de 64 bits para ejecutar aplicaciones DOS)
  • La barra de desplazamiento inicialmente oculta, puede mostrarse con el mouseover o la casilla de verificación en la configuración
  • Configuraciones opcionales (p. Ej. Paleta) para aplicaciones seleccionadas
  • ANSI X3.64 y Xterm 256 color

Publicación de Hanselman , comentarios de los usuarios , etiqueta ConEmu en superuser.com

Maximus
fuente
se ve bien, +1 para la captura de pantalla de Prince Of Persia :)
Anentropic
las fuentes antialias serían aún mejores
Anentropic
Tiene 3 opciones para antialiasing: Ninguno, Estándar y ClearType.
Charles Roper
0

Desearía que PuTTY pudiera funcionar como un emulador para el acceso al sistema operativo local como lo hace Cygwin. PuTTY es mi favorito cuando estoy atascado en una caja de Windows. He votado esta pregunta, me encantaría saber también sobre un mejor emulador para Windows.

c1tadel1
fuente
1
Putty es un programa terminal, no un shell. Incluso si pudiera usar masilla para conectarse a su caja local de Windows (que puede hacerlo, si está ejecutando un demonio SSH), el shell real sigue siendo el shell que está ejecutando cuando inicia sesión a través de SSH.
mfinni
No dije que era un caparazón, dije que desearía que funcionara como un emulador. Me gusta la GUI en masilla, ese era mi punto.
c1tadel1
3
Si estás usando Cygwin y te gusta PuTTY, mira mintty. Está disponible en la categoría Shells en el programa de instalación de Cygwin (o consulte la fuente en code.google.com/p/mintty ). El autor utilizó grandes partes de PuTTY para crearlo, por lo que se comporta de manera muy similar a PuTTY.
James Sneeringer el
@ James, ¿quieres publicar tu sugerencia mintty como respuesta? ¡Parece prometedor! Sin embargo, parece que estoy atascado en el sistema de archivos virtual de Unix de Cygwin.
Anentropic
0

El gran problema con copiar y pegar no es culpa de los emuladores de terminal; Es la combinación de teclas.

Cuando se inventaron los accesos directos en Mac, Apple agregó una nueva clave para ellos: la 'tecla de comando' (también conocida como 'splat') No tiene un equivalente ASCII.

Unos años más tarde, cuando Microsoft copió los mismos métodos abreviados, los teclados de las PC no tenían teclas de 'ventanas' o 'menú', por lo que utilizaron otra pequeña tecla usada que podía mantener con su dedo meñique: la tecla Ctrl. El problema es que Ctrl-C, Ctrl-V, etc. son códigos ASCII válidos y muy utilizados en las interfaces de línea de comandos.

Entonces, cuando presiona Ctrl-C en un ternimal de Windows, ¿debería copiar el texto o romper el comando en ejecución?

Javier
fuente
Ese es un buen punto, no me había dado cuenta de que OS X tenía una ventaja afortunada allí. Aún así, este es un problema de UI que las aplicaciones de terminal actuales para Windows realmente no han intentado resolver.
Anentropic
0

Como es el caso con casi todas las piezas de software de Windows que he tocado, tuve que repetir los pasos con incertidumbre y una especie de enfoque de fuerza bruta ...

¡Pero en algún lugar allí lo hice funcionar sin instalar ninguna consola nueva!

Seguí la solución de AnandK ... http://www.thewindowsclub.com/full-screen-command-prompt-in-windows-7 Lo hice funcionar con git bash haciendo lo siguiente

  • abrir un cmd regular,
  • ejecutar wmic
  • cambiar el tamaño (hacer doble clic en la barra de la ventana)
  • cerrar cmd
  • abrir git bash
  • cambiar el tamaño (no funcionó ...)
  • cambiar el tamaño del tamaño

Supongo que debería aclarar: esto es específicamente para permitir la pantalla completa, nada más.

Blackstrype
fuente
0

Solo descartando esto ya que aún no se ha mencionado. Pero el propio PowerShell de MS es realmente una CLI realmente buena para Windows.

Tiene algunas características similares a Bash que deberían hacerlo sentir algo familiar. En mi opinión, vale la pena aprender si realiza algún tipo de script o automatización con Windows, incluso si es principalmente un tipo * nix (como yo). Podrá hacer más en menos tiempo en comparación con intentar piratear algo que se ejecuta sobre Cygwin.

jamieb
fuente