2012-11-10 18 views
7

से लिनक्स स्क्रीन शीर्षक कैसे प्राप्त करें I कमांड लाइन से screen सत्र का शीर्षक कैसे प्राप्त कर सकता हूं?कमांड लाइन

+7

स्टैक ओवरव्लो, क्रिस्टियन में आपका स्वागत है। साइट की संरचना के अनुरूप, कृपया किसी प्रश्न के रूप में समस्या को दोबारा दोहराएं, और फिर नीचे अपना समाधान पोस्ट करें। – unutbu

+1

मैंने आपके लिए अपनी पोस्ट संपादित की है। क्षैतिज रेखा के नीचे सब कुछ काट लें, और इसे नीचे दिए गए बॉक्स में एक उत्तर में पेस्ट करें। – Eric

+1

भी, कृपया "लिनक्स" टैग और टेक्स्ट हटा दें। यह लिनक्स के लिए विशिष्ट नहीं है –

उत्तर

1

मैं इसे करने के लिए pexpect के साथ एक बहुत छोटी और सरल पायथन लिपि के साथ आया था।

यह बहुउद्देशीय वातावरण में आसान है जहां कुछ होस्ट आरक्षित हैं और उपयोगकर्ता द्वारा स्क्रीन शीर्षक पर स्थिति लिखी जाती है। यह मेरे लिए काम करता है, इसे बेहतर बनाने के लिए स्वतंत्र महसूस करें। विशिष्ट सत्र शीर्षक लाने के लिए, आपको स्क्रिप्ट को संशोधित करने और सही सत्र के लिए कॉल करने की आवश्यकता है।

यदि आप स्थानीय स्क्रिप्ट (उदाहरण के लिए एसएसएच के माध्यम से) के रूप में रिमोट कनेक्शन के माध्यम से इसे चलाते हैं, तो निष्पादन से पहले export TERM=xterm सेट करना याद रखें।

try: 
    import pexpect 
    import sys 
    child=pexpect.spawn('screen -x') 
    child.sendcontrol('a'); 
    child.send('A'); 
    i = child.expect('Set window.*') 
    child.sendcontrol('c'); 
    child.sendcontrol('a'); 
    child.send('d'); 
    TITLE=str(child.after) 
    TITLE_P=TITLE.split('7m') 
    if str(TITLE_P[-1]) == '': 
     print 'Title not found' 
    else: 
     print str(TITLE_P[-1]) 
except: 
    print 'Could not check screen Title'