Преобразование из пакета входа rxvt в Mintty в Cygwin - PullRequest
0 голосов
/ 10 марта 2012

Вот мой файл cygwin.bat для запуска окна терминала cygwin через rxvt.

@echo off

C:

set PATH=%PATH%;C:\cygwin\bin

REM SHELL needed for any screen instances started from bash
set SHELL=/bin/bash
set HOME=C:\cygwin\home\Dragos
set HOMEDRIVE=C:
set HOMEPATH=\cygwin\home\Dragos

REM This part is for chere generated context menu item "Open Bash shell here"
REM 
if not [%1]==[] (
  C:\cygwin\bin\cygpath %1 > tmpFile
  set /p startingpath= < tmpFile
  del tmpFile
)

if "%startingpath%"=="" C:\cygwin\bin\rxvt --loginShell -sr
if not "%startingpath%"=="" start C:\cygwin\bin\rxvt --loginShell -e /bin/bash --login -c "cd '%startingpath%'; exec /bin/bash -rcfile ~/.bashrc"
exit

Я хотел бы перейти с rxvt на mintty, но я не хочу потерять возможность открывать cygwinТерминал cd'd по этому пути, если щелкнуть правой кнопкой мыши папку и выбрать «Открыть оболочку Bash здесь».Стандартная команда mintty:

C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico -

Я сделал

man mintty 

, но все, что я вижу, это эквивалент параметра rxvt --loginShell -e в mintty:exec.

Есть ли способ передать мою привилегированную оболочку входа (bash) и некоторые дополнительные параметры в mintty так же, как я передавал их в rxvt выше?

1 Ответ

0 голосов
/ 10 марта 2012

Вот что я придумал.Мне было бы очень интересно посмотреть, что другие имеют в качестве своего cygwin.bat

@echo off

C:

set PATH=%PATH%;C:\cygwin\bin

REM SHELL needed for any screen instances started from bash
set SHELL=/bin/bash
set HOME=C:\cygwin\home\Dragos
set HOMEDRIVE=C:
set HOMEPATH=\cygwin\home\Dragos

REM 

if not [%1]==[] (
  C:\cygwin\bin\cygpath %1 > tmpFile
  set /p startingpath= < tmpFile
  del tmpFile
)

if "%startingpath%"=="" start C:\cygwin\bin\mintty.exe --icon /Cygwin-Terminal.ico --size 140,50 --exec /bin/bash --login -c "exec /bin/bash -rcfile ~/.bashrc"
if not "%startingpath%"=="" start C:\cygwin\bin\mintty.exe --icon /Cygwin-Terminal.ico --size 140,50 --exec /bin/bash --login -c "cd '%startingpath%'; exec /bin/bash -rcfile ~/.bashrc"
exit
...