babun安裝,整合到cmder

weixin_34162629發表於2017-12-05

babun

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
View Code

 

整合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

https://blog.jamespan.me/2015/04/09/babun-the-shell/

https://www.hi-linux.com/posts/57246.html

相關文章