2012-11-10 4 views
7

명령 줄에서 screen 세션 제목을 가져올 수 있습니까?명령 줄에서 리눅스 화면 제목을 얻는 방법

+7

Kristian의 StackOverflow에 오신 것을 환영합니다. 사이트 구조와 일치 시키려면 문제를 질문 형식으로 다시 말한 다음 아래에 솔루션을 게시하십시오. – unutbu

+1

게시물을 편집했습니다. 수평선 아래의 모든 것을 잘라내어 아래 상자에 답안에 붙여 넣으십시오. – Eric

+1

또한 'linux'태그와 텍스트를 삭제하십시오. 이것은 Linux에만 국한되지 않습니다. –

답변

1

나는 매우 작고 간단한 파이썬 스크립트 (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' 
관련 문제