[리눅스] screen(스크린) 사용법, screenrc

From Pixabay OpenClipart-Vectors's Image

Screen이란?

Screen이란 Linux에서 독립적으로 동작하는 가상 터미널을 띄워주는 것을 의미합니다. 즉, 백그라운드로 동작하는 가상 터미널입니다.

장점: 스크린에서 명령어를 실행시키고 터미널을 꺼도, 명령어가 백그라운드로 계속 돌아갑니다. 명령어를 실행시킨 뒤 터미널을 종료하고, 나중에 screen 명령을 이용해서 다시 접속하면 해당 터미널 그대로 작업을 이어갈 수 있습니다.

 

Install

screen 명령은 기본적으로 설치가 되어있습니다. screen 명령을 쳤을 때 Command not found라고 뜬다면 아래와 같은 방법을 설치할 수 있습니다.

1) Centos 등 (Redhat 계열)

yum install screen

2) Ubuntu 등 (Debian 계열)

apt-get install screen

 

기본 사용법

screen : screen 진입 (이름은 무작위로 생성됩니다.)

 

screen 내부 명령어

Ctrl+a, d : 현재 스크린으로부터 탈출(Deattach). (스크린은 꺼지지 않고 여전히 동작 중)

Ctrl+a, c : 스크린에서 새창 띄우기

Ctrl+a, 숫자 : 해당 번호의 스크린으로 이동

Ctrl+a, n : 다음 창으로 이동 (Ctrl+a, space와 동일)

Ctrl+a, p : 이전 창으로 이동 (Ctrl+a, Backspace와 동일) 

 

환경설정

처음 screen을 쓰면, 기본 터미널과 같은 화면이 나오기 때문에 몇번째 스크린인지 알기 어렵습니다. 그래서 홈 디렉터리에. screenrc 파일을 만들고 환경설정을 하면 screen을 보다 쉽게 사용할 수 있습니다.

vi ~/.screenrc

실행 후, 아래 코드 복사 붙여 넣기.

ck 5000
vbell off
defscrollback 10000
termcapinfo xterm* ti@:te@
startup_message off
hardstatus on
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rW}%n*%t%{-}%+w %= %c ${USER}@%H"
bindkey -k k1 select 0
bindkey -k k2 select 1
bindkey -k k3 select 2

왼쪽이 아무 환경설정 없이 스크린을 켠 경우입니다. screen에 진입해도 그냥 터미널과 아무 차이가 없습니다. 오른쪽은 위의 환경설정을 한 경우입니다. 아래에 푸른색으로 현재 몇 번째 스크린에 있는지 나오며 오른쪽에는 현재 시간이 나옵니다.

 

왼쪽(환경설정 없는 screen) 오른쪽(환경설정한 screen)

 

자주 사용하는 옵션

screen -S [스크린 이름] : screen에 이름을 지정하며 진입.

 

screen -R [스크린 이름] : screen이 존재한다면 다시 진입(Reattach)하고, screen이 없다면 해당 스크린 이름을 만들며 진입.

 

screen -ls (screen -list) : 현재 존재하는 스크린 리스트 출력

 

screen -x [스크린 이름] : 실행 중인 스크린에 다시 진입(Reattach). (-R 옵션은 Single display mode, -x 옵션은 Multi display mode이다. 즉, -R옵션은 해당 스크린에 여러 명이 들어가도 서로 무슨 명령을 치는지 모르지만, -x 옵션은 해당 스크린에 여러명이 들어가도 마치 한 화면처럼 움직여, 상대방이 무슨 명령어를 치는지까지 다 볼 수 있다.)

 

screen -S [스크린 이름] -X quit : 해당 스크린 종료 (해당 스크린 삭제됨). [스크린이름] 대신 스크린 번호를 써도 된다.

또는 사용하고 있는 스크린에서 모든 창을 exit으로 꺼버려도 해당 스크린은 종료됩니다.

 

 

댓글

Designed by JB FACTORY