2012-11-10 6 views
7

Wie kann ich hole den Titel einer screen Sitzung von der Befehlszeile bekommen?Wie Linux-Bildschirm Titel von der Kommandozeile

+7

Willkommen bei StackOverflow, Kristian. Um der Struktur der Site zu entsprechen, formulieren Sie das Problem bitte in Form einer Frage um und posten Sie anschließend Ihre Lösung. – unutbu

+1

Ich habe Ihren Beitrag für Sie bearbeitet. Schneide alles unter der horizontalen Linie aus und füge es in eine Antwort in das Feld darunter ein. – Eric

+1

auch, bitte entfernen Sie die "Linux" -Tag und Text. Dies ist nicht spezifisch für Linux –

Antwort

1

Ich kam mit einem sehr kleinen und einfachen Python-Skript oben mit pexpect es zu tun.

Es ist praktisch, in Multi-User-Umgebungen, in denen einige Host reserviert ist und den Status-Bildschirm Titel durch den Benutzer geschrieben wird. Es funktioniert für mich, fühlen sich frei, um es besser zu machen. Um bestimmte Sitzung Titel zu holen, müssen Sie das Skript ändern und für eine korrekte Sitzung aufrufen.

Wenn Sie diese Remoteverbindung als lokales Skript (z. B. über SSH) ausführen, denken Sie daran, vor der Ausführung export TERM=xterm festzulegen.

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' 
Verwandte Themen