最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【基本解决】恢复使用mintty作为Cygwin的默认(终端)窗口工具,即添加右键(调用Mintty)打开Cygwin的功能

Cygwin crifan 6902浏览 0评论

【问题】

之前已经在32位win7下安装了Cygwin,现在重新安装了64位的Win7了,所以Cygwin就变成没有安装的,仅剩之前的Cygwin文件了。

不过经过测试,双击安装目录:

E:\dev_install_root\cygwin

下的Cygwin.bat,仍然是可以打开cygwin的,但是双击运行Cygwin.bat的结果,却只是调用默认的Windows的cmd去打开cygwin的。

此处希望还原为之前的,使用mintty:

mintty icon

去打开cygwin。

【解决过程】

1.看了看,原先的Cygwin.bat中的内容,其实很简单:

@echo off

E:
chdir E:\dev_install_root\cygwin\bin

bash --login -i

现在想办法,把cmd换成mintty。

2.然后看到其原先是使用bash的,所以就想着,是不是换为mintty就可以了。

所以先去cygwin中看看mintty的参数:

mintty help

先试试,去直接改为mintty启动,结果却在编辑Cygwin.bat时,出现错误:

save failed

尝试了去关闭正在运行的cygwin等,结果还是无法保持,错误依旧。

3.所以暂时先放弃更改此文件。

去重新启动Cygwin.bat,然后在里面运行mintty,结果是可以调出其窗口的:

can run mintty

所以,此时,可以考虑接着去修改上面的启动参数,希望可以通过运行完毕,进入cygwin后,就是使用的mintty的窗口。

4.新建了一个Cygwin_mintty.bat,然后里面写成mintty的:

@echo off

E:
chdir E:\dev_install_root\cygwin\bin

mintty

双击Cygwin_mintty.bat看看效果:

def is usr bin

所以再去折腾试试。

5. 接着去参考:

How to use Mintty with Cygwin (by default)

去regedit中的shell中新建cygw_bash

cygwin_bash null

再在其下新建command,然后改值为:

E:\dev_install_root\cygwin\bin\mintty.exe -e E:\dev_install_root\cygwin\bin\bash -c "/bin/xhere /bin/bash.exe ‘%L’"

command contain content

如此,右击任何文件夹,就可以看到cygwin_bash了:

cygwin_bash context menu

然后就可以打开mintty,跳转到对应位置了。

但是我这里有点问题,第一次是正常的,第二次就出错了:

child_info_fork abort

这个bash的问题,刚才其实就遇到了。

暂时关闭窗口,再次重新打开,也就可以正常了:

mintty run ok

所以,暂时还是可以先这么用着,等实在不爽了,再说。

6.不过,对于弄个bat之类的文件,去双击,打开mintty,然后默认调转到/home/user之类的位置,暂时还是没有搞定。

等重启一下,看看是否可以修改那个Cygwin.bat。

7.结果重启之后也还是不能修改Cygwin.bat,暂时不理会它了。

 

【总结】

暂时是已经实现了,通过添加右键菜单,达到快速调用mintty并定位至对应文件夹,基本实现了所需要的目的了。

 

【右键菜单中,添加打开Cygwin的功能,且是用Mintty打开 的实现方法】

将如下内容:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\RunCygwin\command]
@="D:\\tmp\\tmp_dev_root\\cgwin\\bin\\mintty.exe -e D:\\tmp\\tmp_dev_root\\cgwin\\bin\\bash -c \"/bin/xhere /bin/bash.exe '%L'\""

中的对应的cygwin的安装路径,即D:\tmp\tmp_dev_root\cgwin,修改为你自己的cygwin的安装路径。

然后将此内容保存为RightMenuOpenCygwinUseMintty.reg。

然后双击RightMenuOpenCygwinUseMintty.reg,即可导入此注册表,实现对应的功能。

 

不熟悉注册表的,忽略下面这句:

再次很显然,对于熟悉注册表的朋友,当然可以自己手动添加对应的注册表项,而不用此reg文件的。

转载请注明:在路上 » 【基本解决】恢复使用mintty作为Cygwin的默认(终端)窗口工具,即添加右键(调用Mintty)打开Cygwin的功能

与本文相关的文章

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
83 queries in 0.214 seconds, using 22.29MB memory