此前Cygwin的34年1月7日,解決這些問題需要箍跳的公平位,¹但現在它很簡單:
如果您還沒有安裝Cygwin的好,不要so.²
如果您已經安裝Cygwin,並且在1.7.34之前開始使用Cygwin的版本,請將/etc/passwd
和/etc/group
移開,然後升級到當前版本。
啓動Cygwin終端。
打開Cygwin的在你喜歡的文本editor.⁴添加一行:
db_home: /%H
這就是它!當您下次重新啓動Cygwin時,它會將您的Windows配置文件目錄視爲您的Cygwin主目錄。5這意味着您將有有用的子文件夾,如Desktop
和Downloads
作爲子文件夾,它與OS X和很多桌面Linuxes工作。
有些人可能不希望這兩個目錄被視爲等價物。您可以選擇任何您喜歡的路徑方案。例如,您可以將其更改爲/cygdrive/c/Users/%U/cygwin
以將Cygwin主文件夾放入Windows配置文件目錄的cygwin
子目錄中。
Cygwin的這個新功能非常強大,並且can do a lot more than I show here。例如,如果您願意,您可以通過AD更改Cygwin用戶主目錄。有關詳情,請參閱該文檔。
您可能還想重新排列Cygwin路徑方案的一些其他元素。您可以通過編輯Cygwin's /etc/fstab
文件來完成此操作。你可能想移動/tmp
,/usr/tmp
,並/var/tmp
以非管理員用戶可以寫入到一個目錄,一兩件事:
c:/tmp /tmp ntfs auto 0 0
c:/tmp /usr/tmp ntfs auto 0 0
c:/tmp /var/tmp ntfs auto 0 0
這將讓你安裝(及更高版本的更新)的Cygwin作爲管理員,同時還讓無特權的用戶運行Cygwin。這使得Cygwin更像Linux或Unix。由於Cygwin軟件包倉庫中的大多數軟件都來自該世界,因此您可以依靠它在這樣的方案下正確運行。
腳註:
的first version of this answer告訴你如何做一個等價的東西與舊版本的Cygwin。
Cygwin不關心你安裝它的位置,所以如果默認不適合你,請隨時更改它。一些想法:
C:\Program Files\Cygwin
C:\Users\jeremy\Cygwin
D:\cygwin
的Cygwin會記住你的選擇,在後續的更新。
如果您不移動這些文件,它們會干擾我們上面構建的解決方案。 Cygwin的這部分足夠複雜,應該得到a whole section in the Cygwin user manual。暗示。 :)
Cygwin默認安裝精簡版的Vim文本編輯器。
如果您不喜歡vi
,Cygwin軟件包存儲庫中還有許多其他文本編輯器。
如果做像vi
,我建議安裝完整版的Vim,再加入alias vi=vim
您~/.bashrc
。
您還可以使用本地Windows GUI文本編輯器。 Cygwin的解析器似乎可以應對DOS行尾。
Cygwin DLL從%HOMEDRIVE%
和%HOMEPATH%
環境變量構建此路徑,然後將其轉換爲POSIX形式。
類似的問題和答案在http://stackoverflow.com/questions/3343988/accessing-a-cygwin-symlink-from-windows。我不確定這是否是最好的,但anwser得分6. – 2014-10-31 02:35:17
@HarryJohnston:你究竟是什麼意思?你是否期望用戶空間'cygwin1.dll'提供真正的安全性或其他? Cygwin只能使用它在平臺上找到的機制。例如,Cygwin文件可以通過NTFS ACL進行保護,操作系統內核將強制執行這些文件。 – 2014-10-31 03:45:59
實際上,它沒花很長時間才發現:「從版本1.5.13開始,Cygwin開發人員並沒有意識到cygwin dll中的任何功能,它們允許用戶獲得特權或訪問他們沒有的對象Windows下的權利「。所以問題不再存在。 – 2014-10-31 04:07:47