क्या एकल उपयोगकर्ता मोड w / o रिबूट करने का तरीका है?


8

पुराने दिनों की तरह- UNIX के साथ जब आप सिर्फ एक कमांड भेज सकते हैं initऔर आप अपने उपयोग के लिए शेल के साथ ब्लैक टेक्स्ट स्क्रीन को देख रहे हैं। ;)


10.11.6 के माध्यम से OS X / macOS के विभिन्न संस्करणों का उपयोग करने के कई घंटों के परीक्षण के बाद 10.14.2 के साथ, SIP सक्षम और उसके बिना, विभिन्न भौतिक और आभासी मशीनों, कई बार दर्जनों में से sudo launchctl reboot userspace -sएक बार भी एक सफल और प्रयोग करने योग्य उपयोगकर्ताओं को बेहतर नहीं बनाया। रिबूट! सीधे शब्दों में कहें, दस्तावेज के स्रोत की परवाह किए बिना, पूर्वोक्त आदेश काम नहीं करता है और इसलिए काम नहीं करता है और इसलिए इस सवाल का जवाब स्वीकार किए जाने के बावजूद, मुझे यह काम करने के लिए नहीं मिला और मेरे पतन का कारण है।
user3439894

मेरे जवाब में कहा गया है, "एल कैप्टियन पर परीक्षण", जहां यह काम करता है। इसका उत्तर अब भारी रूप से संपादित किया गया है, लेकिन यह अभी भी इसके संशोधन इतिहास में पाया जा सकता है। सीधे शब्दों में मैंने यह नहीं कहा कि यह किसी और चीज पर काम करेगा
Poige

1
मैंने एल कैपिटन के साथ-साथ सिएरा, हाई सिएरा और मोजाव के तहत परीक्षण किया। किसी भी उदाहरण sudo launchctl reboot userspace -sमें GUI में टर्मिनल से एक सफल और प्रयोग करने योग्य उपयोगकर्ता स्थान को रिबूट नहीं किया गया! कृपया सम्मान करें कि न केवल मुझे काफी समय, ऊर्जा और प्रयास मिला, मैंने अपने पतन के लिए एक वैध कारण भी व्यक्त किया, जो निश्चित रूप से मैं ऐसा करने के लिए बाध्य नहीं हूं। तथ्य यह है कि तीन अलग-अलग ऐप्पल सिस्टम पर, मैकबुक प्रो, आईमैक और मैकबुक एयर, एल कैपिटन और बाद में चल रहे हैं, यह मेरे लिए यहां या प्रलेखन में विज्ञापन के रूप में काम नहीं करता था! मेरे लिए AFAIC, कहानी का अंत।
user3439894

मेरे लिए काम किया। यहां: 15.6.0 x86_64 root:xnu-3248.73.11~1/RELEASE_X86_64 x86_64। आप किस सम्मान की बात कर रहे हैं? :) या यदि आप सम्मान के बारे में बात करते हैं तो मेरे शब्दों के प्रति आपका सम्मान कहां है? :)
गरीब

संपादित उत्तर। वीडियो रिकॉर्डिंग के बारे में सोचकर और उसे यूट्यूब पर अपलोड करना। ;)
गरीब

जवाबों:


5

अपनी आवश्यकताओं के आधार पर, उपयोगकर्ता नाम पूछने के लिए विंडो में लॉग को बदलने का प्रयास करें और फिर उपयोगकर्ता के रूप में > कंसोल> दर्ज करें।

इस संभावना को 10.10 पर हटा दिया गया था ताकि आपको पुनर्प्राप्ति या ssh में बूट करने या टर्मिनल ऐप का उपयोग करने की आवश्यकता हो, यदि यह विरासत प्रकार बायपास वह नहीं है जो आप चाहते हैं।

इसके अलावा, यह सही रूट एकल उपयोगकर्ता मोड नहीं है, जिसे आधुनिक macOS पर बूट प्रक्रिया में जल्दी होने की आवश्यकता है।


ऐसा लगता है कि मुझे अपने प्रश्न का वास्तविक उत्तर मिल गया है। जाँच करेंगे और उत्तर देंगे
poige

@poige मैं निश्चित रूप से इसे Mojave पर काम करने के लिए नहीं पा सकता हूं (लेकिन मैंने डिफॉल्ट्स लिखने के साथ गड़बड़ नहीं की।) मेरे उत्तर को संपादित करने के लिए स्वतंत्र महसूस करें कि यह वही है जो आप चाहते हैं या स्वयं जवाब दें यदि आप एक बार परीक्षण करते हैं तो क्लीनर उत्तर सबसे अच्छा होता है। ।
bmike


> रिबूट के बिना बूट उपयोगकर्ता से एकल उपयोगकर्ता मोड में संक्रमण करने का कोई प्रलेखित तरीका नहीं है। यह गलत दावा है।
poige

हाय @poige शायद भ्रम है कि एकल उपयोगकर्ता मोड क्या है। एक व्यक्ति ने आपके उत्तर को और 5 को नीचे कर दिया। यदि आप कुछ और जोड़ना चाहते हैं तो एक नया उत्तर देने के लिए स्वतंत्र महसूस करें? उस विकिपीडिया में इस बात का उल्लेख है कि macOS पर एकल उपयोगकर्ता मोड केवल प्री-बूट होता है इसलिए मैं आपके लिए एक खुला अर्थ रखता हूं कि मैं आपके उपयोगकर्ता के बारे में क्या विचार करता हूं। अगर मैं मदद कर सकता है मुझे पता है
bmike

3

सिद्धांत

संक्षेप में, man launchctlएकल मोड w / o कर्नेल रिबूट में इस तरह के स्विच को पूरा करने के लिए एक दस्तावेज है । यह एक शेल-कमांड के साथ टर्मिनल विंडो से, उदाहरण के लिए, तैनात किया जा सकता है:

sudo launchctl reboot userspace -s

अभ्यास

एल कैपिटन

मैंने इसे मैकबुक एयर 2015 में एल कैपिटान में परीक्षण किया जहां यह काम करता था। लेकिन मेरे पास एक उपयोगकर्ता की रिपोर्ट भी है कि अल कैपिटन पर उनके प्रयास हालांकि असफल थे। एकमात्र अंतर जो मैं सोच सकता हूं कि रेटिना है जिसमें विभिन्न ग्राफिक्स मोड या सोमेसुच की आवश्यकता होती है। मेरे पास रेटिना के साथ एल कैपिटान के साथ मैकबुक नहीं है, इसलिए समय के लिए मैं इस तरह के संस्करण के समर्थन में कुछ और नहीं बता सकता।

हाई सिएरा, मोजावे

हाई सिएरा के साथ मेरी कोशिश दिखा रही थी कि यह कार्यक्षमता अब काम नहीं कर रही है (एल कैपिटन की तुलना में)। फिर से, यह रेटिना के कारण हो सकता है, यह स्पष्ट नहीं है। Mojave यह भी काम नहीं कर रहा है।


एक योगदानकर्ता द्वारा पूरी व्याख्या

रनिंग से पूर्ण रीबूट किए बिना, ऊपर चल रहे macOS से सिंगल यूज़र मोड में वापस जाने का एक तरीका है

sudo launchctl reboot userspace -s

यह डार्विन कर्नेल को फिर से शुरू किए बिना केवल macOS के उपयोगकर्ता भाग को फिर से लॉन्च करेगा और पुराने-यूनिक्स पर रनवे को बदलने के बराबर है।

अतिरिक्त विवरण के लिए देखें man launchctl:

reboot [system|userspace|halt|logout|apps|reroot ]
    Instructs launchd to begin tearing down userspace. With no argu-
    ment given or with the system argument given, launchd will make
    the reboot(2) system call when userspace has been completely
    torn down. With the halt argument given, launchd will make the
    reboot(2) system call when userspace has been completely torn
    down and pass the RB_HALT flag, halting the system and not ini-
    tiating a reboot.

    With the userspace argument given, launchd will re-exec itself
    when userspace has been torn down and bring userspace back up.
    This is useful for rebooting the system quickly under conditions
    where kernel data structures or hardware do not need to be re-
    initialized.

    -s       When rebooting the machine (either a full reboot or
             userspace reboot), brings the subsequent boot session
             up in single-user mode.

इसका मतलब यह है कि तकनीकी स्तर पर sudo launchctl reboot userspace -sकॉल नहीं करता है reboot(2)और इसलिए रिबूट के बिना एकल उपयोगकर्ता मोड पर स्विच करने का एक तरीका प्रदान करता है।

एकल उपयोगकर्ता मोड पर भी विकिपीडिया लेख कहता है:

OS X El Capitan और बाद में macOS के विमोचन में, मोड को sudo launchctl reboot userspace -sटर्मिनल में कमांड के साथ सिंगल यूजर मोड में बदला जा सकता है , और सिस्टम को कमांड के साथ सिंगल-यूजर मोड में पूरी तरह से रिबूट किया जा सकता है sudo launchctl reboot system -s


1 - @ nohillside के सौजन्य से

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