Archive for the ‘screen’ tag
screen 상태표시줄에 세션 이름 표시하기
screen을 여러 세션을 쓰다보면 현재 어떤 세션에 있는지 헷갈린다. 지금만 봐도 세션을 열어놓은게 5개정도이고, 거기서 한 4~5개씩 윈도우를 열어넣고 있으니…
그래서 세션 이름을 상태줄에다 표시하는 방법을 찾아봤다.
screen이 실행하면 $STY 환경변수에 세션이름을 가지고 있는데, 이걸 표시하면 된다. 그런데 이걸 screenrc에 넣으면 표시가 안된다. 그래서 screen -X로 스크린에 명령을 직접 내리는 방식으로 변경했다.
if [ "$STY" != '' ]; then
_STY=`echo $STY | sed 's/^[0-9]*\.//'`
screen -X hardstatus alwayslastline "$_STY] %-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"
fi
훨씬 쾌적한 screen life!
netsted screen
screen 안에서 screen을 사용할 경우(방화벽을 통해서 들어가는 시스템… 등등)에 ctrl + a를 누르면 최초 실행한 screen이 이 명령을 먹어버린다.
그럼 screen 안의 screen에는 어떻게 명령을 내릴까? 아주 간단하다.
Ctrl + a, a 명령으로 내리면 된다. screen이 netsted된 횟수만큼 a를 누르고 다음 명령~
ㅋㅋ
gnu screen에서 스크린 이동
음.. 말로 설명하기 좀 거시기 한데.. screen에서 계속 윈도우를 만들면 비어있는 윈도우중 가장 빠른 번호의 윈도으로 만들어 집니다.
윈도우가 0, 1, 4, 5, 7 이렇게 있다면 새로운 윈도우를 만들면 3으로 할당되는 것이죠.
그런데 가끔 이 윈도우를 맘대로 이동하고 싶을 때가 있습니다. 비슷한 작업을 하는 윈도우는 바로 옆에 놓고 싶은데요.. 그럴 경우는
^a:number: 1
이렇게 합면 됩니다. 저거 보고 좀 헷갈리긴 하죠.
- ^a: 를 입력하면 screen prompt가 나옵니다.
- number: 1 을 입력합니다.
sysutils/screen 기본 사용법
Screen을 이용하면, 로그 아웃 이후에도 그 화면을 유지하고 나중에 동일한 환경으로 복원한다. 그리고 screen안에서 프로그램이 실행중이라면 그 프로그램이 실행중이므로 장시간 동작이 필요한 겨우 터미널을 닫고 다른데서(혹은 같은데서) 다시 작업을 이어가기 위함이다. 혹자는 텍스트 버전 vnc라고도 한다네…
screen 실행 옵션
screen -S [세션 이름]
screen –list
screen -r [세션 이름]: resume session
screen -x: multi display mode
screen 명령어
Ctrl+a,c 새 세션 열기
Ctrl+a,a 다음 세션으로 이동
Ctrl+a,k 스크린 닫기
Ctrl+a,d Detatch
Ctrl+a,w 스크린 리스트
Ctrl+0~9: 지정 창으로 이동
Ctrl+x
Ctrl+a,S 화면 수평 분할
Ctrl+a,Tab 화면 이동
Ctrl+a,X 현재 화면 닫기
역시나 글을 적으면서 기억하는거다.