मैं रनवेवेल को सिस्टमड में कैसे बदलूं?


27

बहुत आसान है, मैं रनलेवल बदलने की कोशिश कर रहा हूं। मुझे जो कुछ भी ऑनलाइन मिल रहा है वह मुझे उस फ़ाइल में स्थित है:

/etc/init/rc-sysinit.conf

यहाँ मैंने "DEFAULT_RUNLEVEL" को 3 या कुछ और में बदलने की कोशिश की है और इससे कोई फ़र्क नहीं पड़ता (मूल मान 2 था जो बहुत मायने नहीं रखता था)। कोई फर्क नहीं पड़ता कि, मेरी मशीन पूरी तरह से बूट करती है और जब मैं रनलेवल कमांड की जांच करता हूं, तो मुझे हर बार परिणाम के रूप में "एन 5" दिखाई देता है।

मैं रनले को कैसे बदलूं? मैं इसके बजाय ग्रब या कुछ अन्य वर्कअराउंड तंत्र के माध्यम से इसे ओवरराइड नहीं करूंगा। और मैं एक्स को विशेष रूप से अक्षम करने के लिए नहीं देख रहा हूं।

मेरे द्वारा ऑनलाइन किए जा रहे सभी निर्देश थोड़े पुराने थे, क्या 16.04 के साथ कुछ बदल गया था?


तो क्या आप इसे बूट के बाद मैन्युअल रूप से बदलना चाहते हैं या स्वचालित रूप से हर बार एक अलग रनवे पर बूट करना चाहते हैं?
बाइट कमांडर

हर बार स्वचालित। इसे उबंटू डेस्कटॉप के साथ स्थापित किया गया था, लेकिन अब मैं रनवे को कम करना चाहता हूं और इसे एक कोने में रख दिया है।
gnomed

दरअसल, आप रनवे को क्यों बदलना चाहते हैं? क्या आप केवल डेस्कटॉप लोड करने के बजाय एक टर्मिनल इंटरफ़ेस को बूट करना चाहते हैं? उस स्थिति में आपको बूट पर मानक लक्ष्य सिस्टमड लोड को संशोधित करना चाहिए और "टेक्स्ट" कर्नेल विकल्प जोड़ना चाहिए।
बाइट कमांडर

4
शायद इसलिए कि 15.10 के बाद से, उबंटू systemdइसके बजाय उपयोग करता है upstartऔर आप जिस फ़ाइल के बारे में बात कर रहे हैं वह है upstart। यदि आप पुराने लेखों को भी पढ़ते हैं, तो आप पुराने के लिए भी तरीके खोज लेंगे init। लेकिन systemd, आप बस GUI और टेक्स्ट मोड का उपयोग करके sudo systemctl start graphical.targetऔर के बीच स्विच कर सकते हैं sudo systemctl start multi-user.target
बाइट कमांडर

5
सभी समीक्षकों के लिए यह एक वैध प्रश्न है! वहाँ है रनलेवल (यह "रनलेवलों" या "लक्ष्य" कहा जाता है या नहीं) को बदलने के लिए का उपयोग कर एक तरह सेsystemctl isolate
रॉन

जवाबों:


50

Ubuntu 16.04 init के बजाय systemd का उपयोग करता है और इसलिए इस अवधारणा runlevelsको शब्द द्वारा प्रतिस्थापित किया जाता है targets। तो वास्तव में init- आधारित रनवे और सिस्टम-आधारित लक्ष्य के बीच एक मानचित्रण है:

   Mapping between runlevels and systemd targets
   ┌─────────┬───────────────────┐
   │Runlevel │ Target            │
   ├─────────┼───────────────────┤
   │0        │ poweroff.target   │
   ├─────────┼───────────────────┤
   │1        │ rescue.target     │
   ├─────────┼───────────────────┤
   │2, 3, 4  │ multi-user.target │
   ├─────────┼───────────────────┤
   │5        │ graphical.target  │
   ├─────────┼───────────────────┤
   │6        │ reboot.target     │
   └─────────┴───────────────────┘

अब, 16.04 में "रनलेवल" को बदलने के लिए, आप उदाहरण के लिए उपयोग कर सकते हैं:

sudo systemctl isolate multi-user.target

इसे डिफ़ॉल्ट "रनलेवल" बनाने के लिए, आप उपयोग कर सकते हैं:

sudo systemctl enable multi-user.target
sudo systemctl set-default multi-user.target

से man systemctl

   isolate NAME
       Start the unit specified on the command line and its dependencies and stop all others. If
       a unit name with no extension is given, an extension of ".target" will be assumed.

       This is similar to changing the runlevel in a traditional init system. The isolate command
       will immediately stop processes that are not enabled in the new unit, possibly including
       the graphical environment or terminal you are currently using

man systemd.specialसिस्टमैड में लक्ष्यों के बारे में अधिक जानने के लिए भी एक नज़र डालें ।


HI @ आपकी प्रतिक्रिया बहुत अच्छी है, मैंने इसे एनवीडिया आधिकारिक ड्राइवर को स्थापित करने के लिए किया था, लेकिन अब मेरी स्क्रीन पर नीली स्क्रीन के अलावा कुछ भी दिखाई नहीं देता है। मैं इसे कैसे ठीक करूं ? आपकी मदद के लिए अग्रिम धन्यवाद।
राफेल टेबनर

ग्रब से पुनर्प्राप्ति मोड में दर्ज करें, फिर रूट के रूप में पिछले रनवेल पर वापस जाएं।
लोटलवा

हाँ। मैं सिर्फ इस बारे में टिप्पणी करने जा रहा था कि कैसे लोग gui बूट से टेक्स्ट-मोड पर जाने की ये बहुत अच्छी आज्ञाएँ दे रहे हैं, हमें इस बारे में बिल्कुल भी ध्यान नहीं है कि कैसे हम टेक्स्ट-बूट से gui बूट पर वापस जाएँ।
nyxee

तो, बस ध्यान देने के लिए, मैं sudo systemctl set-default multi-user.targetGUI मोड में चलता हूं, रिबूट पर, मुझे एक रिक्त स्क्रीन मिली, जो एक अच्छा संकेत था कि GUI बूट करने में विफल रहा था, इसलिए मैंने Ctrl-Alt-F3रनलेवल 3 में प्रवेश करने के लिए दबाव डाला , जो मुझे चाहिए था (NVIDIA स्थापित) CUDA), भागो sudo systemctl set-default graphical.targetऔर GUI लॉगिन स्क्रीन पर लौट आए। लेकिन, मैं अब लॉग इन करने में विफल रहा हूं। क्या पिछले रनवे पर वापस जाने का सही तरीका है ?
nyxee

2
@nyxee - हां, sudo systemctl set-default graphical.targetGUI डेस्कटॉप वातावरण में वापस लौटने का सही तरीका है। रनवेवेल्स के बीच स्विच करने में आपकी लॉगिन विफलता असम्बद्ध लगती है - यह एनवीडिया बूट लूप समस्या की तरह लगता है। सुनिश्चित करने के लिए, रनलेवल 3 पर वापस जाएं, एनवीडिया और कूडा ड्राइवरों को हटा दें, रेपो से एनवीडिया ड्राइवर स्थापित करें, रनलेवल 5 (ग्राफ़िकल.टार्ग) पर डिफ़ॉल्ट सेट करें, फिर रिबूट करें और देखें कि क्या आप लॉग इन कर सकते हैं
एंडी टर्फर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.