개요
screen은 터미널 세션을 백그라운드에서 유지하고, 여러 세션을 생성 및 전환하며, 세션 공유까지 가능한 강력한 도구입니다. 특히 SSH 연결이 끊어져도 작업이 중단되지 않도록 할 때 유용하며, 하나의 터미널 창에서 여러 개의 가상 터미널을 사용하는 것과 같습니다.
주요 기능
- 세션 분리 및 재연결 (Detaching and Reattaching)
- 다중 창 관리 (Multiple Windows)
- 세션 공유 (Session Sharing)
- 로그 기록 (Logging)
- 스크롤백 버퍼 (Scrollback Buffer)
주요 옵션
screen 명령어 실행 시 사용되는 주요 옵션과 screen 세션 내에서 사용되는 주요 단축키를 설명합니다.
명령어 실행 옵션
세션 내 단축키 (Ctrl+a 접두사)
생성된 명령어:
명령어를 조합해 보세요.
설명:
`screen` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
screen 명령어의 다양한 활용 예시입니다.
새로운 screen 세션 시작
screen
가장 기본적인 사용법으로, 새로운 screen 세션을 시작합니다.
이름 지정하여 세션 시작
screen -S my_long_running_task
세션에 이름을 부여하여 나중에 쉽게 식별하고 재연결할 수 있습니다.
세션 분리 (Detach)
screen -d <session_name_or_pid>
screen 세션 내에서 Ctrl+a d 를 눌러 세션을 분리하고 터미널로 돌아옵니다. 또는 외부에서 실행 중인 세션을 강제로 분리할 수 있습니다.
세션 재연결 (Reattach)
screen -r
분리된 세션에 다시 연결합니다. 세션이 하나만 있으면 자동으로 연결됩니다.
이름으로 특정 세션 재연결
screen -r my_long_running_task
지정된 이름의 세션에 다시 연결합니다.
실행 중인 세션 목록 보기
screen -ls
현재 활성화된 screen 세션의 목록을 확인합니다.
세션 강제 종료
screen -X <session_name_or_pid> quit
더 이상 필요 없는 세션을 강제로 종료합니다. (주의: 작업이 중단될 수 있습니다)
설치
GNU Screen은 대부분의 리눅스 배포판에 기본적으로 포함되어 있거나, 패키지 관리자를 통해 쉽게 설치할 수 있습니다.
Debian/Ubuntu
sudo apt update && sudo apt install screen
APT 패키지 관리자를 사용하여 설치합니다.
CentOS/RHEL/Fedora
sudo yum install screen
# 또는
sudo dnf install screen
YUM 또는 DNF 패키지 관리자를 사용하여 설치합니다.
Arch Linux
sudo pacman -S screen
Pacman 패키지 관리자를 사용하여 설치합니다.
팁 & 주의사항
screen 사용 시 유용한 팁과 주의할 점입니다.
.screenrc 파일 활용
사용자 홈 디렉토리의 `.screenrc` 파일을 통해 screen의 기본 설정을 커스터마이징할 수 있습니다. 예를 들어, 기본 셸, 스크롤백 버퍼 크기, 상태 바 등을 설정할 수 있습니다.
- 위치: ~/.screenrc
- 예시 설정: defscrollback 10000 caption always '%{= gk}%H %L=%-w%?%F%fn%W%? %t %{-}%+w %-= %D %m/%d %C%a'
Ctrl+a 접두사 기억
screen의 모든 내부 명령어는 기본적으로 Ctrl+a를 접두사로 사용합니다. 이 조합을 기억하는 것이 screen 사용의 핵심입니다. 만약 Ctrl+a가 다른 프로그램과 충돌한다면, `.screenrc`에서 다른 접두사로 변경할 수 있습니다 (예: `escape ^Jj`로 Ctrl+j로 변경).
세션 이름 지정의 중요성
`screen -S
스크롤백 버퍼 사용
Ctrl+a [ 를 눌러 스크롤 모드로 진입한 후, 화살표 키나 PageUp/PageDown 키로 이전 출력을 확인할 수 있습니다. q를 눌러 스크롤 모드를 종료합니다.