开虚拟机用 linux 有时候感觉很麻烦——特别是想调用 windows 下的文件时,最初我是用 GunWin 来在 windows 下使用一些 linux 命令,但是 GnuWin 没有 gcc ,还得再装 minGW ,体验不太好。

后来用了一下 Cygwin ,觉得还行,只是自带的包管理太弱了,而且也不太美观。

最后找到了 Babun 这个 Cygwin 的升级版,据官网所说的几个特性看起来不错:

  • Pre-configured Cygwin with a lot of addons
  • Silent command-line installer, no admin rights required
  • pact - advanced package manager (like apt-get or yum)
  • xTerm-256 compatible console
  • HTTP(s) proxying support
  • Plugin-oriented architecture
  • Pre-configured git and shell
  • Integrated oh-my-zsh
  • Auto update feature

不过安装好后有个很蛋疼的问题,Babun 默认编码是 UTF-8 的,而 windows 的 cmd 命令输出是 GBK 编码的,所以在 Babun 里面运行 ipconfig 等 windows 命令时,中文会是一大堆乱码。如果把 Babun 的编码改成 GBK 的话,命令的中文输出倒是正常了,PS1 却会出现一个乱码字符,如图:
luanma.jpg

百度到 Babun 命令提示符中的 “»” 在 GBK 编码下就是 “禄” 这个字,但是找了半天没找到含有对应的 PS1 变量的文件(/etc/profile 和 ~/.zshrc 里等都没有),也没找到相关的问题。

最后还是 Google 了下……第一页就是 Orz,摘抄一下:

1.windows cmd内置命令显示中文

在babun自带的shell(mintty)右上角右键--options-text,在character set
选择default或者GBK。 之后执行ipconfig等cmd内置的命令时就正常显示中文了。

2.去掉命令提示符乱码

babun内置两个shell,默认是zsh,另一个是bash,设置成中文后命令提示符最后会有一个乱码字符,看着很不爽,要修改PS1变量去掉。把乱码字符替换为 >>

bash:

vi /usr/local/etc/babun.bash    
PS1="\[\033[00;34m\]{ \[\033[01;34m\]\W \[\033[00;34m\]}\[\033[01;32m\] \$( git rev-parse
--abbrev-ref HEAD 2> /dev/null || echo "" ) \[\033[01;31m\]>>\[\033[00m\]"

zsh :

vi ~/.oh-my-zsh/custom/babun.zsh-theme
PROMPT='%{$fg[blue]%}{ %c } \ 
%{$fg[green]%}$(  git rev-parse --abbrev-ref HEAD 2> /dev/null || echo ""  )%{$reset_color%} \ 
%{$fg[red]%}%(!.#.>>)%{$reset_color%} '

这样改好后命令提示符就变成: { ~ } >>

3. 整合conEmu

在conEmu窗口右上角右键--settings--startup--tasks,点“+”号添加一个新task,task
parameters留空,也按照babun官网介绍中配置图标等信息,在下面的commands中加入:
C:\CMD.babun\cygwin\bin\mintty.exe -t C:\CMD.babun\cygwin\etc\minttyrc

4. 常用软件安装

pact install tmux        #安装tmux 
pact install screen      #安装screen 有了这两个不用conEmu也可以了 
pact install zip         #安装zip 
pact install subversion  #安装svn相关的命令
pact install lftp        #lftp命令
pact install p7zip       # p7zip命令
pact install connect-proxy # 基于openssh的socks https代理
pact install util-linux    #安装linux基础命令行工具 more/col/whereis等等命令
pact install bind-utils    #安装dig命令
pact install inetutils     #安装Telnet等常用网络命令
pact install python        #python环境
pact install python-crypto #python 环境

这个包管理很方便,用法也简单,按照自己需要安装吧

https://www.52os.net/articles/windows-install-unix-like-command-tools.html