2014-02-20 59 views
2

剛剛更新了cygwin到Windows 7上的1.7.28。如何讓Cygwin xterm使用bash而不是sh?

以前,當啓動X時,xterm將以bash打開。出於某種原因,它現在用sh打開? 需要進行哪些配置更改才能讓bash再次成爲默認shell? 不知道爲什麼會發生這種變化。

打開xterm的快捷方式與我在初始安裝期間的快捷方式相同。

C:\cygwin\bin\run.exe /usr/bin/bash.exe -l -c /usr/bin/startxwin.exe 

但它仍然以默認shell設置爲sh開始。 我不明白是什麼改變了。

我的passwd文件和以前一樣。

看來,一切都開始罰款的標準快捷鍵,但X和xterm的初創公司不採購/ etc/profile文件

回答

3

xterm似乎需要/ etc/shells文件才能正常工作。添加/ etc/shells中與文件,內容如下:

# /etc/shells: valid login shells 
/bin/csh 
/bin/sh 
/bin/bash 
/bin/tcsh 
/usr/bin/csh 
/usr/bin/sh 
/usr/bin/bash 
/usr/bin/tcsh 

克里斯

+0

克里斯做到了。這讓我想知道我在cygwin上進行的更新還有什麼缺失。 謝謝! –

1

運行下面的命令來設置bash作爲默認shell。

set shell=C:/cygwin/bin/bash 

注意路徑C:/cygwin/bin/bash可能會有所不同。

+0

太好了。通常,當我安裝了cygwin時,我不必這麼做。我需要將該命令放在哪裏,以便Xterm默認爲bash? 任何線索爲什麼我的cygwin install這次更改默認值? –

0

(刪除回答關於/etc/passwd

我想在我的cygwin的命令,並得到了相同的行爲,即裝載/bin/sh的xterm。

但是,如果我直接運行startxwin.exe,則會得到一個用/bin/bash加載的xterm。

不知道如果這適用於你,但值得一試。

+0

我知道殼使用的基本方面。 安裝中沒有發生某些事情。我不知道要在cygwin安裝中查找哪些內容來追蹤丟失的內容。 –

4

我的/ etc /已經(從???到29年7月1日升級)彈,可能是新與升級,但仍然沒有工作(xterm運行sh而不是bash)。更改了bash的權限以解決問題。

據700改爲755

chmod 755 /bin/bash 
+0

它爲我做了詭計。 – gawi

0

我曾與SH開展了同樣的問題,但與/ etc/shells中

問題後,管理不同的解決辦法我也想擺脫startxwin.exe創建的默認白色/ bin/sh xterm。

原來有一個.startxwinrc是startxwin.exe來源,所以我就這樣做:

# Launch prettier xterms with bash 
. ./.profile 

# Exit the cruddy white xterm launched by startxwin 
exit 

上面的點空間句法等同於「源」在bash,但更獨立於外殼。

相關問題