Windows Subsystem for Linux - WAL (El subsistema de windows para el kernel Linux)
Veo muchas preguntas cercanas pero las preguntas en sí mismas muestran un malentendido subyacente de algunos términos importantes.
¿Por qué usaría Windows Terminal sobre PowerShell?
No necesito WSL para bash, uso Cygwin.
¿Puedo usar conemu con PowerShell Core o necesito usar Windows Terminal?
Comencemos con un glosario y aclaremos algunas palabras primero.
Terminal
La palabra Terminal viene de terminate, lo que indica que es el final de finalización o final de "terminal" de un proceso de comunicaciones. A menudo escuchará "terminal tonta" cuando se refiera a un entorno basado en texto en el que la computadora que está sentada al lado solo está ingresando y mostrando texto mientras el trabajo real ocurre en el otro extremo en una computadora central o grande.
TTY o "teletipo" fue el primer tipo de terminal. En lugar de una pantalla, tendría una máquina de escribir literal frente a usted. Cuando lo escribe, está viendo el texto en una hoja de papel Y está ingresando ese texto en una computadora. Cuando esa computadora responda, verá que la máquina de escribir escribe automáticamente en el mismo papel.
Foto de Texas.713 utilizada bajo CC
Cuando nos referimos a una Terminal en el sentido del software, nos referimos a una versión literal de software de un TTY o Terminal. El terminal de Windows es eso. Es realmente bueno para mostrar la salida de texto. Puede recibir información y transmitirla. Pero la Terminal no es inteligente. En realidad, no procesa su entrada, no mira sus archivos ni piensa.
Consola
Las personas a mediados del siglo XX tendrían un mueble en su sala de estar llamado consola o gabinete de consola. Una consola en el contexto de las computadoras es una consola o gabinete con una pantalla y un teclado combinados en su interior. Pero, efectivamente, es una Terminal. Técnicamente, la consola es el dispositivo y la terminal es ahora el programa de software dentro de la consola.
imagen
En el mundo del software, una Terminal y una Consola son, para todos los efectos, sinónimos.
Cáscara
Un shell es el programa al que el terminal envía la entrada del usuario. El shell genera salida y la devuelve al terminal para su visualización. Aquí hay algunos ejemplos de proyectiles:
bash, pescado, zsh, ksh, sh, tsch
PowerShell, pwsh
cmd, yori, 4dos, command.com
Aquí hay un punto importante que debería tener más sentido ahora que tiene estos terminales: su elección de shell no debe y no debe dictar su elección de aplicación de terminal.
Aparte: WSL y WSL2 (el Subsistema de Windows para Linux) son un Linux local completo (o muchos Linux) que se ejecutan en Windows 10. Son completos y reales. WSL2 incluye un núcleo Linux real y se ejecuta en Windows. Cygwin NO es un Linux. Cygwin es una gran colección de herramientas GNU y de código abierto que proporcionan una funcionalidad similar a Linux en Windows, pero no es Linux. Es un simulacro. Son utilidades GNU compiladas contra Win32. Es genial, pero es importante que sepa cuál es la diferencia. Cygwin puede permitirle ejecutar sus scripts de shell bash, pero NO ejecutará Apache, Docker u otros binarios ELF reales y aplicaciones de Linux.
¿Su elección de consolas de Windows?
Hay una serie de proyectiles que se envían con Windows. Aquí hay algunos que estoy ejecutando ahora. Tenga en cuenta el "cromo" o el borde y el título a su alrededor? Esos shells están alojados en una consola de Windows heredada de la que nunca ha oído hablar llamada conhost.exe. Puede ir al símbolo del sistema, escribir powershell, cmd o ubuntu y se ejecutará cualquier número de shells. Conhost hace el trabajo de entrada y salida.
Ahora, olvídate de que existe conhost, porque apesta, es súper viejo.
Conchas que vienen con Windows
Pseudo Consola, Pseudo Terminal, PTY, Pseudo TTY (ConPTY)
Los pseudo terminales son emuladores de terminal o interfaces de software que emulan terminales. Pretenden ser terminales como los de arriba. * Los sistemas Nix han tenido durante mucho tiempo una infraestructura de pseudo-terminal (PTY) y ahora Windows también como una pseudoconsola (ConPTY).
La nueva interfaz ConPTY de Windows es el futuro de las consolas y terminales en Windows. Si elige una aplicación de consola de terceros (no incorporada) para Windows, asegúrese de que sea compatible con ConPTY y será una mejor experiencia que algunas de las consolas más antiguas que usan el raspado de pantalla u otros hacks.
imagen
Volver a su elección de consolas de Windows
Recordando que hay muchos shells que puedes usar en Windows, hay muchas consolas de terceros que puedes usar si no te gusta conhost.exe (y no deberías).
Hiper
ConEmu
cmder
Consola2
ConsoleZ
Término
Terminal fluido
ZOC
MobaXterm
Babun (muerto)
Software 4NT / jp (no gratuito)
Masilla
MinTTY
Terminal de Windows (gratis en Microsoft Store)
XTermjs: un componente de tipografía que le permite integrar terminales en sus aplicaciones
VSCode incluye un terminal
Visual Studio 2019 Preview incluye una Terminal
Todos estos terminales admiten TODOS los shells anteriores y cualquier shells que me haya perdido. Porque un shell no es una terminal. Elige el que te haga feliz. Yo uso PowerShell Core y Ubuntu en WSL2 en la Terminal de Windows.
Terminal de Windows
Espero que esto ayude a aclarar las cosas.
¿Por qué usaría Windows Terminal sobre PowerShell?
No necesito WSL para bash, uso Cygwin.
¿Puedo usar conemu con PowerShell Core o necesito usar Windows Terminal?
Comencemos con un glosario y aclaremos algunas palabras primero.
Terminal
La palabra Terminal viene de terminate, lo que indica que es el final de finalización o final de "terminal" de un proceso de comunicaciones. A menudo escuchará "terminal tonta" cuando se refiera a un entorno basado en texto en el que la computadora que está sentada al lado solo está ingresando y mostrando texto mientras el trabajo real ocurre en el otro extremo en una computadora central o grande.
TTY o "teletipo" fue el primer tipo de terminal. En lugar de una pantalla, tendría una máquina de escribir literal frente a usted. Cuando lo escribe, está viendo el texto en una hoja de papel Y está ingresando ese texto en una computadora. Cuando esa computadora responda, verá que la máquina de escribir escribe automáticamente en el mismo papel.
Foto de Texas.713 utilizada bajo CC
Cuando nos referimos a una Terminal en el sentido del software, nos referimos a una versión literal de software de un TTY o Terminal. El terminal de Windows es eso. Es realmente bueno para mostrar la salida de texto. Puede recibir información y transmitirla. Pero la Terminal no es inteligente. En realidad, no procesa su entrada, no mira sus archivos ni piensa.
Consola
Las personas a mediados del siglo XX tendrían un mueble en su sala de estar llamado consola o gabinete de consola. Una consola en el contexto de las computadoras es una consola o gabinete con una pantalla y un teclado combinados en su interior. Pero, efectivamente, es una Terminal. Técnicamente, la consola es el dispositivo y la terminal es ahora el programa de software dentro de la consola.
imagen
En el mundo del software, una Terminal y una Consola son, para todos los efectos, sinónimos.
Cáscara
Un shell es el programa al que el terminal envía la entrada del usuario. El shell genera salida y la devuelve al terminal para su visualización. Aquí hay algunos ejemplos de proyectiles:
bash, pescado, zsh, ksh, sh, tsch
PowerShell, pwsh
cmd, yori, 4dos, command.com
Aquí hay un punto importante que debería tener más sentido ahora que tiene estos terminales: su elección de shell no debe y no debe dictar su elección de aplicación de terminal.
Aparte: WSL y WSL2 (el Subsistema de Windows para Linux) son un Linux local completo (o muchos Linux) que se ejecutan en Windows 10. Son completos y reales. WSL2 incluye un núcleo Linux real y se ejecuta en Windows. Cygwin NO es un Linux. Cygwin es una gran colección de herramientas GNU y de código abierto que proporcionan una funcionalidad similar a Linux en Windows, pero no es Linux. Es un simulacro. Son utilidades GNU compiladas contra Win32. Es genial, pero es importante que sepa cuál es la diferencia. Cygwin puede permitirle ejecutar sus scripts de shell bash, pero NO ejecutará Apache, Docker u otros binarios ELF reales y aplicaciones de Linux.
¿Su elección de consolas de Windows?
Hay una serie de proyectiles que se envían con Windows. Aquí hay algunos que estoy ejecutando ahora. Tenga en cuenta el "cromo" o el borde y el título a su alrededor? Esos shells están alojados en una consola de Windows heredada de la que nunca ha oído hablar llamada conhost.exe. Puede ir al símbolo del sistema, escribir powershell, cmd o ubuntu y se ejecutará cualquier número de shells. Conhost hace el trabajo de entrada y salida.
Ahora, olvídate de que existe conhost, porque apesta, es súper viejo.
Conchas que vienen con Windows
Pseudo Consola, Pseudo Terminal, PTY, Pseudo TTY (ConPTY)
Los pseudo terminales son emuladores de terminal o interfaces de software que emulan terminales. Pretenden ser terminales como los de arriba. * Los sistemas Nix han tenido durante mucho tiempo una infraestructura de pseudo-terminal (PTY) y ahora Windows también como una pseudoconsola (ConPTY).
La nueva interfaz ConPTY de Windows es el futuro de las consolas y terminales en Windows. Si elige una aplicación de consola de terceros (no incorporada) para Windows, asegúrese de que sea compatible con ConPTY y será una mejor experiencia que algunas de las consolas más antiguas que usan el raspado de pantalla u otros hacks.
imagen
Volver a su elección de consolas de Windows
Recordando que hay muchos shells que puedes usar en Windows, hay muchas consolas de terceros que puedes usar si no te gusta conhost.exe (y no deberías).
Hiper
ConEmu
cmder
Consola2
ConsoleZ
Término
Terminal fluido
ZOC
MobaXterm
Babun (muerto)
Software 4NT / jp (no gratuito)
Masilla
MinTTY
Terminal de Windows (gratis en Microsoft Store)
XTermjs: un componente de tipografía que le permite integrar terminales en sus aplicaciones
VSCode incluye un terminal
Visual Studio 2019 Preview incluye una Terminal
Todos estos terminales admiten TODOS los shells anteriores y cualquier shells que me haya perdido. Porque un shell no es una terminal. Elige el que te haga feliz. Yo uso PowerShell Core y Ubuntu en WSL2 en la Terminal de Windows.
Terminal de Windows
Espero que esto ayude a aclarar las cosas.
Comentarios
Publicar un comentario