Verwenden von Mintty als Standardterminal in Cygwin und Standard-Shell als Bash

Antworten:

14

Es gibt verschiedene Möglichkeiten, dies zu tun:

  1. Geben Sie bashals Befehlszeilenargument für mintty an, wie von Salton erwähnt.
  2. Setzen Sie die Windows- SHELLUmgebungsvariable auf / usr / bin / bash.
  3. Stellen Sie sicher, dass Sie in Ihrer Cygwin-Umgebung ein / etc / passwd (siehe mkpasswd (1)) haben, und setzen Sie die Shell für Ihre UID auf / usr / bin / bash. Cygwin liefert keinen Befehl chsh oder usermod, daher müssen Sie die Datei wahrscheinlich von Hand bearbeiten, wenn Sie diese Methode verwenden möchten.

Aus der mintty (1) Manpage:

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
quelle
Für mich ist der dritte Ansatz, die Shell in / etc / passwd einzurichten, der beste, damit mintty ausgeführt werden kann /path/to/mintty.exe [-i icon-file] -. Mit dem nachfolgenden erhalten -wir eine Login-Shell, mit der ich normalerweise eine Bildschirmsitzung starte.
Ryenus
/etc/passwdwird beim Upgrade mit Cygwin-Setup (manchmal?) überschrieben.
Dominykas Mostauskis
@ryenus was ist der Grund für dieses Nachlaufen -? Sprechen Sie über schwer zu googeln ..
Roy Truelove
@ RoyTruelove, um es zu einer Login-Shell zu machen? Wahrscheinlich überprüfen Sie bitte Bash-Handbuch
Ryenus
5

Sie können mintty bashBash als Standard starten

Raza
quelle
4

Angenommen, dieser Dateiname lautet mintty.bat. Doppelklicken Sie auf diese Datei, um ein Mintty-Terminal zu öffnen, und mit bash, path & pwd haben sich alle beruhigt.


@echo off

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