2012-04-10 12 views
19

पर साइगविन होम निर्देशिका बनाएं क्योंकि मैं विंडोज मशीन पर रेल पर रूबी विकसित कर रहा हूं, मुझे यूनिक्स कमांड प्रॉम्प्ट का अनुकरण करने के लिए साइगविन का उपयोग करने की आवश्यकता है। समस्या यह है कि हर बार जब मैं सिग्विन टर्मिनल खोलता हूं, तो मुझे विंडोज़ की डिफ़ॉल्ट उपयोगकर्ता निर्देशिका सी:/उपयोगकर्ता/my_user_name के बजाय इस निर्देशिका में सी:/साइगविन/होम/my_user_name लाया जाता है।विंडोज़ 'उपयोगकर्ता प्रोफाइल

क्या कोई जानता है कि सिग्विन की डिफ़ॉल्ट होम निर्देशिका को विंडोज डिफ़ॉल्ट सी:/उपयोगकर्ता/my_user_name निर्देशिका में कैसे बनाना है?

मैंने स्टैक ओवरफ़्लो में प्रदान किए गए विभिन्न समाधानों के माध्यम से स्किम किया है, लेकिन उनमें से कोई भी मेरे लिए काम नहीं करता है, "mkpasswd" या तो काम नहीं करता है। क्या मेरे पास मेरे ऑपरेटिंग सिस्टम के संस्करण, या शायद कुछ और करने के लिए कुछ है?

मैं साइगविन 1.7.5 का उपयोग कर रहा हूं और मेरा ऑपरेटिंग सिस्टम विंडोज 7 बिजनेस 64 बिट है।

+0

इस SuperUser के लिए ले जाया गया है चाहिए में एक home निर्देशिका बनाने में मेरी /etc/nsswitch.conf की सामग्री है? –

उत्तर

18
mount -f "$USERPROFILE" ~ 
mount -m > /etc/fstab 

संबंधित

Safely change home directory

+0

हैलो, ज्ञान के लिए धन्यवाद, लेकिन क्या आप इस मुद्दे के बारे में कुछ और बता सकते हैं? – lixiang

+0

एफवाईआई मैंने अपना संबंधित प्रश्न संपादित किया है (जिसे आपने "अस्पष्ट" के रूप में बंद करने के लिए डाउनवॉटेड और ध्वजांकित किया है)। –

8

मैं बस C:\Users\MyUsername करने के लिए Windows में घर वातावरण चर सेट करके मेरा बदलने में सक्षम था। जब मैं सिग्विन शुरू करता हूं, अब यह वहां दिखता है। यह नियमित रूप से Win32 पर Emacs के कारण (यानी, Cygwin के माध्यम से नहीं) सही जगह में बजाय C:\Users\MyUsername\AppData\Roaming में शुरू करने के लिए (और इस प्रकार .emacs और वहाँ .emacs.d की तलाश में) का अतिरिक्त लाभ है

+0

जब मैं ऐसा करता हूं, सिग्विन मुझे यह वापस देता है: mkdir: निर्देशिका '/ cygdrive/c/प्रोग्रामडेटा/माइक्रोसॉफ्ट/विंडोज/स्टार्ट मेनू/प्रोग्राम/सिगविन/\' सी: 'नहीं बना सकता: अनुमति /cygdrive/c/प्रोग्रामडाटा/माइक्रोसॉफ्ट/विंडोज/स्टार्ट मेनू/प्रोग्राम/सिगविन/'सी:/यूजर/सीएमसीडीआरगोनकाई' नहीं बनाया जा सका। घर को/tmp पर सेट करना। – CMCDragonkai

+0

मेरे लिए काम किया, धन्यवाद। – Robeezy

+0

इस पर्यावरण परिवर्तनीय प्रभाव के लिए लॉगआउट/लॉगिन करने के लिए मत भूलना। – Apteryx

6
Cygwin documentation के अनुसार

आप /etc/nsswitch.conf संपादित कर सकते हैं और डी db_home पैरामीटर बदल सकते हैं।

  • % यू - सिग्विन उपयोगकर्ता नाम (यह आपको लोअरकेस है)।
  • % यू - विंडोज उपयोगकर्ता नाम (वह अपरकेस यू है)।
  • % डी - नेटबीओएसओ शैली में विंडोज डोमेन।
  • % एच - पॉज़िक्स शैली में विंडोज़ होम निर्देशिका। ध्यान दें कि, db_home के लिए: सेटिंग,
  • % _ - चूंकि स्पेस और टैब वर्णों का उपयोग स्कीमाटा को अलग करने के लिए किया जाता है, इसलिए फ़ाइल नाम में एक स्थान को% _ (यह अंडरस्कोर है) के रूप में दिया जाना चाहिए।
  • %% - प्रति प्रतिशत चरित्र।

यहाँ प्रत्येक उपयोगकर्ता निर्देशिका

# /etc/nsswitch.conf 
# 
# This file is read once by the first process in a Cygwin process tree. 
# To pick up changes, restart all Cygwin processes. For a description 
# see https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-nsswitch  
# Defaults: 
# passwd: files db 
# group: files db 
# db_enum: cache builtin 
# db_home: /home/%U <------ This was the default setting 
db_home: /%H/home # db_home: /home/%U <- This was the default setting 
# db_shell: /bin/bash 
# db_gecos: <empty> 

पुनः प्रारंभ किसी भी Cygwin प्रक्रिया

+1

ध्यान दें कि 'होम' सेट होने पर यह ओवरराइड हो जाएगा (जैसा कि हट 8 सुझाव देता है)।मैं सामान्य रूप से इस समाधान को पसंद करता हूं, लेकिन मुझे एक अजीब मामला मिला है जहां कुछ और * इसे * ओवरराइड लगता है] (http://stackoverflow.com/q/41152489/1858225), इसलिए मैंने समाधान के लिए स्विच किया है विंडोज वातावरण चर सेटिंग। –

+1

यह एक क्लीनर समाधान प्रतीत होता है, इसके बजाय स्वीकार किया जाना चाहिए! –

संबंधित मुद्दे