जब मैं टर्मिनल खोलता हूं, तो मुझे "मेरा कोई नाम नहीं है!"


39

अचानक, आज सुबह, मैंने एक टर्मिनल विंडो खोली और मुझे यह मिला:

I have no name!@macbook:~$ whoami
502

** मैं कोई संख्या नहीं हूं! मैं मानव हूं! **

क्या देता है? किसी को भी पता है कि मुझे अपना नाम वापस लेने के लिए क्या करने की आवश्यकता है?

मुझे लगता है कि यहां दो समस्याएं हैं, एक यह है कि मेरा होस्टनाम अपरिभाषित है, दूसरा यह है कि हूडामी एक नंबर के रूप में मेरा नाम बताता है।


2
BTW - उन लोगों के लिए, मैंने लॉग आउट किया (कमांड-शिफ्ट-क्यू) और लॉग इन करने और टर्मिनल को फिर से शुरू करने के बाद, समस्या दूर हो गई है! अभी भी इस बात में दिलचस्पी है कि इसका कारण क्या हो सकता है, अगर मेरे मैककॉलेज की स्थिति को आगे बढ़ाने के अलावा और कोई कारण नहीं है।
ipd

क्या आप पूछ रहे हैं कि कंप्यूटर होस्ट का नाम प्रॉम्प्ट में क्यों दिखाया गया है या आप पूछ रहे हैं कि कंप्यूटर का नाम "I has no name?" क्यों है?
क्रिस पेज १

मैं पूछ रहा हूं कि अचानक, मेरे बैश प्रॉम्प्ट में "मेरा कोई नाम नहीं है!" एक मेजबाननाम के बजाय। शायद यह सिर्फ एक संयोग है जो whoamiमेरे नाम के बजाय मेरे नंबर की रिपोर्ट कर रहा है।
ip

1
क्या करें hostnameऔर id -pवापस लौटें?
काजलुके

मेरा सिस्टम सामान्य हो गया है। अच्छा सुझाव हालांकि, अगर यह फिर से होता है तो मैं उन दोनों की जांच करूँगा!
18

जवाबों:


24

स्मृति में कुछ दूषित हो गया, और आपके userID (502) और आपके उपयोगकर्ता नाम (ipd) के बीच मानचित्रण खो गया। मैंने देखा है कि ऐसा होता है (आमतौर पर जब मैंने मैन्युअल रूप से त्रिशंकु प्रणाली को मार दिया है), हालांकि मुझे यकीन नहीं है कि यह वास्तव में क्या कारण है। launchdशायद?

क्योंकि वह मानचित्रण खो गया है, whoamiइसलिए अपनी आईडी को एक उपयोगकर्ता नाम में परिवर्तित नहीं कर सकता , इसलिए आईडी लौटाता है, और "आपका नाम नहीं है!" संदेश क्योंकि आप प्रभावी रूप से एक नाम नहीं है।

लॉग आउट और वापस फिक्स हो सकता है, लेकिन रीस्टार्ट करना सबसे अच्छा तरीका है (जैसा कि आपने खोजा)।

मूल रूप से, यह एक और समस्या का लक्षण है, और अपने आप में एक समस्या नहीं है।


1
काश, मैं समझा पाऊं कि कैसे मानचित्रण खो जाता है, लेकिन मैंने कभी इसे खोदने के लिए पर्याप्त नहीं खोदा है।
बोबसन

यह मेरे साथ फिर से हुआ। मैंने मार डाला था launchd, और मैं अब था 501, जिसने मुझे उपयोग करने से रोक दिया था sudo। मैं अभी भी नहीं जानता कि क्या launchdअपने आप को पुनः आरंभ करेगा, या क्या चल रहा है और क्या प्रभावित नहीं करेगा।
बोबसन

इसके लायक के लिए, मैं अभी एक लिनक्स मशीन पर इस में भाग गया, इसलिए मुझे लगता है कि मूल कारण कुछ है। strings /bin/bash | grep "I have"
डिजिटल ट्रामा

यह सैंडबॉक्स पर भी होता है, जहाँ यह आम नहीं है कि किसके पास या यहां तक ​​कि इसकी निर्भरता भी which whoamiहै, यह देखने की कोशिश करें कि यह कहाँ है, मेरे मामले में मैंने ldd /usr/bin/whoamiनिर्भरता खोजने के लिए किया था , देखें कि क्या आपके पास और यदि वे क्षतिग्रस्त हैं।
रोमुलो पीबेडेनेट्टी

11

मैं देख रहा हूं कि यह एक पुराना धागा है, लेकिन यहां इस समस्या का समाधान है (पूरे कंप्यूटर को पुनरारंभ किए बिना)।

समस्या 2011 की शुरुआत से opendirectorydडेमॉन और शुरुआती रिपोर्ट की तारीख में है। डेमॉन को फिर से शुरू करना (उपयोगकर्ताओं को फास्ट उपयोगकर्ता स्विचिंग के माध्यम से एक व्यवस्थापक के साथ स्विच करना) समस्या को ठीक करता है।

इस उत्तर को लिखते समय, मुझे यहां सर्वरफॉल्ट में एक समान प्रश्न मिला है , जो मेरे उत्तर को भी कवर करता है।


यह मेरे लिए काम नहीं किया। मेरे लक्षण शायद एक मूत थोड़े अलग हैं। मेरे पास कई टर्मिनल विंडो खुली हैं, और हर मौजूदा टर्मिनल विंडो ने अपना उपयोगकर्ता नाम मैपिंग खो दिया है, लेकिन हर नई विंडो में यह समस्या के बिना लगता है। हत्या (उर्फ को फिर से शुरू) opendirectoryd मदद नहीं की। "विफल" टर्मिनलों में, मैं समूह मैपिंग के लिए भी लापता हूं com.apple.sharepoint.group.2और access_bpf, लेकिन सूचीबद्ध समूहों में नहीं /etc/group। मुझे लगता है कि पुरानी टर्मिनल प्रक्रियाएं (और कौन जानता है कि अन्य) ने opendirectoryd तक पहुंच खो दी है, न कि यह कि opendirectoryd स्वयं विफल हो गया है।
धोती

3

यह मेरे लिए यादृच्छिक रूप से होता है जब मैं स्टैंडबाय (यानी अपना लैपटॉप खोलना) से फिर से शुरू करता हूं। मेरे लिए एक लॉग आउट या रिबूट ही इसे ठीक करने का एकमात्र तरीका है। मुझे नहीं पता कि इसके कारण क्या हैं। जैसा कि मैंने लिखा है कि यह अभी हो रहा है। मूल पोस्ट में टिप्पणी के रूप में, मैं भाग गया id -pऔर यह दुर्घटनाग्रस्त हो गया। (क्रैश रिपोर्ट: http://pastebin.com/nmFFQELq )

कंसोल कमांड:

whoami - रिटर्न 501

id -p - क्रैश

cat /etc/passwd - मेरा उपयोगकर्ता दस्तावेज़ में नहीं है।

कोई भी ssh प्रयास त्रुटि के साथ विफल होता है:

आप मौजूद नहीं हैं, चले जाओ!

मैंने कंसोल को भी चेक किया, जागने से, ड्रॉपबॉक्स जैसे कार्यक्रमों से यादृच्छिक "सॉकेट नहीं जुड़ा हुआ" त्रुटियों का एक गुच्छा दिखाई देता है (जो मुझे लगता है कि सामान्य हो सकता है, कि वायरलेस तुरंत कनेक्ट नहीं होता है)। हालांकि एक दिलचस्प त्रुटि दिखाई देती है:

4/12/12 8: 37: 09.045 PM coreservicesd: _scserver_ServerCheckin: क्लाइंट यूआईडी सत्यापन विफलता; getpwuid (501) == NULL

4/12/12 8: 37: 09.400 PM coreservicesd: _scserver_ServerCheckin: क्लाइंट यूआईडी सत्यापन विफलता; getpwuid (501) == NULL

अभी भी निश्चित नहीं है कि यह क्या कारण है, लेकिन मुझे लगा कि मैं इन निदान को साझा करूंगा।

मैं एक मिड 2009 मैकबुक प्रो पर हूँ, जिसमें 10.7.3 स्थापित है।


1

देखें कि क्या फ़ाइल की अनुमति /etc/passwdइस तरह से सेट की गई है:

-rwxr--r--

क्योंकि यह passwdफ़ाइल से उपयोगकर्ता नाम पढ़ता है ।


यह not४४ था, .४४ नहीं। not४४ पर सेट करने से कोई फायदा नहीं हुआ।
आठ

0

मैंने iterm => वरीयताओं => URL_handler का उपयोग करके समस्या को हल किया और whoami को अपने उपयोगकर्ता नाम से जोड़कर .. iterm पर पुनः आरंभ करने के बाद, समस्या कोई और नहीं थी


0

मुझे आज भी यही समस्या है (शेर 10.7.5) और dscacheutil -flushcacheमेरे लिए इसे ठीक कर दिया, जैसा कि कुछ ब्लॉग में एक टिप्पणी में सुझाया गया है ।


-1

मेरी समस्या पासवार्ड संग्रह में अनुमति है, पुरानी अनुमति है -rw ------- 1 रूट रूट 1280 Jun 9 15:41 पासवार्ड मैंने कमांड "chmod a + r / etc / passwd" का उपयोग किया और अब सभी उपयोगकर्ता इस संग्रह को पढ़ सकते हैं। -rw-r - r-- 1 रूट रूट 1280 Jun 9 15:41 पासवार्ड उपयोगकर्ता लॉगआउट करें और प्रयास करें। =)


-2

टर्मिनल में होम फ़ोल्डर पर जाएं और चलाएं . ~/.bashrc

यह काम करता हैं!!


5
मुझे नहीं लगता कि फिर से सोर्सिंग .bashrc हल समस्या यहाँ ...
nohillside
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.