मैं दूसरे SSH सत्र से स्क्रीन को कैसे अलग कर सकता हूं?


158

मेरे पास SSH सत्र के अंदर स्क्रीन चल रही थी। टर्मिनल जम गया। टर्मिनल को पुनः आरंभ करने के बाद, स्क्रीन सत्र अभी भी लगता है कि यह संलग्न है। एसा हो सकता हे। शायद मैं वास्तव में नहीं जानता कि इसका क्या मतलब है।

मैं उस स्क्रीन सत्र को नए SSH लॉगिन से संलग्न करना चाहूंगा। मैं उस स्क्रीन सेशन को मारना नहीं चाहता क्योंकि वहां पर महत्वपूर्ण चीजें हो रही हैं। :)

मुझे लगता है कि विकल्प मेरे पास है (जिनमें से कोई भी मुझे पता है कि कैसे हल करना है):

  • मैं उस स्क्रीन सत्र को कैसे अलग करूं?
  • मैं SSH सत्र को कैसे मार सकता हूं जो उस स्क्रीन सत्र से जुड़ा हुआ है?

जवाबों:


252

जैसा कि जोस ने उत्तर दिया, screen -d -rचाल चलनी चाहिए। यह दो कमांड का संयोजन है, जैसा कि मैन पेज से लिया गया है।

screen -dपहले से चल रहे स्क्रीन सत्र को समाप्त कर देता है, और screen -rमौजूदा सत्र को फिर से सेट करता है। दौड़कर screen -d -r, आप स्क्रीन को इसे अलग करने के लिए मजबूर करते हैं और फिर सत्र को फिर से शुरू करते हैं।

यदि आप पूंजी का उपयोग करते हैं -D -RR, तो मैं मैन पेज को उद्धृत करता हूं क्योंकि यह पास होने के लिए बहुत अच्छा है।

यहां और अभी संलग्न करें। इसका जो भी मतलब हो, बस करो।

नोट: "स्क्रीन-लिस्ट" के माध्यम से अपने सत्रों की स्थिति की जांच करना हमेशा एक अच्छा विचार है।


3
आप ऐसा भी कर सकते हैं screen -xजो टाइप करने के लिए तेज़ है, लेकिन पूरी तरह से समकक्ष नहीं है। यह सत्र को दूसरी बार पहले से अलग किए बिना संलग्न करेगा, जिसके परिणामस्वरूप बहु प्रदर्शन मोड होगा।
jlh

10
"स्क्रीन डॉक्टर" याद रखें; screen -Dr
user5359531


6

संक्षिप्त जवाब

  1. दूसरों को बेदखल किए बिना रिटेट: screen -x
  2. डिस्प्ले की सूची प्राप्त करें: ^A *डिस्कनेक्ट करने के लिए एक का चयन करें, दबाएंd


समझाया गया जवाब

पृष्ठभूमि: जब मैं उसी समस्या के विवरण के साथ समाधान की तलाश कर रहा था, तो मैं हमेशा इस जवाब पर उतरा हूं। मैं अधिक समझदार समाधान प्रदान करना चाहूंगा। (उदाहरण के लिए: अन्य संलग्न स्क्रीन का आकार अलग है और मैं इसे अपने टर्मिनल में आकार बदलने के लिए बाध्य नहीं कर सकता।)

नोट: PREFIX आमतौर पर ^A= हैctrl+a

नोट: प्रदर्शन भी कहा जा सकता है:

  • "यूजर फ्रंट-एंड" ( atस्क्रीन में कमांड मैनुअल)
  • "ग्राहक" (tmux शब्दावली जहां यह कार्यक्षमता है detach-client)
  • "टर्मिनल" (जैसा कि हम अपने यूजर इंटरफेस में विंडो कहते हैं) / पर निर्भर करता है

1. रीटचैच एक सत्र :screen -x

-x संलग्न नहीं स्क्रीन सत्र के लिए बिना डिटैच किए हुए

2. सूची प्रदर्शित करता है इस सत्र की :PREFIX *

यह डिफ़ॉल्ट कुंजी के लिए बाध्यकारी है PREFIX :displays:। इसे स्क्रीन के भीतर प्रदर्शन करते हुए, दूसरे डिस्प्ले की पहचान करें जिसे हम डिस्कनेक्ट करना चाहते हैं (जैसे छोटे आकार)। ( चयनित नहीं होने पर आपका वर्तमान प्रदर्शन शानदार रंग / बोल्ड में प्रदर्शित होता है )।

term-type   size         user interface           window       Perms
---------- ------- ---------- ----------------- ----------     -----
 screen     240x60         you@/dev/pts/2      nb  0(zsh)        rwx
 screen      78x40         you@/dev/pts/0      nb  0(zsh)        rwx

तीर का उपयोग करना , लक्षित का चयन करें प्रदर्शन का , दबाएं d यदि कुछ नहीं होता है, तो आपने अपने स्वयं के प्रदर्शन को अलग करने की कोशिश की और स्क्रीन इसे अलग नहीं करेगी। यदि यह एक या एक था, एक या दो के भीतर, प्रविष्टि गायब हो जाएगी।

दबाएँ ENTERलिस्टिंग छोड़ने के लिए ।

वैकल्पिक रूप से: सामग्री को आपकी स्क्रीन पर फिट करने के लिए, reflow :PREFIX F (अपरकेस एफ)

स्क्रीन के मैन पेज से अंश:

प्रदर्शित करता है

वर्तमान में कनेक्ट किए गए उपयोगकर्ता फ्रंट-एंड (प्रदर्शित) सभी की एक सारणीबद्ध सूची दिखाता है। यह बहुउद्देशीय सत्रों के लिए सबसे उपयोगी है। निम्न कुंजियों का उपयोग प्रदर्शन सूची में किया जा सकता है:

  • mouseclickचयनित लाइन पर जाएं। जब "मूसट्रैक" चालू हो तो उपलब्ध।
  • space सूची को ताज़ा करें
  • d उस प्रदर्शन को अलग करें
  • D उस डिस्प्ले को पावर डिटैच करें
  • C-g, enterया escapeसूची से बाहर निकलें

-2

आदेश का प्रयास करें screen -d -rयह मेरे लिए काम किया ..!


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