Cómo ejecutar comandos de Linux desde fuera del Bash Shell en Windows 10

Windows 10 incluye un «Subsistema de Windows para Linux» subyacente para ejecutar aplicaciones de Linux, pero solo es accesible a través del shell Bash. Sin embargo, hay una forma de ejecutar aplicaciones Linux sin antes abrir una ventana Bash.

Esto es posible gracias al bash -ccomando. Úselo para ejecutar comandos de Linux a través del símbolo del sistema y PowerShell, o incluso cree un acceso directo en el escritorio que ejecute un comando o programa de Linux cuando se inicie.

Actualización : si tiene varios entornos Linux instalados, puede usar el comando wslconfig para elegir el entorno Linux predeterminado . También hay una forma de ejecutar comandos en entornos Linux específicos.

Cómo ejecutar comandos de Linux en el símbolo del sistema o PowerShell

Antes de hacer nada de esto, deberá instalar y configurar el shell Bash de Windows 10 . Después de hacerlo, puede abrir una ventana del símbolo del sistema y ejecutar el siguiente comando para ejecutar el software de Linux fuera de una ventana de Bash:

bash -c "comando"

Por ejemplo, digamos que desea instalar el paquete emacs a través de apt-get. Ejecutaría el siguiente comando en una ventana del símbolo del sistema:

bash -c "sudo apt-get install emacs"

Cuando use bash -c, Windows lanzará un shell Bash en segundo plano y le pasará el comando. El comando se ejecutará hasta que esté listo y luego se cerrará, junto con el shell Bash. Cualquier salida de terminal que ejecute el comando actual aparecerá directamente en la ventana del símbolo del sistema, en lugar de una ventana de shell de Bash separada.

Relacionado:  Cómo iniciar rápidamente un Bash Shell desde el Explorador de archivos de Windows 10

Este truco también le permite ejecutar comandos de Linux en PowerShell, tal como lo haría con un ejecutable normal de Windows. Puede hacer esto ejecutando directamente el archivo .exe como lo haría en una ventana del símbolo del sistema, o mediante cualquier otro método para ejecutar ejecutables en PowerShell.

bash -c "uname -a"

Al igual que con una ventana del símbolo del sistema, la salida del comando aparecerá directamente en PowerShell. Estos métodos también se pueden usar para agregar comandos de Linux a un archivo por lotes o script de PowerShell.

Cómo ejecutar comandos de Linux desde el cuadro de diálogo Ejecutar o el menú Inicio

Este truco también funciona para ejecutar comandos desde el cuadro de diálogo Ejecutar, el menú Inicio o cualquier lanzador de aplicaciones de terceros.

Por ejemplo, para ejecutar vi desde el cuadro de diálogo Ejecutar, presione Windows + R en su teclado y luego ejecute el siguiente comando:

bach -c "vi"

El editor de texto vi aparecerá en su propia ventana.

Esto también funciona para el menú Inicio, por lo que puede escribir el mismo comando directamente en el menú Inicio y presionar Entrar para ejecutarlo como un comando.

Cómo ejecutar comandos de Linux con un acceso directo de escritorio

El bash -ccomando también permite iniciar aplicaciones de Linux a través de un acceso directo en el escritorio. Por ejemplo, supongamos que desea iniciar el editor de texto vi a través de un acceso directo en el escritorio. Haga clic con el botón derecho en el escritorio, apunte a Nuevo> Nuevo acceso directo e ingrese el siguiente destino:

bash -c "vi"

Ahora puede guardar el acceso directo y se iniciará vi cuando haga doble clic en él.

Relacionado:  Microsoft actualizará el Bloc de notas a través de la tienda de Windows 10

Curiosamente, este truco también funciona para iniciar aplicaciones gráficas de Linux desde un acceso directo del escritorio. Instale un servidor X y configure las aplicaciones gráficas de escritorio de Linux . Debería poder crear accesos directos para ejecutarlos directamente.

Sin embargo, tendrías que lanzarlos así:

bash -c "DISPLAY =: 0 comando"

Si bien puede ejecutar comandos de Bash desde cualquier otro lugar de Windows, no hay forma de ejecutar software o ejecutables de Windows directamente desde una ventana de shell de Bash.