मैं वर्तमान में किस tty का उपयोग कर रहा हूँ?


22

7 टर्मिनल हैं जो हमारे सिस्टम में उपयोग किए जा सकते हैं। tty7जीयूआई आधारित है।

मैं यह कैसे जान सकता हूं कि मैं वर्तमान में किस tty का उपयोग कर रहा हूं?

जैसे, tty1, tty2 .... tty6?


आप क्यों दावा कर रहे हैं कि यह टिप्पणियों में एक "पीटीएस" है? जो आप यहां पूछते हैं उससे बिल्कुल अलग है। एक जीयूआई में सत्र एक tty नहीं है।
रिनजविंड

1
मैं इस अवधारणा के बारे में उलझन में हूं, इसीलिए
luv.preet

जवाबों:


30

इसका पता लगाने के कई तरीके हैं। मैं who am i(नहीं who) कमांड के साथ जाऊंगा :

$ who am i
ravexina    tty2        2017-04-10 11:19 (:0)

जब मैं चित्रमय टर्मिनल में होता हूं, तो यह कुछ इस तरह से लौटता है:

ravexina    pts/0        2017-04-10 1:19 (:0)

एसएफ सत्र के तहत एक ग्राफिकल टर्मिनल परिणाम का उपयोग करना समान है, लेकिन (: 0) के बजाय, मुझे मेरी मशीन आईपी (192.168.xx) मिलेगी। अन्य आदेशों की तरह w, who, pgrep,ps , आदि भी सहायक होते हैं।

उदाहरण के लिए यह जानने के लिए कि ttyमेरा ग्राफिकल इंटरफ़ेस किस पर चल रहा है:

ps $(pgrep Xorg)

जो मेरे मामले में, क्योंकि मैं किसी भी प्रदर्शन प्रबंधक जैसे कि gdm या स्लिम का उपयोग नहीं करता हूं, इसका उत्पादन होगा:

 PID  TTY      STAT   TIME COMMAND
 1693 tty1     Sl     0:05 /usr/lib/xorg/Xorg

4
+1, हालांकि मेट-टर्मिनल में who am iकुछ भी नहीं लौटता है, और whoamiवापस लौटता है zanna, (जबकि whoसभी सत्रों को वापस करता है (मुझे एक संबंधित प्रश्न याद है (जो अचूक साबित हुआ है) जहां हमने देखा कि विभिन्न एमुलेटर से अलग-अलग आउटपुट का उत्पादन किया गया who)।
ज़न्ना

ग्राफिकल हमेशा tty7 का उपयोग करेगा, क्योंकि यह केवल 1 है जो चित्रमय समर्थन प्रदान करता है
luv.preet

1
@ मैं खुद इस स्थिति से सामना करता हूं, लेकिन मुझे लगता है कि यह उल्लेख के लायक है।
रवेक्सिना

1
वैसे भी, who am iहमेशा एक vt में अच्छी तरह से काम करेगा, और pgrepबहुत स्मार्ट है (आप $()कमांड उप के लिए वाक्यविन्यास का उपयोग करना चाह सकते हैं - बैकटिक्स को मार्कडाउन में थोड़ा भ्रमित हो सकता है) इसलिए आपका उत्तर बहुत अच्छा है और जिसने भी इसे डाउन किया है उसे ऐसा नहीं करना चाहिए ...
ज़न्ना

1
@ luv.preet आपके प्रश्न के दायरे से बाहर है, लेकिन पीटी और ट्टी के बीच अंतर देखें :) - जिस पोस्ट का यह डुप्लिकेट है, उसका भयानक उत्तर है
Zanna

14

उपयोग ttyकमांड का ।

अगर मैं सही हूं तो यह संदर्भ है:

/dev/tty1 - tty1
/dev/tty2 - tty2
/dev/tty3 - tty3
/dev/tty4 - tty4
/dev/tty5 - tty5
/dev/tty6 - tty6

यह showinng pts / 18 है।
luv.preet 20

यह पीटीएसटी में चल सकता है, है ना? मुझे कैसे पता चलेगा?
luv.preet

5
@ luv.preet कि है अपने टर्मिनल। "पीटी और ट्टी के बीच अंतर" देखें ।
चाई टी। रेक्स

4
ptsइसका मतलब है कि आप GUI से या SSH के माध्यम से टर्मिनल का उपयोग कर रहे हैं
लिथियम_जेड 20

3
आपको उसके लिए एक नया प्रश्न पूछना होगा।
चाई टी। रेक्स

6

आइए एक कदम पीछे लें और भ्रम के साथ शुरू करें: क्या एक ट्टी है? मूल रूप से tty टेलेटाइप का एक संक्षिप्त नाम था जो ग्लास टेलेटाइप बन गया जो किसी भी टर्मिनल या एक से जुड़ने वाला बन गया, विशेष रूप से एक सीरियल पोर्ट (ये अभी भी आसपास हैं, सबसे सामान्य रूप से / देव / ttyS0, / dev / ttyUSB0 और कभी-कभी / देव / ttyacm0)। तब आपको छद्म ट्टी और वर्चुअल ट्टी मिली। पुराने यूनिक्स हाथ छद्म टिट्स से परिचित हैं जो इनका उपयोग दूरस्थ टर्मिनलों (ssh और टेलनेट), आभासी टर्मिनलों (xterm और जैसे), और टर्मिनल मल्टीप्लेक्सर्स (स्क्रीन और tmux) के लिए किया जाता है। छद्म ट्टी में समय के साथ विभिन्न नामकरण योजनाएं हैं, लेकिन वर्तमान में / dev / pts / 0 जैसे नामों का उपयोग किया जाता है। दूसरी ओर आभासी tty आभासी कंसोल के साथ जुड़े हुए हैं, विशेष रूप से जब आप नियंत्रण Alt फ़ंक्शन कुंजियों का उपयोग करते हैं तो आप आभासी कंसोल को स्विच कर रहे हैं, जिनमें से प्रत्येक को वर्चुअल tty के साथ जोड़ा जाता है।

इसलिए यदि आपको अपने छद्म ट्टी (या टेक्स्ट मोड का उपयोग करते समय आभासी tty) को खोजने की आवश्यकता है, तो सभी प्रकार के समाधान हैं जैसे who am iयाps ax|grep $$ ऐसा करना अपेक्षाकृत आसान है क्योंकि इसे खोजने के कई तरीके हैं जैसे कि छद्म ट्टी मानक पीआई पर खोले जाते हैं। ज्यादातर मामलों में और ऐसे अन्य तरीके हैं जो io के पुनर्निर्देशित होने पर भी काम करते हैं। जब तक आप ग्राफिकल टर्मिनल एमुलेटर या टर्मिनल मल्टीप्लेक्सर्स का उपयोग नहीं कर रहे हैं, तब तक पोर्ट पोर्ट और वर्चुअल ट्टी का उपयोग करते समय सही काम करने का भी फायदा है।

लेकिन क्या होगा अगर आप वर्चुअल कंसोल की पहचान करना चाहते हैं? sudo fgconsoleइंटरैक्टिव मामलों के लिए उपयोगी हो सकता है। या जो मैं करता हूं वह सिर्फ कंसोल चलता है क्योंकि स्विचिंग आमतौर पर काफी जल्दी होती है। मुझे एक प्रोग्रामेटिक विधि की जानकारी नहीं है जो गैर-सक्रिय या गैर-भूमिगत मामलों में मज़बूती से काम करती है।

आइए एक उदाहरण देखें जो गारंटी देता है कि वर्चुअल कंसोल का कभी मज़बूती से जवाब न दे सके। मैं (अल्फा) के सामने जिस कंप्यूटर पर बैठा हूं, उसमें tty2 (: 1) पर चलने वाला एक Xserver है, मेरे पास तीन विंडो खुली हैं दो xterms और एक vncviewer (ब्रावो से जुड़ा: 2)। एक xterm स्क्रीन चला रहा है, दूसरा ssh चार्ली चला रहा है। स्क्रीन में दो विंडो खुली हैं, ssh डेल्टा और जो (जो कॉलम दो में छद्म ट्टी की सही पहचान करता है और संकेत प्रदान करता है(:1:S0) स्तंभ पांच में हमें बताता है कि छद्म ट्टी पहले स्क्रीन सत्र से जुड़ा है जो दूसरे X सर्वर से जुड़ा है) लेकिन कोई वर्चुअल कंसोल जानकारी नहीं देता है)। रनिंग जो या तो ssh सत्र पर संकेत देता है(alpha)जो ssh सत्र से आई मशीन की पहचान करता है, जो दूरस्थ सत्रों के लिए तुलनात्मक रूप से अच्छा है। हालाँकि छद्म ट्टी (और बिल्कुल वर्चुअल कंसोल या यहां तक ​​कि रिमोट ट्टी की जानकारी उपलब्ध नहीं है) के बारे में बहुत कम जानकारी है, कम से कम दूरस्थ होस्ट की पहचान की जाती है। स्क्रीन के बारे में जानकारी गलत हो सकती है क्योंकि स्क्रीन सत्र वियोज्य हैं, और vnc बिल्कुल भी कोई उपयोगी जानकारी प्रदान नहीं करता है क्योंकि vnc सत्र और स्थानीय सत्र के बीच एकमात्र अंतर प्रदर्शन संख्या है। कई मामलों में आप मान सकते हैं कि: 0 tty7 पर है, लेकिन हमेशा नहीं, और कभी भी खदान पर नहीं है क्योंकि ब्रावो के पास ग्राफिक्स कार्ड बिल्कुल नहीं है और: 0 एक vnc सेशन है (जो भ्रमित करता है क्योंकि इसे लगता है कि यह स्थानीय कंसोल है) और कोई भी मशीन tty7 का उपयोग ग्राफिकल सेशन के रूप में नहीं करती है, क्योंकि मैं (न सिर्फ इसके विपरीत) tty7 में डंप लॉग (और tty5,) tty6, और tty8 भी) अन्य जगहों पर चित्रमय सत्रों को धार्मिक बनाना। लेकिन प्रतीक्षा स्क्रीन एक टर्मिनल कार्यक्रम के रूप में भी काम कर सकती है जो आपको एक धारावाहिक केबल पर एक सत्र स्थापित करने की अनुमति देता है। ऐसे सत्र की रिपोर्ट क्या है जो कब चलाया जाता है? क्यों शून्य लेकिन सीरियल पोर्ट चाहे वह vnc, xterm, ssh, स्क्रीन और एक usb सीरियल अडैप्टर के माध्यम से एक ही बार में हो या मेरे टेलीविडियो से जुड़ा हो।


6

जब आप एक tty के लिए लॉग इन करते हैं तो यह पता चलता है कि आप किस tty का उपयोग पहली लाइन पर अपने आप कर रहे हैं।


यदि दबाने कुंजीपटल संयोजन Ctrl+ Alt+ F3शो केवल एक काली स्क्रीन, जैसा कि आप एक टिप्पणी में लिखा है, वहाँ जब दबाए बिना कंप्यूटर बूट एक रूट खोल तक पहुंच पाना का एक वैकल्पिक तरीका है Ctrl+ Alt+ F3एक tty को लाने के लिए।

  1. बूट के दौरान BIOS / UEFI स्प्लैश स्क्रीन के तुरंत बाद, BIOS के साथ, जल्दी से Shiftकुंजी दबाएं और दबाए रखें , जो GNU GRUB मेनू लाएगा। (यदि आप उबंटू लोगो देखते हैं, तो आप उस बिंदु से चूक गए हैं जहां आप GRUB मेनू में प्रवेश कर सकते हैं।) UEFI प्रेस (शायद कई बार) के साथ GRUB मेनू में जाने के लिए Escकुंजी। कभी-कभी निर्माता की स्प्लैश स्क्रीन विंडोज बूटलोडर का एक हिस्सा होती है, इसलिए जब आप मशीन को पावर करते हैं तो यह सीधे GRUB स्क्रीन पर जाता है, और फिर दबाव Shiftअनावश्यक होता है।

  2. पहली बैंगनी GNU GRUB स्क्रीन से ↓ और with कुंजियों के साथ उबंटू के लिए उन्नत विकल्प चुनें और दबाएँ Enter। फिर आपको एक और बैंगनी GNU GRUB मेनू मेनू द्वारा संकेत दिया जाएगा जिसमें कर्नेल विकल्पों की एक सूची है।

  3. नीचे तीर कुंजी दबाएं जब तक आप शीर्ष से दूसरी प्रविष्टि ( विवरण में पुनर्प्राप्ति मोड के साथ ) का चयन करें और फिर दबाएं Enter

    अब आपको यह पुनर्प्राप्ति मेनू देखना चाहिए:

    वसूली मेनू

  4. तीर कुंजियों का उपयोग करके रूट करने के लिए नीचे स्क्रॉल करें और फिर दबाएँ Enter

    अब आपको रूट प्रॉम्प्ट, कुछ इस तरह से देखना चाहिए:

    root@ubuntu:~#
    
  5. इस स्तर पर आपके पास केवल-पढ़ने के लिए एक फ़ाइल सिस्टम होना चाहिए। आपको इसे लिखने की अनुमति के साथ रिमूव करना होगा:

    mount -o rw,remount /  
    

    अब आप कमांड को टर्मिनल में चला सकते हैं।


क्या यह हमेशा tty1 को खोलता है?
luv.preet 21

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

3

मुझे लगता है कि आप प्रदान किए गए अन्य उत्तरों की तुलना में कुछ और देख रहे हैं। sudo fgconsole पता लगाने के लिए चलाएं कि कौन सा असली ट्टी अब सक्रिय है।


@ कारेल ऐसी स्थिति की कल्पना करना आसान है जहां आप वर्तमान टीटीवाई घोषणा को याद करते हैं। उदाहरण के लिए आपका बैश प्रोफाइल स्क्रीन को साफ करता है। मैंने एक कमांड की पेशकश की जिसे कभी भी उपयोग किया जा सकता है, न कि लॉगिन के तुरंत बाद। WRT Ctrl + Alt + F1 काम नहीं कर रहा है - एक त्वरित समाधान है: chvt या openvt का उपयोग करें।
मारी अदाम

और BTW, इसे sudo के साथ चलाएं। इसलिए आपको त्रुटि मिली।
मारीण

1

कमांड ट्टी का उपयोग करें, यह लिनक्स और मैकओएस पर काम करता है और पढ़ने के लिए एक बहुत ही सरल आउटपुट देता है, केवल उस tty का नाम जो आप में हैं।

उदाहरण:

$ tty
/dev/pts/0

इसे स्क्रिप्ट करना या प्रॉम्प्ट में शामिल करना आसान है, उदाहरण:

$ PS1='`tty`: '
/dev/pts/0: _

इस तरह आप हमेशा जान पाएंगे कि आप किस टर्मिनल में हैं।


1

GUI को छोड़कर, जिस स्थिति में आपको एक pts मिलता है, यह आपके वांछित आउटपुट को दर्शाता है:

ls -l `tty` | awk '{print $10}'
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.