7

如何screen从命令行获取会话的标题?

4

1 回答 1

1

我想出了一个非常小而简单的python脚本pexpect来做这件事。

在保留某些主机并且用户将状态写入屏幕标题的多用户环境中,它很方便。它对我有用,请随时使它变得更好。为了获取特定的会话标题,您需要修改脚本并调用正确的会话。

如果您通过远程连接作为本地脚本运行它(例如通过 SSH),请记住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'
于 2012-11-13T18:09:03.387 回答