screen은 background로 실행하는 가상 터미널입니다.
노트북을 사용하다보면, 터미널이 꺼지거나 종료되는 경우가 있어, 실험이 중간에 끊겨 낭패를 보곤 합니다. 대신 노트북이 꺼져도 서버에서 돌아가게 해주는 screen을 소개합니다!
1) Centos 등 (Redhat 계열)
yum install screen
2) Ubuntu 등 (Debian 계열)
apt-get install screen
screen --version
screen으로 접속해도 기존 터미널과 구별되지 않아서 불편함을 겪을 수 있기에 다음과 같이 파일을 변경해줍니다.
vim ~/.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
복사 붙여 넣기 한 후에, :wq를 입력해서 저장하고 종료합니다.
이제 screen mode의 terminal과 그냥 terminal이 구분된다.
명령어 | 설명 |
---|---|
screen -list | screen 목록 |
screen -S [name] | screen 생성 |
screen -x [name] | screen 접속(다중접속 가능) |
screen -r [name] | screen 접속(다중접속 불가) |
screen -X -S [name] quit | screen 삭제 |
(접속중) ctrl + a + d | 현재 screen 나오기 (지금 세션을 detach 상태로 만들고 screen을 종료하지 않고 빠져나간다) |
(접속중) ctrl + a, shift +f | 현재 screen 전체 화면으로 보기 |
(접속중) ctrl + a + [ | copy mode |
명령어 | 설명 |
---|---|
ctrl + a, w | 윈도우 목록 확인하기 |
ctrl + a, c | 새 윈도우 생성하기 |
ctrl + a, <숫자> | 해당 번호의 윈도우로 변경하기 |
ctrl + a, shift + s | 가로로 화면 분할 |
ctrl + a, shift + \ | 세로로 화면 분할 |
ctrl + a, tab | 분할 창 간 커서 이동 (시계 방향) |
ctrl + a, shift + x | 현재 분할 창 닫기 |
ctrl + a, shift + q | 현재 윈도우만 남기고 나머지 분할 창 다 닫기 |
screen -d -r 세션명
명령어를 사용하여 세션을 강제로 분리한 후 다시 접근하려고 시도해 볼 수 있습니다.
$ exit
스크린에서 exit으로 빠져 나오게 되면 아래와 같이 세션이 종료된다.
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
Deleting expired sessions...none found.
screen을 사용하면 다음과 같은 장점이 있습니다.
멀티태스킹, 작업 중단 및 재개, 원격 작업 등 다양한 상황에서 유용하게 사용할 수 있습니다.
참고 유튜브 영상입니다.
https://www.youtube.com/watch?v=I4xVn6Io5Nw&t=1s