2017-04-05 54 views
1

我在USB棒上安裝了Cygwin。我打算在兩臺電腦上使用Cygwin。 (我的筆記本電腦和臺式電腦。)在cygwin中只使用一個用戶

不幸的是,這兩臺電腦有不同的用戶名。 (用戶和ryang)。所以每當我切換這兩臺電腦時,用戶主目錄的位置就會變得越來越緊密。

如果我使用Cygwin和ryang,則主目錄是/home/ryang。如果我使用Cygwin user,則主目錄位於/home/user。但我只想使用一個用戶,「sohnryang」。

我不想改變這兩臺電腦的設置。任何這個好的解決方案?

回答

2

問題不僅在於Cygwin的兩個用戶是不同的,他們也不同於Windows的觀點。

要重命名cygwin的用戶,您可以使用文件/etc/passwd

mkpasswd -c > /etc/passwd 
sed -e "s/ryang:/sohnryang:/g" -i /etc/passwd 

,你可以重複它在第二臺計算機

mkpasswd -c >> /etc/passwd 
sed -e "s/user:/sohnryang:/g" -i /etc/passwd 

所以現在都將共享相同的cygwin的名字。 需要:只改變第一和第六個字段;第五名不變。

但是這兩個用戶是不同的也適用於Windows,你可以用

C:\Users\myself>whoami /user  
USER INFORMATION 
---------------- 
User Name   SID 
==================== ============================================= 
my_computer\myself S-1-5-21-531030479-1339336681-3415091201-1009 

兩個SID的是兩個不同的計算機還,如果用戶名是在Windows中同樣驗證。 Windows用戶名和SID合併在第5字段/etc/passwd

根據系統的類型,SID差異可能會導致在兩臺計算機上創建的文件之間發生授權問題。 Windows Home版本通常比專業版更迷惑。

1

另一種快速的解決方案 - 如果你是每臺機器上唯一的Cygwin用戶 - 是編輯/etc/nsswitch.conf文件並db_home設置爲所需的主目錄位置:

db_home: /home/MyName 

這實際上並不改變用戶名本身。如果目錄以這種方式硬編碼,全部登錄到Cygwin的用戶將被設置爲使用同一個目錄。但對於單用戶系統來說,它很快捷,簡單,並且像魅力一樣起作用。