如何从命令行获取Linux屏幕标题

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

7
欢迎来到StackOverflow,Kristian。为了符合网站的结构,请将问题重新表述成一个问题的形式,然后在下面发布您的解决方案。 - unutbu
1
我已经为您编辑了帖子。剪切掉下面的水平线以下的所有内容,并将其粘贴到下面的答案框中。 - Eric
1
另外,请删除“Linux”标签和文本。这不是特定于Linux的。 - Good Person
1个回答

1

我用pexpect编写了一个非常小而简单的Python脚本来完成它。

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

如果您通过远程连接作为本地脚本运行此脚本(例如通过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'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接