2012-11-10 6 views
7

screenセッションのタイトルをコマンドラインから取得するにはどうすればよいですか?コマンドラインからlinuxの画面タイトルを取得する方法

+7

KristianのStackOverflowへようこそ。サイトの構造に合わせるには、問題の形で問題を言い換えて、ソリューションを以下に投稿してください。 – unutbu

+1

投稿を編集しました。水平線の下のすべてを切り取り、下のボックスに答えに貼り付けます。 – Eric

+1

また、 "linux"タグとテキストを削除してください。これはLinux固有のものではありません –

答えて

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' 
関連する問題