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
A
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'
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
Ho modificato il tuo post per te. Taglia tutto sotto la linea orizzontale e incollalo in una risposta nella casella sottostante. – Eric
inoltre, rimuovere il tag e il testo "linux". Questo non è specifico per Linux –