2012-05-15 20 views
6

मेरे पास कई विंडो के साथ एक स्क्रीन सत्र चल रहा है। मैं इसे संलग्न करना चाहता हूं, इसके अंदर एक नई स्क्रीन विंडो बनाएं और उस नई विंडो में एक खोल शुरू करें।नई स्क्रीन विंडो बनाने के साथ 'स्क्रीन' सत्र से जुड़ें

प्रश्न: मैं स्क्रीन सत्र के बाहर कमांड लाइन से यह कैसे कर सकता हूं?

मैंने पहले से ही बहुत कोशिश की है, ई। जी। screen -x (लेकिन यह मौजूदा स्क्रीन विंडो में से एक से जुड़ा हुआ है; यह एक नया नहीं बनाता है और न ही यह एक नया खोल शुरू करता है)। किसी भी संकेत का स्वागत है।

पर्यावरण लिनक्स (उबंटू 12.04) है।

+0

लगता है इसे करने का कोई मानक तरीका मौजूद है। आप [मेलिंग सूची] में खोज सकते हैं (http://lists.gnu.org/archive/html/screen-users/) – tuxuday

+0

मैं इसे एक उत्तर के रूप में स्वीकार कर लेता क्योंकि मुझे वहां कुछ मिला, धन्यवाद! :) – Alfe

+0

@ अगर आपको उचित उत्तर मिल गया है, तो इसे स्वयं पोस्ट करें। थोड़ी देर के बाद आपको अपना उत्तर स्वीकार करने की अनुमति है यदि यह उचित उत्तर है। इसके अलावा मैं उत्सुक हूं: पी – KurzedMetal

उत्तर

6

मैं मेलिंग सूची पर कुछ पाया, धन्यवाद आप tuxuday :)

मैं अब इस तरह से कर रहा हूँ:

#!/bin/bash 
screen -X screen -t NEWWINDOW # create new window (switches existing attached terminal) 
sleep 0.1 
screen -X other # switch existing attached terminal back to its old window 
sleep 0.1 
gnome-terminal -e 'screen -x -p NEWWINDOW' # connect to new window 

मैं उन सोता के बारे में यकीन नहीं है, हो सकता है वे 'नहीं कर रहे सभी वातावरण में जरूरी नहीं है, लेकिन मैं उन 0.2s को आसानी से इंतजार कर सकता हूं।

मेरा .bash_aliases देरी के साथ स्क्रीन विंडो शीर्षक बदल रहा है, इसलिए अजीब NEWWINDOW लंबे समय तक नहीं टिकेगा (और इस प्रकार इस स्क्रिप्ट को और कॉल में बाधा नहीं डालेगा)।

+2

मेलिंग सूची से मिली चाल 'स्क्रीन-एक्स अन्य' थी। – Alfe

+1

इस [ब्लॉग एंट्री] पर एक नज़र डालें (https://rohieb.wordpress.com/2010/07/30/gnu-screen-start-with-multiple-windows-and-commands/)। यह एक सत्र कमांड फ़ाइल का उपयोग करने की सिफारिश करता है (केवल 'स्क्रीन', 'चयन' और' अन्य' जैसे सभी आदेशों वाली एक फ़ाइल) और 'स्क्रीन-एक्स' कई बार कॉल करने के बजाय 'स्क्रीन-एक्स स्रोत सत्रफाइल' चलाएं।अच्छा दृष्टिकोण – KurzedMetal

+0

मैं सिर्फ स्क्रीन-एक्स 'को दो बार बुला रहा हूं ... लेकिन यदि वह स्क्रिप्ट बढ़ती है, तो सत्र कमांड फ़ाइल दृष्टिकोण निश्चित रूप से देखने के लायक है :) – Alfe

3

sesion_name करने के लिए नए अलग खिड़की जोड़ें और command

screen -S sesion_name -x -X screen bash -c 'command; exec bash' 
2

शामिल होने के लिए एक खिड़की चुनने के लिए, -p विकल्प का उपयोग चलाते हैं। + देते एक नया एक बन जाएगा, ताकि अपने आदेश बस है:

screen -x session_name -p + 

यह आदमी पृष्ठ पर दर्ज है:

-pn ̲ यू ̲ मीटर ̲ ख ̲ ई ̲ आर ̲ _o ̲ आर ̲ _n ̲ ̲ एम ̲ ई ̲ | ̲ - ̲ | ̲ = ̲ | ̲ + ̲

Preselect a window. This is useful when you want to reattach to a 
specific windor or you want to send a command via the "-X" option 
to a specific window. As with screen's select commant, "-" selects 
the blank window. As a special case for reattach, "=" brings up the 
windowlist on the blank window. 
+0

मैंने अपने मैनपेज को फिर से देखा (संस्करण 4.00.03jw4) और केवल '-p number_or_name' पाया ('| - | = | +' नहीं)। फिर मैंने थोड़ा नया संस्करण देखा (4.01.00 डिवेल) और अपनी synopsis लाइन पाई। उलझन में यह है कि आपके द्वारा चिपकाया गया पाठ पुराने आदमी पृष्ठ से आता है ('+' के बारे में कुछ भी नहीं बताता है) जबकि मेरे परीक्षणों में नए मैनपेज में '+ ':' ... का वर्णन करने वाला यह अतिरिक्त पाठ था, जबकि एक "+" एक नया बना देगा खिड़की। अगर निर्दिष्ट विंडो नहीं मिल सका तो आदेश निष्पादित नहीं किया जाएगा। 'तो यह एक नया विकल्प है! इसे इंगित करने के लिए धन्यवाद, मुझे लगता है कि यह मेरी समस्या हल करता है। – Alfe