Utiliser mintty comme terminal par défaut sur Cygwin et shell par défaut comme bash

Réponses:

14

Il existe plusieurs façons de procéder:

  1. Spécifiez bashcomme argument de ligne de commande à mintty, comme mentionné par Salton.
  2. Définissez la SHELLvariable d'environnement Windows sur / usr / bin / bash.
  3. Assurez-vous que vous disposez d'un / etc / passwd (voir mkpasswd (1)) dans votre environnement Cygwin, et définissez le shell de votre UID sur / usr / bin / bash. Cygwin ne fournit pas de commande chsh ou usermod, vous devrez donc probablement modifier le fichier à la main si vous souhaitez utiliser cette méthode.

Depuis la page de manuel 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
la source
Pour moi, la 3ème approche, la configuration du shell dans / etc / passwd est la meilleure, afin que mintty puisse être exécuté car /path/to/mintty.exe [-i icon-file] -, avec la fin, -nous obtenons un shell de connexion que je démarre généralement une session d'écran.
ryenus
/etc/passwdest écrasé (parfois?) lors de la mise à niveau avec la configuration Cygwin.
Dominykas Mostauskis
@ryenus quelle est la raison de cette fuite -? Parlez de difficile à google ..
Roy Truelove
@RoyTruelove pour en faire un shell de connexion? Probablement, veuillez consulter le manuel de bash
ryenus
5

Vous pouvez lancer mintty bashpour bash comme valeur par défaut

Raza
la source
4

supposons que ce nom de fichier est mintty.bat, double-cliquez sur ce fichier pour ouvrir un terminal mintty, et avec bash, path & pwd tous installés.


@echo off

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