Babun的特性: 預裝了Cygwin以及許多的外掛 預設的命令列安裝工具,沒有管理員許可權要求。 預裝了 pact工具,一個高階的包管理器,類似 apt-get或yum xTerm-256相容的控制檯 支援Http(s)的代理 面向外掛的架構 配置了 git 和 shell 整合 oh-my-zsh 自動更新機制 整合右鍵選單,在此開啟Babun Cygwin Babun的核心就是Cygwin,不過它經過了配置。Cygwin是一個不錯的工具,但是有很多問題需要花一些時間來配置它,讓它易於應用。Babun做了一些配置,並且包含了很多重要的工具包,使得它非常易用。 Package manager Babun提供了一個包管理器,pact。類似於apt-get 或 yum。pact使得安裝,搜尋,更新和刪除cygwin的工具包非常容易。pact --help快去看一下它怎麼使用吧。 Shell Babun的shell經過了微調,這樣可以提供更好的使用者體驗。有兩個預配置的shell - bash 和 zsh,可以馬上使用。zsh是預設的shell。Babun的shell具有如下的特徵: 語法高亮 UNIX工具 軟體開發工具 git改進 自定義的指令碼和別名 還有一些其他功能 Console Mintty是在babun中用的控制檯,它具有xterm-256模式的特徵,良好字型簡潔畫面。 Proxying Babun支援HTTP代理。只需要在Home目錄下的.babunrc檔案中配置可信的HTTP代理伺服器,執行source .babunrc 開啟HTTP代理即可。現在還不支援Socks代理 Developer tools Babun提供了許多軟體包,方便的工具和指令碼,使得我們的工作更容易完成。包括如下的工具: 程式語言 Python,Perl等等 git 進行少許修改,新增了很多別名 UNIX工具,比如grep,wget,curl等 vcs 包括svn,git oh-my-zsh 自定義的指令碼,例如pbcopy,pbpaste,babun等 外掛結構 Babun有一個非常小的微核心,cygwin,一些bash指令碼,以及一個外掛結構。它的意思是幾乎所有的工具都可以以外掛形式放入babun的世界。當前babun的外掛有如下的幾個: cacert,core,git,oh-my-zsh,pact,cygdriver,dist,shell Auto-update 自更新時一個非常暖心的功能。許多Cygwin工具只是簡單的bash指令碼,一旦安裝了,就無法很好地獲取新的版本。或者刪除舊版本或者使用更新的版本覆蓋它,這樣就丟掉了之前的設定。 Babun包含了一個自動更新的功能,它可以更新微核心,外掛甚至是所基於的cygwin。你的本地設定或自定義儲存在home目錄,在更新中home目錄下的檔案不會被刪除或覆蓋。 Installer Babun新增了一個靜默命令列安裝指令碼,安裝時不需要Windows的管理員許可權
預設安裝
下載完成之後解壓babun,直接雙擊目錄中install.bat指令碼(需管理員許可權)進行安裝。幾分鐘之後自動安裝完成,預設會被安裝在%userprofile%\.babun
目錄下。
自定義安裝位置
通過cmd命令列在執行install.bat時指定引數/t或/target指定安裝的目錄。
執行:babun.bat /t c:\babun
例如安裝到D:\Program Files\babun裡面,就直接命令
install.bat /t "D:\Program Files\babun"
會自動在babun資料夾內生產.babun資料夾
如果按照這種方式安裝,那麼最好配置環境變數,下面整合到cmder裡面的時候用
預設的安裝好之後會在c:\babun目錄下生成一個.babun的目錄,babun所有檔案都在這個目錄中。注意安裝目錄最好不要有空格,這是cygwin要求的。
雖然.babun在%babun%中,但是還有很多要安裝的外掛並不在%babun%,如果想設定成可遷移的,在環境變數中新增
效果:
按照這種方式安裝的話,git可能會出現問題,如果你win裡面已安裝git,可以將%userprofile%內的.gitconfig替換%babun%內的.gitconfig,主要是別名,使用者名稱
這樣的話,雖然git都可以使用,不管是本身git bash,還是babun內的git,使用感覺上是一致的,但是其實是兩套git,可以刪除掉babun中的git,babun命令裡面自動就會使用window中安裝的。
其實設定HOME環境變數不太好,可能很多軟體會有問題,目前僅發現git,網上還有Emacs,可能還會有其他的。
測試安裝成功
安裝完畢後,一般需要以下兩個命令檢查
babun check(用於判斷環境是否正確)
babun update(用於判斷是否有新的更新包)
預設根目錄
%userprofile%\.babun\cygwin\home\qhong
windows cmd內建命令顯示中文
babun預設編碼是UTF-8的,而windows的cmd命令輸出是GBK編碼的,所以在Babun裡面執行ipconfig等windows命令時,中文會是一大堆亂碼。
解決:在babun自帶的shell(mintty)右上角右鍵options-text,在character set選擇default或者GBK,之後執行ipconfig等cmd內建的命令時就正常顯示中文了。
如果把Babun的編碼改成GBK的話,命令的中文輸出倒是正常了,PS1卻會出現一個亂碼字元,如圖
去掉命令提示符亂碼
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%} '
注:將編碼修改成GBK後,ls命令中文檔名的會出現亂碼。最好在Babun環境中使用UTF-8編碼,ipconfig等windows指令用cmder或預設cmd執行就行了。將Babun整合到ConEmu/cmder這樣改好後命令提示符就變成: { ~ } >>
新增國內映象:(C:\Users\qhong\.babun\cygwin\home\qhong\.pact),發現預設的也挺快的,不一定要新增
PACT_REPO=http://mirrors.sohu.com/cygwin/
整個檔案為:
PACT_REPO=http://mirrors.sohu.com/cygwin/ PACT_REPO=http://mirrors.kernel.org/sourceware/cygwin/ PACT_REPO=http://mirrors.neusoft.edu.cn/cygwin/ # POPULAR HTTP REPOSITORIES # http://mirror.switch.ch/ftp/mirror/cygwin/ # POPULAR FTP REPOSITORIES # ftp://mirror.switch.ch/mirror/cygwin/ # ftp://ftp.inf.tu-dresden.de/software/windows/cygwin32/ # ftp://mirrors.kernel.org/sourceware/cygwin/ # ftp://gd.tuwien.ac.at/gnu/cygwin/ # ftp://ftp.iij.ad.jp/pub/cygwin/ # ftp://mirror.cpsc.ucalgary.ca/cygwin.com/ # FULL LIST # http://cygwin.com/mirrors.html
整合cmder:
在cmder視窗右上角右鍵Settings>Startup>Tasks,點+號新增一個新task,命名為babun。
在Task parameters中填入
/icon "%userprofile%\.babun\cygwin\bin\mintty.exe" /dir "%userprofile%"
在Commands中填入以下任意一種都可以
#預設使用ZSH %userprofile%\.babun\cygwin\bin\mintty.exe /bin/env CHERE_INVOKING=1 /bin/zsh.exe #使用自定義mintty配置 %userprofile%\.babun\cygwin\bin\mintty.exe -t "%userprofile%\.babun\cygwin\etc\minttyrc"
如果不是採用預設方式安裝的,且配置了babun環境變數,那麼將userprofile替換成babun即可!
效果:
常用軟體安裝:
#安裝tmux pact install tmux #安裝screen pact install screen #安裝zip pact install zip #安裝svn pact install subversion #安裝lftp命令 pact install lftp #安裝p7zip命令 pact install p7zip #基於openssh的socks https代理 pact install connect-proxy #安裝linux基礎命令列工具more/col/whereis等命令 pact install util-linux #安裝dig命令 pact install bind-utils #安裝Telnet等常用網路命令 pact install inetutils #安裝python環境 pact install python pact install python-crypto
提高babun啟動速度,關閉開啟檢查:
.babunrc檔案中取消下面的註釋:
export DISABLE_CHECK_ON_STARTUP="true"
babun內zsh使用:
檢視當前環境內的shell:
{ ~ } » echo $SHELL ~ /bin/zsh
檢視系統自帶哪些shell:
{ ~ } » cat /etc/shells ~ /bin/sh /bin/ash /bin/bash /bin/dash /bin/mksh /bin/pdksh /bin/posh /bin/tcsh /bin/zsh /usr/bin/sh /usr/bin/ash /usr/bin/bash /usr/bin/dash /usr/bin/mksh /usr/bin/pdksh /usr/bin/posh /usr/bin/tcsh /usr/bin/zsh
https://github.com/babun/babun