Używanie mintty jako domyślnego terminalu w Cygwin i domyślnej powłoki jako bash

Odpowiedzi:

14

Można to zrobić na kilka różnych sposobów:

  1. Podaj bashjako argument wiersza polecenia mennicy, jak wspomniał Salton.
  2. Ustaw SHELLzmienną środowiskową systemu Windows na / usr / bin / bash.
  3. Upewnij się, że masz / etc / passwd (patrz mkpasswd (1)) w swoim środowisku Cygwin i ustaw powłokę dla swojego UID na / usr / bin / bash. Cygwin nie dostarcza polecenia chsh ani usermod, więc prawdopodobnie będziesz musiał ręcznie edytować plik, jeśli chcesz skorzystać z tej metody.

Z strony mennicy 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
źródło
Dla mnie trzecie podejście, ustawienie powłoki w / etc / passwd jest najlepsze, aby można było uruchomić mintty, ponieważ /path/to/mintty.exe [-i icon-file] -wraz ze śledzeniem -otrzymujemy powłokę logowania, którą zwykle rozpoczynam sesję screen.
ryenus
/etc/passwdzostaje nadpisany (czasami?) podczas aktualizacji z instalacją Cygwin.
Dominykas Mostauskis
@ryenus jaki jest powód tego kończenia -? Mów o trudnych do znalezienia w Google ..
Roy Truelove,
@RoyTruelove, aby stał się powłoką logowania? Prawdopodobnie sprawdź podręcznik bash
ryenus
5

Możesz uruchomić mintty bashdomyślną wersję bash

Raza
źródło
4

załóżmy, że ta nazwa pliku to mintty.bat, dwukrotne kliknięcie tego pliku otworzy miętowy terminal, a przy bash, path & pwd wszystko ustalone.


@echo off

C:\cygwin64\bin\mintty.exe /bin/bash --login -i
kabinowiec
źródło