관리 메뉴

꿈꾸는 사람.

[Linux] screen 사용법 본문

IT/Linux

[Linux] screen 사용법

현무랑 니니 2015. 11. 11. 02:28
반응형




build 중 서버와 연결이 끊어지거나 컴퓨터를 끄고 퇴근해야 한다면?


1. screen 개념

 

 

 putty와 같은 ssh 도구로 서버에 접속한 일반적인 사용 예.

 서버에 screen 사용하여 접속한 예


두 그림의 차이는 서버에 screen을 사용하는지에 달려있다.

즉, 클라이언트인 노트북에서는 차이가 없고 서버에서 screen 사용 여부가 다른 것이다.

screen은 물리적인 터미널을 다중화하여 사용할 수 있는 윈도 매니저이다.


그림처럼 screen 상에 여러 윈도우를 실행하고 각각 다른 작업을 실행할 수 있다.


screen을 두 개 만들고 각 screen에 window를 두 개씩 생성한다.


ssh 연결이 끊어지거나 원격 연결을 종료하여도 screen은 살아 있다.

screen 상에서 실행한 작업도 계속 실행된다.

안드로이드 전체 시스템을 빌드하는 경우 한 시간 가량 걸리는 작업을 수행하고 노트북에서는 연결을 끊고 회의에 참석하여도 되고 전원을 끄고 퇴근하여도 된다.

2. screen 설치

설치 명령

$ sudo apt-get install screen

설치 과정

hyunmu@hyunmu:~$ screen
프로그램 'screen'을(를) 설치하지 않습니다. 다음을 입력해 설치할 수 있습니다:
sudo apt-get install screen
hyunmu@hyunmu:~$ sudo apt-get install screen
[sudo] password for hyunmu: 
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
제안하는 패키지:
  iselect screenie byobu
다음 새 패키지를 설치할 것입니다:
  screen
0개 업그레이드, 1개 새로 설치, 0개 제거 및 572개 업그레이드 안 함.
628 k바이트 아카이브를 받아야 합니다.
이 작업 후 958 k바이트의 디스크 공간을 더 사용하게 됩니다.
받기:1 http://kr.archive.ubuntu.com/ubuntu/ trusty/main screen i386 4.1.0~20120320gitdb59704-9 [628 kB]
내려받기 628 k바이트, 소요시간 0초 (1,059 k바이트/초)
Selecting previously unselected package screen.
(데이터베이스 읽는중 ...현재 174689개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../screen_4.1.0~20120320gitdb59704-9_i386.deb ...
Unpacking screen (4.1.0~20120320gitdb59704-9) ...
Processing triggers for man-db (2.6.7.1-1) ...
/usr/bin/mandb: can't write to /var/cache/man/2657: 장치에 남은 공간이 없음
Processing triggers for install-info (5.2.0.dfsg.1-2) ...
Processing triggers for ureadahead (0.100.0-16) ...
ureadahead will be reprofiled on next reboot
screen (4.1.0~20120320gitdb59704-9) 설정하는 중입니다 ...
update-rc.d: warning: default start runlevel arguments (2 3 4 5) do not match screen-cleanup Default-Start values (S)
update-rc.d: warning: default stop runlevel arguments (0 1 6) do not match screen-cleanup Default-Stop values (none)
Processing triggers for ureadahead (0.100.0-16) ...
hyunmu@hyunmu:~$ 

3. screen 사용법

screen 만들기.

$ screen -S build1


screen 목록 보기.

$ screen -list

There is a screen on: 3703.build1 (2015년 11월 11일 01시 43분 38초) (Attached) 1 Socket in /var/run/screen/S-hyunmu.

사용 예)

$ screen -S edit

$ screen -list There are screens on: 3827.editor (2015년 11월 11일 01시 56분 31초) (Attached) 3703.build1 (2015년 11월 11일 01시 43분 38초) (Attached) 2 Sockets in /var/run/screen/S-hyunmu.


window 만들기.

Ctrl + a, c

ctrl키를 누르고 a와 c를 차례대로 눌러 준다.

screen 위에 하나의 윈도우를 만들어 준다.


window 종료하기.

$ exit

window를 종료하고 이전 터미널로 돌아 간다.

모든 window를 종료하면 screen도 종료된다.


window 목록 보기.

Ctrl + a, w

window를 두 개 만든 경우 터미널 아래에 [ 0*$bash 1-$ bash] 내용이 나타났다 몇 초 후 사라진다.


window 이동하기.

Ctrl+a a : 바로 전 창으로 Ctrl+a 0 : 0번째 창으로 Ctrl+a 1 : 1번째 창으로 Ctrl+a 9 : 10번째 창으로

Ctrl+a d : screen에서 나오기


screen 재 접속하기.

$ screen -r [session name]

$ screen -x [session name]

연결을 종료 후 다시 SSH 접속할 때 사용하며 screen이 둘 이상이면 session 명을 입력한다.

window를 두 개 만든 경우 터미널 아래에 [ 0*$bash 1-$ bash] 내용이 나타났다 몇 초 후 사라진다.


반응형
4 Comments
댓글쓰기 폼