본문 바로가기
AI 개발 팁

[screen] screen 사용법

by ON AI 2021. 8. 1.

우리가 웹 브라우저를 이용해 인터넷을 사용할 때, 보고 싶은 화면이 더 있거나 다른 작업을 할 때가 있습니다.

예를 들어 유튜브로 영상을 틀어놓고 네이버로 검색을 할 때처럼 말이죠.

우리는 그럴 때 새로운 웹 브라우저 창을 실행시킬 수도 있지만, 단순하게 탭을 만들어서 사용하기도 합니다.

 

이는 리눅스 환경에서 작업을 할 때도 마찬가지 입니다.

다만, 리눅스 환경, 특히 원격 환경에서 작업을 하는 경우, 새로운 창을 띄워서 작업을 하면 매번 새롭게 ssh 연결을 해야하며, 창을 왔다갔다 하기도 불편할 때가 많습니다.

 

그리고 이런 경우 사용할 수 있는 것이 바로 screen 입니다.

 

screen 이란?

 

리눅스 환경에서 주로 사용하는 명령어로, 창을 새롭게 만들지 않더라도 새로운 세션을 만들어내고 화면을 분할해서 사용할 수 있는 등 다양한 상황에서 활용이 가능합니다.

 

특히, 원격 환경에서 어떤 작업을 할 때, 컴퓨터가 절전 모드가 되거나 하여서 인터넷 연결이 끊겨버리면 바로 그 작업이 종료되는데,

screen 은 이런 상황에서, 인터넷 연결이 끊기더라도 세션의 작업을 유지할 수 있게 해줍니다.

screen을 통해 새로 만든 session을 작업창에서 detach 해둔다면, 내가 작업하고 있는 환경과는 별개로, 서버의 작업 환경 내에서 작업이 계속 돌아가게 되는 것입니다.

 

tmux 도 screen과 유사한 기능을 하는 대표적인 명령어 중에 하나입니다!

 

screen 사용법

세션은 하나의 작업 환경을 의미하고, 윈도우는 세션 위에서 그 세션을 볼 수 있는 창을 의미합니다. (세션을 공유합니다)

 

 

1. screen 설치 방법

sudo apt-get install screen

apt-get 명령어를 통해 설치할 수 있습니다.

 

2. screen (세션) 만들기

screen -S session_name

이와 같은 방식으로 session의 이름을 지정하여 만들 수 있고, 해당 명령어를 입력하여 세션을 만들면, 화면이 해당 세션으로 바로 넘어가게 됩니다.

 

3. screen 세션 목록 보기

screen -list

생성되어 있는 모든 세션을 볼 수 있습니다.

현재 접속해 있는 (보고 있는) 세션의 경우 (Attached) 라는 표시가 뜨고 그렇지 않은, detach 된 세션은 (Detached) 라는 표시와 함께 표시됩니다.

 

4. 세션 detach 하기

Ctrl + a, d

생성되거나 attach 된 상태의 세션에서 빠져나오고, 해당 세션은 detach 된 상태로 서버에서 작업이 계속 됩니다. (사용자의 네트워크 환경에 영향을 받지 않습니다.)

 

5. 세션에 다시 attach 하기

screen -r session_name

detach 되어 있는 세션에 다시 접속 (attach) 할 수 있는 명령어 입니다. detach 된 상태에서 돌아가고 있던 작업을 화면을 통해 확인할 수 있게 됩니다. 세션의 풀 네임을 다 입력할 필요 없고, 구분될 수 있는 세션 이름의 첫 부분들 (e.g. alpha, alpfdf 라는 세션이 있으면, alph 까지만 입력해도 alpha라는 세션으로 접속 됩니다.)

 

6. 윈도우 만들기

Ctrl + a, c

세션 위에서 하나의 윈도우 (창) 을 만들어 줍니다.

 

7. 윈도우 종료하기

exit

현재 접속하고 있는 세션을 detach 하는 것이 아니라 종료합니다.

 

8. 윈도우 목록 보기

Ctrl + a, w

9. 윈도우 이동하기

Ctrl + a, a : 바로 전 창으로
Ctrl + a, n : n번째 창으로 (n은 0~9)

 

screen, tmux 둘 다 비슷한 기능을 하지만 저는 처음 사용한 것이 screen 이라 그런지 screen을 사용하는 것이 더 편하네요 ㅎㅎ

그럼 지금까지 screen 과 그 사용법에 대해 알아보았습니다. 감사합니다!