Usando mintty como terminal padrão no Cygwin e shell padrão como bash

Respostas:

14

Existem várias maneiras diferentes de fazer isso:

  1. Especifique bashcomo argumento da linha de comandos para mintty, conforme mencionado por Salton.
  2. Defina a SHELLvariável de ambiente do Windows como / usr / bin / bash.
  3. Verifique se você possui um / etc / passwd (consulte mkpasswd (1)) em seu ambiente Cygwin e configure o shell do seu UID para / usr / bin / bash. O Cygwin não fornece um comando chsh ou usermod, então você provavelmente terá que editar o arquivo manualmente, se quiser usar esse método.

Na página de manual do 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
fonte
Para mim, a 3ª abordagem, configurar o shell em / etc / passwd é o melhor, para que o mintty possa ser executado /path/to/mintty.exe [-i icon-file] -, pois , no final -, obtemos um shell de login, que geralmente inicio uma sessão de tela.
Ryenus
/etc/passwdé substituído (às vezes?) ao atualizar com a configuração do Cygwin.
Dominykas Mostauskis 12/03/2015
@ryenus, qual é o motivo dessa fuga -? Fale sobre difícil de google ..
Roy Truelove
@RoyTruelove para torná-lo um shell de login? Provavelmente, por favor, verifique o bash Manual
ryenus
5

Você pode iniciar o mintty bashbash como padrão

Raza
fonte
4

suponha que este nome de arquivo seja mintty.bat, clique duas vezes nesse arquivo para abrir um terminal mintty e com bash, path & pwd todos estabelecidos.


@echo off

C:\cygwin64\bin\mintty.exe /bin/bash --login -i
cabincat
fonte