Usando mintty como terminal predeterminado en Cygwin y shell predeterminado como bash

Respuestas:

14

Hay varias formas diferentes de hacerlo:

  1. Especifique bashcomo argumento de línea de comandos para mintty, como lo menciona Salton.
  2. Establezca la SHELLvariable de entorno de Windows en / usr / bin / bash.
  3. Asegúrese de tener un / etc / passwd (consulte mkpasswd (1)) en su entorno Cygwin, y configure el shell para su UID en / usr / bin / bash. Cygwin no proporciona un comando chsh o usermod, por lo que probablemente tendrá que editar el archivo a mano si desea utilizar este método.

De la página de manual de mintty (1):

INVOCATION
   If a program name is supplied on the command line, this is executed
   with any additional arguments given.  Otherwise, mintty looks for a
   shell to execute in the SHELL environment variable.  If that is not
   set, it reads the user's default shell setting from /etc/passwd.  As a
   last resort, it falls back to /bin/sh.  If a single dash is specified
   instead of a program name, the shell is invoked as a login shell.
James Sneeringer
fuente
Para mí, el tercer enfoque, configurar el shell en / etc / passwd es el mejor, para que mintty se pueda ejecutar como /path/to/mintty.exe [-i icon-file] -, con el seguimiento -obtenemos un shell de inicio de sesión, que generalmente inicio una sesión de pantalla.
ryenus
/etc/passwdse sobrescribe (¿a veces?) cuando se actualiza con la configuración de Cygwin.
Dominykas Mostauskis
@ryenus ¿cuál es la razón de ese seguimiento -? Hablar sobre difícil de google ..
Roy Truelove
@RoyTruelove para convertirlo en un shell de inicio de sesión? Probablemente, consulte el manual de bash
ryenus
5

Puedes iniciar mintty bashbash para que sea predeterminado

Raza
fuente
4

supongamos que este nombre de archivo es mintty.bat, haga doble clic en este archivo para abrir un terminal mintty, y con bash, path & pwd todo establecido.


@echo off

C:\cygwin64\bin\mintty.exe /bin/bash --login -i
cabaña
fuente