GUI के बजाय कमांड लाइन मोड में लिनक्स कैसे बूट करें?


26

मैं अपने VM में 32-बिट Red Hat Linux का उपयोग कर रहा हूं। मैं इसे कमांड-लाइन मोड पर बूट करना चाहता हूं, GUI मोड में नहीं। मुझे पता है कि मैं startxकमांड का उपयोग करके GUI मोड में जा सकता हूं । मैं कमांड-लाइन मोड पर वापस कैसे लौटूँ?

जवाबों:


23

अद्यतन: नीचे दिया गया उत्तर अब अप्रचलित है

अब बहुत सारे विकृतियों के लिए, डिफ़ॉल्ट sysvinit के बजाय सिस्टमड है। नीचे दिए गए जवाब को मन में sysvinit के साथ लिखा गया था। अधिक-अप-टू-डेट उत्तर (और यदि आपको सिस्टम में आपके इनिट सिस्टम के रूप में है, तो आपको इसका उपयोग करना चाहिए) गोलेम का उत्तर है

sysvinit उत्तर (अधिकांश वर्तमान डिस्ट्रोस पर अप्रचलित):

आप रनलेवल 3 को अपना डिफ़ॉल्ट रनवे बनाना चाहते हैं। टर्मिनल से, रूट पर स्विच करें और निम्नलिखित करें:

[user@host]$ su
Password:
[root@host]# cp /etc/inittab /etc/inittab.bak #Make a backup copy of /etc/inittab
[root@host]# sed -i 's/id:5:initdefault:/id:3:initdefault:/' /etc/inittab #Make runlevel 3 your default runlevel

#प्रत्येक लाइन पर दूसरा (शामिल होने के बाद) आपके लिए एक टिप्पणी है, आपको इसे टर्मिनल में टाइप करने की आवश्यकता नहीं है।

देखें विकिपीडिया पृष्ठ अधिक जानकारी के लिए रनलेवलों पर।

sedआज्ञा की व्याख्या

  • sedआदेश एक धारा संपादक (इसलिए नाम), आप, इसका इस्तेमाल डेटा की धाराओं में हेरफेर करने के आमतौर पर के माध्यम से है नियमित अभिव्यक्ति
  • यहां, हम फ़ाइल में sedपैटर्न के id:5:initdefault:साथ पैटर्न को बदलने के लिए कह रहे हैं , जो कि फ़ाइल है जो आपके रनवे को नियंत्रित करती है। खोज और प्रतिस्थापित करने के लिए सामान्य वाक्यविन्यास है ।id:3:initdefault:/etc/inittabseds/pattern/replacement_pattern/
  • -iविकल्प बताता है sedजगह में संशोधन लागू करने के लिए। यदि यह मौजूद नहीं थे, sedतो टर्मिनल में परिणामी फ़ाइल (प्रतिस्थापन के बाद) और अधिक आम तौर पर मानक आउटपुट के लिए आउटपुट होगा।

अद्यतन करें

टेक्स्ट मोड पर वापस जाने के लिए, बस CTRL+ ALT+ दबाएँ F1। यह आपके चित्रमय सत्र को नहीं रोकेगा, यह बस आपको उस टर्मिनल पर वापस ले जाएगा जिसे आपने लॉग इन किया था। आप CTRL+ ALT+ के साथ ग्राफिकल सत्र पर वापस जा सकते हैं F7


जवाब के लिए धन्यवाद। इसके अलावा, जब मैं GUI पर स्विच करता हूं तो मैं startxकमांड लाइन पर वापस कैसे आ सकता हूं?
आप चिंता मत करो बाल

1
@ 0xF1 sedकमांड के लिए एक स्पष्टीकरण जोड़ा गया ।
जोसेफ आर।

1
मैं आमतौर sedपर कॉन्फ़िगरेशन फ़ाइलों का उपयोग करने के खिलाफ सलाह देता हूं , जब तक कि आप वास्तव में नहीं जानते कि आप क्या कर रहे हैं। विचाराधीन लाइन भी एक टिप्पणी हो सकती है और फिर भी अभी भी बदल जाएगी। इसलिए नियमित अभिव्यक्ति अधिक सटीक होनी चाहिए, कम से कम id:...लाइन की शुरुआत में स्ट्रिंग की आवश्यकता होती है । चूंकि मैन पेज इस बारे में कुछ नहीं कहता है कि श्वेत रिक्त स्थान का इलाज कैसे किया जाता है, आप शायद उपयोग करना चाहते हैं s/^ *id:5:initdefault:(जिसमें Tabचरित्र शामिल नहीं है, वैसे)।
पीटरफ

1
यह उत्तर अब मान्य नहीं है, कम से कम मेरे वर्तमान OS पर। नीचे @ golem के उत्तर पर एक नज़र डालें। मेरे लिए यही काम किया। मैं फेडोरा 27 का उपयोग कर रहा हूं।
लांस

1
@ लांस बहुत अच्छा बिंदु। सूचना के लिए धन्यवाद। मैंने अपना उत्तर अपडेट कर दिया है।
जोसेफ आर।

25

RedHat / CentOS 7 के लिए अपडेट करें जो sysvinit से सिस्टमड पर स्विच किया गया है।

GUI से CLI पर जाने के लिए: systemctl isolate multi-user.target

सीएलआई से GUI पर स्विच करने के लिए: systemctl isolate graphical.target

सीएलआई को एक डिफ़ॉल्ट रनलेवल ( सिस्टमड शब्दावली में लक्ष्य ) के रूप में सेट करने के लिए systemctl set-default multi-user.target:। GUI के लिए अनुरूप:systemctl set-default graphical.target

* CLI = कमांड लाइन इंटरफ़ेस = कमांड-लाइन मोड



2
धन्यवाद .. हर मंच अभी भी पुराने ज्ञान / / / initab के बारे में डंपिंग कर रहा है, भले ही यह अप्रचलित हो।
शशांक व्यास

11

पहले उपयोगकर्ता को रूट करने के लिए स्विच करें।

su -
Password:

रूट पासवर्ड दर्ज करें।

इस पंक्ति को संशोधित करने के लिए अपने पसंदीदा संपादक का उपयोग करें /etc/inittab:

id:5:initdefault:

5 से 3 को बदलें। जब आप कंप्यूटर को बूट करते हैं तो यह आपको GUI के बजाय कमांड लाइन में ले जाएगा।


कृपया इस बारे में निर्देश शामिल करें कि ओपी को रूट के रूप में और किस फाइल को करना चाहिए। यह जवाब, जैसा कि यह खड़ा है, किसी ऐसे व्यक्ति की मदद करने के लिए फिट नहीं है जो लिनक्स के लिए नया है।
जोसेफ आर।

1
मेरे ओवरसाइट को इंगित करने के लिए धन्यवाद। मैंने उसी के अनुसार उत्तर संपादित किया है।
टिमोथी मार्टिन

इसका मतलब यह है कि जीयूआई नहीं चल रहा है, या यह छिपा हुआ है?
एरोन फ्रेंके

@AaronFranke Redhat सिस्टम के लिए रन लेवल 3 में GUI सक्षम नहीं है (या रिबूट के बिना रनवेवेल 5 से 3 पर स्विच किए गए सिस्टम के मामले में बंद है)।
टिमोथी मार्टिन

3

बदलने के अलावा /etc/inittab, आप कर्नेल को उसकी कमांड लाइन पर यह भी बता सकते हैं कि initएक बार शुरू करने के बाद लक्ष्य रनले को क्या करना चाहिए । यह केवल कमांड लाइन के लिए वांछित रनवे को जोड़कर किया जाता है (यह मेरा मानना ​​है कि अंतिम तर्क होना चाहिए)।

आप इसे बूट के दौरान एक-बंद चीज़ के रूप में कर सकते हैं, बशर्ते आपका बूटलोडर आपको कर्नेल कमांड लाइन को बदलने की अनुमति देता है, या आप बूटलोडर कॉन्फ़िगरेशन में प्रविष्टि को डुप्लिकेट कर सकते हैं और बूट करते समय सही को चुन सकते हैं (उपयोगी जब आप बूट कर रहे हों रनलेवल्स अक्सर)।

systemdप्रक्रिया का उपयोग करने वाली प्रणालियों के लिए समान है, लेकिन इसका मतलब है कि मैजिक स्ट्रिंग कर्नेल कमांड लाइन के रूप में जोड़ा गया है systemd.unit=desired.target

के रूप में startx, यह भी एक अप्रयुक्त एक्स डिस्प्ले नंबर देकर अतिरिक्त सत्र शुरू कर सकते हैं (नंबर 0 से शुरू होता है): startx -- :1प्रदर्शन पर एक्स सर्वर शुरू हो जाएगा: 1, यह पहली अप्रयुक्त VT (अक्सर VT8, पहले 6 में आमतौर पर लिनक्स हैं) कंसोल और 7 का उपयोग पहले चलने वाले X सत्र द्वारा किया जाता है)। ध्यान दें कि एक्स सर्वर को आमतौर पर रूट विशेषाधिकारों की आवश्यकता होती है, इसलिए आपको या तो ऐसा करना होगा root(जो कि एक अच्छा विचार नहीं है), या बाइनरी को सेटुइड रूट करना होगा (इसके लिए प्रदर्शन प्रबंधक का उपयोग करके इसे सामान्य रूप से हटा दिया जाता है)।


+1 महान जवाब। हालांकि बहुत नौसिखिया के अनुकूल नहीं है।
जोसेफ आर।

हां, बदलना inittabबहुत मायने रखता है, क्योंकि आमतौर पर सिस्टम को हर समय उसी स्थिति में लाना चाहता है।
पीटरफ

2

एक तरफ ध्यान दें, यदि आप पहले से ही चित्रमय मोड में हटा दिया गया और गए पाठ मोड में स्विच करना चाहते हैं, तो आप सिर्फ प्रेस सकता है Ctrl+ Alt+ F1और से ग्राफिकल मोड के लिए फिर से वापस Ctrl+ Alt+ F7

लिनक्स में डिफ़ॉल्ट 6 टेक्स्ट टर्मिनल और 1 ग्राफिकल टर्मिनल है। आप Ctrl+ Alt+ दबाकर इन टर्मिनलों के बीच स्विच कर सकते हैं Fnn1-7 से बदलें । F7यदि आप रन लेवल 5 में बूट हो गए हैं या केवल X का उपयोग कर रहे हैं, तो आप इसे केवल startxकमांड मोड में ले जाएंगे ; अन्यथा, यह सिर्फ एक रिक्त स्क्रीन दिखाएगा F7


आरएचईएल 7 में यह काम दिखाओ?
javapowered

1

यहां तक ​​कि एक बहुत पुराना धागा होने के नाते, उपयोगी हो सकता है। उपयोग करने वाले सिस्टम पर systemd, / etc / inittab अब उपयोग में नहीं है। विधि काफी सरल है:

टर्मिनल मोड

ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

ग्राफिक मोड

ln -sf /lib/systemd/system/graphical.target  /etc/systemd/system/default.target

0

अपने पसंदीदा पाठ संपादक (जैसा कि पहले कहा गया था) का उपयोग करने id:3:initdefault:में डिफ़ॉल्ट रनलेवल को बदलने के बाद /etc/inittab, यह बहुत महत्वपूर्ण जांच है कि क्या आपके सिस्टम में कुछ प्लायमाउथ (स्प्लैश स्क्रीन) स्थापित है। इस मामले में, इसकी स्थापना को हटाने की आवश्यकता होगी, या अपने पसंदीदा टेक्स्ट एडिटर (vim, pico, या अन्य) का उपयोग करके बस आपसे / / boot/grub/grub.cfg से स्प्लैश कीवर्ड को हटा दें। प्लायमाउथ को हटाने के लिए:

sudo apt-get remove --purge plymouth

अपना grub.cfg संपादित करें:

sudo vim /boot/grub/grub.cfg

अंत में, ग्रब कॉन्फ़िगरेशन अपग्रेड करें:

sudo update-initramfs -u

अगले बूट में, आपके पास सिर्फ टेक्स्ट मोड लॉगिन स्क्रीन होगी। बस।

लिनक्स बॉक्स का आनंद लें!


-1

डिफॉल्ट्स द्वारा ओरेकल-लाइनक्स 7 इंस्टॉलेशन न्यूनतम इंस्टॉलेशन विकल्प लेता है। आपको इसे स्थापना के समय GUI मोड के साथ इंस्टॉलेशन में बदलना होगा। इसने ग्राफ़िकल यूज़र मोड का उपयोग न कर पाने पर मेरी समस्या को हल कर दिया है।


ऐसा लगता है कि आपके पास ओपी का अनुरोध पीछे की ओर है। ओपी सीएलआई के लिए संघर्ष कर रहा है, जीयूआई के लिए नहीं।
HalosGhost

-1

मैंने systemctl, update-rc.d और यहां तक ​​कि GRUB कॉन्फिग को एडिट करने की कोशिश की है, लेकिन कुछ भी काम नहीं किया। तब मैंने / आदि / X11 / डिफ़ॉल्ट-डिस्प्ले-मैनेजर में डिफ़ॉल्ट डिस्प्ले मैनेजर पर टिप्पणी की, रिबूट किया और अंत में: टर्मिनल !!!! यह इतना सरल है!


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