粗略试用了几个windows下的shell:cmder、babun、git-bash,最终还是觉得babun更强大一些,虽然它的界面没有cmder那么漂亮。不过好在可以在cmder的新建窗口中启动babun,所以它俩也算是绝配了。

babun基于cygwin,所以cygwin的软件都能通过pact这个工具安装,譬如mosh和tmux。

不过我在babun-1.2中安装tmux之后,无法正常运行,退出代码为127。网友的答案是通过运行babun附带的update.bat来更新cygwin[1],我尝试后发现实在是太慢了,整整跑了15个小时都毫无进展,百无聊赖中使用笔记本打开update.bat,发现默认的mirrors是http://mirrors.kernel.org/sourceware/cygwin/,会不会是这个源太慢导致更新失败呢,于是我尝试了国内的http://mirrors.ustc.edu.cn/cygwin/,提示getUrlToStream failed,原因未明,那就再换日本的http://ftp.jaist.ac.jp/pub/cygwin/,快到飞起,不到10分钟便完成了更新。更新结束后自动打开babun窗口,再尝试一下tmux,wow!终于可以用了!

babun tmux

BONUS-1

上面只是更改了cygwin的mirrors,还有pact的mirrors也要改一下:

$install_dir\.babun\cygwin\home\$username\.pact\pact.repo
PACT_REPO=http://ftp.jaist.ac.jp/pub/cygwin/

BONUS-2

我对这个jaist.ac.jp这个软件源[2]很是喜欢,之前在使用linux(centos、debian和ubuntu)的过程中都用这个源,速度快又稳定,简直就是专为移动专线/宽带用户而设。

BONUS-3

babun自作聪明,每次启动都要去查找更新,浪费时间,可以通过以下option关闭:

babun\cygwin\home\$username\.zshrc
DISABLE_AUTO_UPDATE="true"
cygwin的版本不一致问

uname -ababun update的版本不一致

{ ~ }  >> babun update                                                                               ~
Executing babun update
  upstream  [release]
  installed [1.2.0]
  newest    [1.2.0]
Babun is up to date
Checking Cygwin version:
  installed [1.7.35]
  newest    [1.7.35]
Cygwin is up to date

但是使用uname -a则提示cygwin版本为2.7

{ ~ }  >> uname -a                                                                                 ~ 1
CYGWIN_NT-6.1-WOW tpl450-62008 2.7.0(0.306/5/3) 2017-02-12 13:13 i686 Cygwin

1. 批处理文件位于$instal_dir\.babun\update.bat,需要以管理员身份运行
2. 也叫仓库(repo)或镜像(mirrors)