मैं अपने VM में 32-बिट Red Hat Linux का उपयोग कर रहा हूं। मैं इसे कमांड-लाइन मोड पर बूट करना चाहता हूं, GUI मोड में नहीं। मुझे पता है कि मैं startx
कमांड का उपयोग करके GUI मोड में जा सकता हूं । मैं कमांड-लाइन मोड पर वापस कैसे लौटूँ?
मैं अपने VM में 32-बिट Red Hat Linux का उपयोग कर रहा हूं। मैं इसे कमांड-लाइन मोड पर बूट करना चाहता हूं, GUI मोड में नहीं। मुझे पता है कि मैं startx
कमांड का उपयोग करके GUI मोड में जा सकता हूं । मैं कमांड-लाइन मोड पर वापस कैसे लौटूँ?
जवाबों:
अद्यतन: नीचे दिया गया उत्तर अब अप्रचलित है
अब बहुत सारे विकृतियों के लिए, डिफ़ॉल्ट 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/inittab
sed
s/pattern/replacement_pattern/
-i
विकल्प बताता है sed
जगह में संशोधन लागू करने के लिए। यदि यह मौजूद नहीं थे, sed
तो टर्मिनल में परिणामी फ़ाइल (प्रतिस्थापन के बाद) और अधिक आम तौर पर मानक आउटपुट के लिए आउटपुट होगा।अद्यतन करें
टेक्स्ट मोड पर वापस जाने के लिए, बस CTRL+ ALT+ दबाएँ F1। यह आपके चित्रमय सत्र को नहीं रोकेगा, यह बस आपको उस टर्मिनल पर वापस ले जाएगा जिसे आपने लॉग इन किया था। आप CTRL+ ALT+ के साथ ग्राफिकल सत्र पर वापस जा सकते हैं F7।
sed
कमांड के लिए एक स्पष्टीकरण जोड़ा गया ।
sed
पर कॉन्फ़िगरेशन फ़ाइलों का उपयोग करने के खिलाफ सलाह देता हूं , जब तक कि आप वास्तव में नहीं जानते कि आप क्या कर रहे हैं। विचाराधीन लाइन भी एक टिप्पणी हो सकती है और फिर भी अभी भी बदल जाएगी। इसलिए नियमित अभिव्यक्ति अधिक सटीक होनी चाहिए, कम से कम id:...
लाइन की शुरुआत में स्ट्रिंग की आवश्यकता होती है । चूंकि मैन पेज इस बारे में कुछ नहीं कहता है कि श्वेत रिक्त स्थान का इलाज कैसे किया जाता है, आप शायद उपयोग करना चाहते हैं s/^ *id:5:initdefault:
(जिसमें Tab
चरित्र शामिल नहीं है, वैसे)।
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 = कमांड लाइन इंटरफ़ेस = कमांड-लाइन मोड
पहले उपयोगकर्ता को रूट करने के लिए स्विच करें।
su -
Password:
रूट पासवर्ड दर्ज करें।
इस पंक्ति को संशोधित करने के लिए अपने पसंदीदा संपादक का उपयोग करें /etc/inittab
:
id:5:initdefault:
5 से 3 को बदलें। जब आप कंप्यूटर को बूट करते हैं तो यह आपको GUI के बजाय कमांड लाइन में ले जाएगा।
बदलने के अलावा /etc/inittab
, आप कर्नेल को उसकी कमांड लाइन पर यह भी बता सकते हैं कि init
एक बार शुरू करने के बाद लक्ष्य रनले को क्या करना चाहिए । यह केवल कमांड लाइन के लिए वांछित रनवे को जोड़कर किया जाता है (यह मेरा मानना है कि अंतिम तर्क होना चाहिए)।
आप इसे बूट के दौरान एक-बंद चीज़ के रूप में कर सकते हैं, बशर्ते आपका बूटलोडर आपको कर्नेल कमांड लाइन को बदलने की अनुमति देता है, या आप बूटलोडर कॉन्फ़िगरेशन में प्रविष्टि को डुप्लिकेट कर सकते हैं और बूट करते समय सही को चुन सकते हैं (उपयोगी जब आप बूट कर रहे हों रनलेवल्स अक्सर)।
systemd
प्रक्रिया का उपयोग करने वाली प्रणालियों के लिए समान है, लेकिन इसका मतलब है कि मैजिक स्ट्रिंग कर्नेल कमांड लाइन के रूप में जोड़ा गया है systemd.unit=desired.target
।
के रूप में startx
, यह भी एक अप्रयुक्त एक्स डिस्प्ले नंबर देकर अतिरिक्त सत्र शुरू कर सकते हैं (नंबर 0 से शुरू होता है): startx -- :1
प्रदर्शन पर एक्स सर्वर शुरू हो जाएगा: 1, यह पहली अप्रयुक्त VT (अक्सर VT8, पहले 6 में आमतौर पर लिनक्स हैं) कंसोल और 7 का उपयोग पहले चलने वाले X सत्र द्वारा किया जाता है)। ध्यान दें कि एक्स सर्वर को आमतौर पर रूट विशेषाधिकारों की आवश्यकता होती है, इसलिए आपको या तो ऐसा करना होगा root
(जो कि एक अच्छा विचार नहीं है), या बाइनरी को सेटुइड रूट करना होगा (इसके लिए प्रदर्शन प्रबंधक का उपयोग करके इसे सामान्य रूप से हटा दिया जाता है)।
inittab
बहुत मायने रखता है, क्योंकि आमतौर पर सिस्टम को हर समय उसी स्थिति में लाना चाहता है।
एक तरफ ध्यान दें, यदि आप पहले से ही चित्रमय मोड में हटा दिया गया और गए पाठ मोड में स्विच करना चाहते हैं, तो आप सिर्फ प्रेस सकता है Ctrl+ Alt+ F1और से ग्राफिकल मोड के लिए फिर से वापस Ctrl+ Alt+ F7।
लिनक्स में डिफ़ॉल्ट 6 टेक्स्ट टर्मिनल और 1 ग्राफिकल टर्मिनल है। आप Ctrl+ Alt+ दबाकर इन टर्मिनलों के बीच स्विच कर सकते हैं Fn। n
1-7 से बदलें । F7यदि आप रन लेवल 5 में बूट हो गए हैं या केवल X का उपयोग कर रहे हैं, तो आप इसे केवल startx
कमांड मोड में ले जाएंगे ; अन्यथा, यह सिर्फ एक रिक्त स्क्रीन दिखाएगा F7।
यहां तक कि एक बहुत पुराना धागा होने के नाते, उपयोगी हो सकता है। उपयोग करने वाले सिस्टम पर 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
अपने पसंदीदा पाठ संपादक (जैसा कि पहले कहा गया था) का उपयोग करने 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
अगले बूट में, आपके पास सिर्फ टेक्स्ट मोड लॉगिन स्क्रीन होगी। बस।
लिनक्स बॉक्स का आनंद लें!
डिफॉल्ट्स द्वारा ओरेकल-लाइनक्स 7 इंस्टॉलेशन न्यूनतम इंस्टॉलेशन विकल्प लेता है। आपको इसे स्थापना के समय GUI मोड के साथ इंस्टॉलेशन में बदलना होगा। इसने ग्राफ़िकल यूज़र मोड का उपयोग न कर पाने पर मेरी समस्या को हल कर दिया है।
उपयोग
systemctl set-default multi-user.target
और VM को रीबूट करें। VM CLI मोड में मिलेगा।
startx
कमांड लाइन पर वापस कैसे आ सकता हूं?