windows下搭建类linux环境

Posted on Jan 21, 2015

开虚拟机用 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