2012-11-10 16 views
7

Come posso recuperare il titolo di una sessione screen dalla riga di comando?Come ottenere il titolo della schermata di linux dalla riga di comando

+7

Benvenuti in StackOverflow, Kristian. Per conformarsi alla struttura del sito, si prega di riformulare il problema sotto forma di domanda, quindi di pubblicare la soluzione qui sotto. – unutbu

+1

Ho modificato il tuo post per te. Taglia tutto sotto la linea orizzontale e incollalo in una risposta nella casella sottostante. – Eric

+1

inoltre, rimuovere il tag e il testo "linux". Questo non è specifico per Linux –

risposta

1

Mi è venuto in mente uno script python molto piccolo e semplice con pexpect per farlo.

È utile in ambienti multiutente in cui alcuni host sono riservati e lo stato viene scritto sul titolo dello schermo per utente. Funziona per me, sentitevi liberi di migliorarlo. Per recuperare un titolo di sessione specifico, è necessario modificare lo script e chiamare per la sessione corretta.

Se si esegue questa operazione tramite connessione remota come script locale (tramite SSH ad esempio), ricordare di impostare export TERM=xterm prima dell'esecuzione.

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' 
Problemi correlati