Linux 내에서 작업을 하던 중 여러 군데에 있는 코드를 vim으로 보는데 계속 여기 갔다 저기 갔다 할 때마다 이동하는 게 너무 귀찮았다.
Screen 이란 개념을 알게 되었고, 꽤나 편리하게 작업할 수 있었다.
🤔 Screen 이란?
Screen이란 mac, linux 와 같은 unix 운영체제에서 독립적으로 동작하는 가상 터미널을 띄워주는 것을 의미한다. 즉, 백그라운드로 동작하는 가상 터미널인 것이다.
스크린에서 명령어를 실행시키고 터미널을 꺼도, 명령어가 백그라운드로 계속 돌아간다.
명령어를 실행시킨 뒤 터미널을 종료하고, 나중에 screen 명령을 이용해서 다시 접속하면 해당 터미널 그대로 작업을 이어나갈 수 있다.
위 그림은 screen 을 두 개 생성하고 각각 window를 2개씩 생성한 경우이다.
Screen을 사용하여 작업하면 서버와의 연결이 끊어지더라도 screen 은 살아있고, screen 상에서 실행한 작업도 계속 실행된다.
따라서 ssh 연결이 끊어지더라도 screen 은 계속 살아있는 것이다.
즉, screen 을 사용해야 할 때는 다음과 같다.
1. 싱글 터미널에만 접속할 수 있을 때
screen 을 사용해서 싱글 터미널에 여러 터미널을 만들 수 있고, 여러 screen 세션에서 다른 명령들을 실행할 수 있게 한다.
2. 다른 작업을 위해 터미널을 사용하는 동안 프로세스를 계속 실행시키기 위해 daemon을 사용하지 않으려는 경우
언제든지 내가 작업하고자 하는 스크린 세션에 접속해서 어떤 작업이 실행되고 있는 지 모니터링할 수 있음
3. 다른 사용자들과 세션을 공유하고자 할 때
이것을 다중 유저 세션이라고 한다.
🔨 Screen 설치
$ sudo apt-get install screen
설치 후 screen 을 입력했을 때 다음과 같이 나오면 된다.
💡 Screen 사용법
screen 생성
screen # 기본 세션 생성
screen -S name # 생성할 세션의 이름. 이름은 다시 세션에 연결할 때 사용됨
screen 목록 보기
screen -list
예시)
screen -S test
screen -list
There is a screen on: 19539.test (Attached) 1 Socket in /var/folders/94/dj4 nzxqj00 b8 yf_sc3 l006 q40000 gp/T/. screen.
screen 세션 끊기
Ctrl + a, d
Screen 세션 재연결
screen -r # 기본 세션에 연결, screen session 이 한 개일 때 작동
screen -X name # 특정 세션에 연결
연결을 끊은 Screen 세션 죽이기
screen -X -S [ScreenID] quit
Screen -S [ScreenID] -X quit
Screen 세션 로그
screen -L
Window 만들기
Ctrl + a, c
ctrl 키를 누록, a와 c를 차례대로 눌러준다.
Window 목록 보기
Ctrl + a, w
Window 이동하기
Ctrl + a a: 바로 전 창으로
Ctrl + a 0: 0번째 창으로
Ctrl + a 1: 1번째 창으로
아마 저 ctrl + a a를 가장 많이 쓸 것 같다..
Window 종료하기
exit
📚 참고
'개발환경' 카테고리의 다른 글
[Git] Git Hook (pre-commit) | LIM (0) | 2023.11.21 |
---|---|
Ubuntu 20.04 xrdp 설치 및 접속 (0) | 2023.07.14 |
[Linux] FTP 서버 구축기(feat. GCP VM Instance) | LIM (0) | 2023.01.22 |
[Pycharm] SSH 원격 접속 | LIM (0) | 2022.12.24 |
[mac m1] jupyterlab 설치 및 실행 오류 | LIM (0) | 2022.06.24 |
댓글