본문 바로가기
Linux/Linux Shell Command

screen - 리눅스 가상 터미널

by 드로니뚜벅이 2023. 8. 15.

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

 

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

 

리눅스 설치 시 기본으로 설치되지 않기 때문에 사용하기 위해서는 별도로 설치해 주어야 합니다.

$ sudo apt 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을 보다 쉽게 사용할 수 있습니다.

설정파일(.screenrc) 생성

$ vim ~/.screenrc

screen 설정

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 -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으로 꺼버려도 해당 스크린은 종료됩니다.

 

 

참고사이트

 

 

 

'Linux > Linux Shell Command' 카테고리의 다른 글

usermod - 사용자 계정 정보 변경  (0) 2023.09.11
du - 리눅스 디스크 사용량 확인  (1) 2023.09.09
부팅 시 프로그램 자동 실행하기  (0) 2023.08.08
watch - 시스템 모니터링  (0) 2023.06.19
zip 압축  (0) 2023.06.15