Ubuntu में chvt कमांड से वर्चुअल कंसोल कैसे बदलें

परिचय और वर्चुअल कंसोल की आवश्यकता

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

मौजूदा टर्मिनल सत्र और एक्टिव वर्चुअल कंसोल की पहचान करना

वर्तमान में सक्रिय मानक इनपुट से जुड़े टर्मिनल डिवाइस की पहचान के लिए tty कमांड निष्पादित की जाती है।
कमांड आउटपुट में मिलने वाला not a tty संदेश यह स्पष्ट करता है कि मौजूदा शेल सत्र किसी भौतिक वर्चुअल कंसोल (tty) अथवा स्यूडो टर्मिनल (pts) के बजाय एक गैर-इंटरैक्टिव वातावरण में कार्यरत है।

tty सत्र की स्थिति

सिस्टम में इस वक्त लॉगिन किए हुए उपयोगकर्ताओं तथा उनके सत्र टर्मिनल का विवरण जांचने के लिए who का उपयोग किया जाता है।
स्क्रीन पर कोई परिणाम प्रदर्शित न होना यह दर्शाता है कि बैकग्राउंड में इस समय कोई भी सक्रिय यूजर सत्र मौजूद नहीं है।

who कमांड द्वारा सक्रिय उपयोगकर्ता की जांच

वर्तमान में स्क्रीन पर प्रदर्शित हो रहे सक्रिय कंसोल नंबर का पता लगाने वाले fgconsole टूल की उपलब्धता जांचने तथा आवश्यकता पड़ने पर kbd पैकेज इंस्टॉल करने हेतु संबंधित कमांड निष्पादित की जाती है।

fgconsole और kbd पैकेज की उपलब्धता सुनिश्चित करना

fgconsole टूल सीधे उस वर्चुअल टर्मिनल की संख्या स्क्रीन पर दिखाता है जो इस समय एक्टिव है।
आउटपुट के रूप में आया 1 यह बताता है कि हमारा सिस्टम वर्तमान में पहले वर्चुअल कंसोल (tty1) पर केंद्रित है।

सक्रिय वर्चुअल कंसोल संख्या

chvt कमांड के जरिए TTY स्क्रीन के बीच अदला-बदली

कंसोल स्क्रीन बदलने के लिए जिम्मेदार chvt यूटिलिटी सिस्टम पर मौजूद है या नहीं, यह सुनिश्चित करने के लिए जांच प्रक्रिया चलाई जाती है और जरूरत होने पर kbd पैकेज को स्थापित किया जाता है।
आउटपुट में प्राप्त /usr/bin/chvt पाथ इंगित करता है कि बाइनरी पहले से ही सिस्टम में उपलब्ध है।

chvt कमांड की स्थापना स्थिति

chvt (change virtual terminal) कमांड निर्दिष्ट टर्मिनल संख्या पर सीधे स्क्रीन को ले जाने का काम करती है।
sudo chvt 1 कमांड एडमिनिस्ट्रेटर प्रिविलेज के साथ स्क्रीन को तुरंत प्रथम वर्चुअल कंसोल (tty1) पर निर्देशित करती है।
कमांड के सफलतापूर्वक चलने पर शेल में कोई अतिरिक्त संदेश नहीं आता, बल्कि डिस्प्ले सीधे लक्षित कंसोल पर पहुंच जाता है।

sudo chvt 1 द्वारा कंसोल 1 पर प्रस्थान

इसी प्रकार स्क्रीन को दूसरे वर्चुअल कंसोल (tty2) पर ले जाने के लिए sudo chvt 2 का इस्तेमाल किया जाता है।
उबंटू के डेस्कटॉप परिवेश में प्रायः पहले या दूसरे TTY पर ग्राफिकल एनवायरनमेंट या अतिरिक्त लॉगिन टर्मिनल सक्रिय रहता है, जिससे विभिन्न कार्यक्षेत्रों के बीच यह त्वरित आवागमन काफी उपयोगी साबित होता है।
बिना किसी त्रुटि संदेश के शांत निष्पादन यह प्रमाणित करता है कि कंसोल स्विचिंग निर्बाध रूप से संपन्न हो चुकी है।

sudo chvt 2 द्वारा कंसोल 2 पर जाना

नए वर्चुअल कंसोल पर बैकग्राउंड कमांड चलाना (openvt)

यदि आप मौजूदा टर्मिनल को रोके बिना किसी अप्रयुक्त अथवा निर्दिष्ट वर्चुअल कंसोल में नया टास्क शुरू करना चाहते हैं, तो openvt एक आदर्श माध्यम है।
उदाहरण के लिए, sudo openvt -c 3 -- ls -la /var/log कमांड तीसरे वर्चुअल कंसोल (tty3) को आरक्षित करके पृष्ठभूमि में /var/log डायरेक्टरी की फाइल सूची सूचीबद्ध करने का निर्देश देती है।
आदेश सही ढंग से लागू होने पर टर्मिनल में कोई आउटपुट नहीं आता, जिसका मतलब है कि कार्य निर्दिष्ट कंसोल को सफलतापूर्वक सौंप दिया गया है।

sudo openvt -c 3 द्वारा कार्य असाइन करना

इसके बाद तीसरे कंसोल पर चले कार्य का आउटपुट अपनी आंखों से देखने के लिए sudo chvt 3 कमांड चलाई जाती है।
यह एडमिनिस्ट्रेटर कमांड स्क्रीन फोकस को फौरन tty3 की ओर मोड़ देती है ताकि निष्पादित प्रक्रिया का नतीजा देखा जा सके।
कमांड प्रॉम्प्ट का शांत रहना यह दर्शाता है कि डिस्प्ले का स्विचिंग ऑपरेशन पूरी तरह सफल रहा है।

sudo chvt 3 द्वारा स्क्रीन 3 पर स्थानांतरण

अप्रयुक्त वर्चुअल कंसोल को रीसेट करना और मेमोरी रिलीज (deallocvt)

काम खत्म हो जाने के बाद सिस्टम रिसोर्स और कर्नेल मेमोरी को मुक्त कराने हेतु deallocvt कमांड का सहारा लिया जाता है।
जब आप sudo deallocvt 3 निष्पादित करते हैं, तो रूट अधिकारों के तहत तीसरे वर्चुअल कंसोल (tty3) से जुड़े कर्नेल मेमोरी आवंटन को डी-एलोकेट कर दिया जाता है।
किसी भी प्रकार की चेतावनी या एरर आउटपुट का न आना यह पुष्टि करता है कि कंसोल मेमोरी सफलतापूर्वक रिलीज हो चुकी है।

sudo deallocvt 3 द्वारा मेमोरी रिलीज करना

मेमोरी डी-एलोकेशन के उपरांत सिस्टम की वर्तमान स्थिति परखने के लिए पुनः fgconsole कमांड चलाकर सक्रिय कंसोल का नंबर जांचा जाता है।
परिणामस्वरूप प्रदर्शित अंक 3 यह दर्शाता है कि भले ही मेमोरी रिलीज कर दी गई हो, डिस्प्ले का सक्रिय फोकस अभी भी उसी 3 नंबर वर्चुअल कंसोल (tty3) पर बना हुआ है।

fgconsole द्वारा वर्तमान TTY स्थिति की जांच

इस गाइड में हमने उबंटू के अंतर्गत chvt, openvt, fgconsole और deallocvt जैसे महत्वपूर्ण टूल्स के जरिए वर्चुअल कंसोल को कुशलतापूर्वक प्रबंधित और नियंत्रित करने के तरीके सीखे हैं।
जब भी कभी आपका डेस्कटॉप एनवायरनमेंट अप्रत्याशित रूप से फ्रीज हो जाए या सर्वर ट्रबलशूटिंग करनी हो, तो ये तकनीकें बेहद मददगार साबित होंगी।