Skip to content
TUWLAB.com
Linux

[Linux] Screen 터미널 에뮬레이션 프로그램 사용하기

Posted 2015. 04. 19 Updated 2015. 08. 19 Views 1804 Replies 0

Screen은 일종의 가상 터미널로, 터미널을 에뮬레이션 하는 프로그램입니다.
(즉, 터미널에서 실행하는 터미널이라고 생각하면 됩니다.)

'새로 터미널 창 열면 되지 왜 터미널을 에뮬레이션 해야 하지?' 라는 의문을 가질 수도 있겠지만, 만들어져서 공식 배포된 프로그램은 다 이유가 있는 법입니다.

Screen을 사용하면 리눅스 쉘 환경에서 작업을 하다 보면 현재 보고 있는 화면을 다른곳에 그대로 가져가서 작업하고 싶은 경우에 요긴하게 사용할 수 있습니다.

예를 들어, 회사에서 시간이 오래 걸리는 컴파일 작업을 걸어놓고 잠시 자리를 비웠는데, 원격에서 이게 잘 되고 있는지 확인해야 할 경우가 있을 수 있는데, 이러한 특수한 경우에 Screen 프로그램을 요긴하게 사용할 수 있습니다.


Screen 설치하기

sudo apt-get install screen

별도 설정을 하지 않아도 공식 Repository로부터 설치가 가능합니다.


새로운 세션 시작하기

screen -S {세션 이름}

세션 이름은 한번에 봐도 알아보기 쉬운 것으로 정하도록 합니다. 나중에 세션 목록을 보고 '이게 뭐지?' 라는 의문이 드는 상황을 방지하려면 말이죠.

이 명령을 치면 화면이 지워지면서 자신이 쓰던 쉘과 같은 터미널이 나타날텐데, 여기서 혼동하면 안됩니다. 이 명령을 쳐서 나타난 화면은 자신이 본래 접속했던 쉘이 아니라, screen 프로그램을 통해 에뮬레이션 된 쉘(Screen Shell)입니다.

이제 여기에서 필요한 작업을 시작하면 됩니다. 모양이 같으니 본래 쉘과 역할도 같으며, 모든 명령을 똑같이 사용할 수 있습니다. 차이점이 있다면, [Ctrl]+[a]로 시작되는 Screen 프로그램의 단축키를 사용할 수 있다.. 정도?


현재 세션에서 이탈하기 (세션 저장)

screen -d

-d 옵션을 주면 현재 세션으로부터 터미널을 이탈시킵니다. 즉, 세션이 저장되어 나중에 다시 해당 터미널로 접속할 수 있는 상태로 만듭니다.

이 명령을 치면 작업하던 화면이 사라지고, 또다시 쉘이 나타날 것입니다. 현재 보고 있는 화면은 Screen 프로그램이 아니라, 본래 접속했던 바로 그 터미널입니다.

혹, 현재 작업을 수행하는 중이라 쉘이 반환되지 않은 경우 [Ctrl]+[a],[d] 단축키를 사용하여 세션에서 이탈할 수 있습니다. Screen 프로그램을 사용하는 대부분의 경우가 이러한 경우이므로, 이 단축키는 잘 알아두어야 합니다.


세션에 다시 접속하기

screen -R {세션 이름}

-R 옵션으로 이탈해서 저장해 두었던 터미널에 다시 접속합니다. 즉, 다른 곳에서 작업을 하다가 저장해 둔 바로 그 화면으로 다시 돌아가서 작업을 계속할 수 있습니다.

만약 해당 세션에 터미널이 이미 Attach되어 있는 경우 이름(별칭)만 같은 새로운 세션이 생성됩니다. 같은 세션 이름의 터미널에 복수의 Attach를 하려는 경우에는 다음과 같이 -x옵션을 추가로 붙여주면 됩니다.

screen -Rx {세션 이름}

이렇게 해서 동일한 이름의 세션에 복수의 터미널이 Attach되면, 두 터미널은 완전히 똑같이 동작하게 됩니다. 예를 들어, 한 터미널에서 타이핑을 하면 다른 터미널에 똑같이 따라서 표시되는 현상을 볼 수 있습니다.


세션 종료하기

exit

현재 접속해 있는 세션을 종료하려면 단지 Screen Shell 안에서 exit를 입력하면 됩니다. 세션을 종료하면 해당 세션에서 수행되고 있던 프로세스들이 모두 종료됩니다.


세션 목록 확인하기

screen -list


팁: 도움말 보기

Screen Shell 안에서 [Ctrl]+[a],[?] 를 차례로 입력하면 도움말 창을 볼 수 있습니다.


이 외에도, 한 세션 안에 여러 개의 가상 창을 만들어놓고 사용할 수 있는 기능도 있습니다. 자세한 내용은 man 페이지를 참조하세요. 귀찮은 경우, 그냥 저처럼 새 창이 필요할때마다 세션을 새로 파서 사용해도 큰 문제는 없습니다.^^


( 참고: https://www.mattcutts.com/blog/a-quick-tutorial-on-screen )

서비스 선택
이용중인 SNS 버튼을 클릭하여 로그인 해주세요.
SNS 계정을 통해 로그인하면 회원가입 없이 댓글을 남길 수 있습니다.
댓글
?
Powered by SocialXE

List of Articles
번호 분류 제목 글쓴이 최근 수정일 조회 수
159 Python [Django Tutorial] 4. URL Config, Template 및 View의 동작에 대한 이해 file TUW 2017.06.16 3679
158 Python [Django Tutorial] 3. 프로젝트 및 App 생성, settings.py수정(DB연동, Migration), Runserver file TUW 2017.06.15 5951
157 Python [Django Tutorial] 2. 개발 환경 세팅하기 - pyenv 및 virtualenv 활용 TUW 2017.02.27 4413
156 Python [Django Tutorial] 1. 파이썬 기반 웹 프레임워크 Django에 대한 소개 2 TUW 2017.02.27 6730
155 Python VirtualEnv를 통한 Python Sandbox 개발환경 구축하기 file TUW 2017.06.03 2558
154 Python pyenv를 이용하여 여러 버전의 Python 동시에 사용하기 3 TUW 2016.07.12 6994
153 Linux 한글 입력기 나비(Nabi)에서 한/영 키가 인식되지 않는 경우 file TUW 2017.06.03 980
152 Linux [VirtualBox] 가상머신 Windows 7 에서 Aero 기능 활성화하기 file TUW 2017.06.03 2055
151 Linux [VirtualBox] Windows 7 물리 디스크 부팅 (Raw Disk Booting or Native Booting) - 방법 1 file TUW 2017.06.14 1969
150 Linux [VirtualBox] Windows 7 물리 디스크 부팅 (Raw Disk Booting or Native Booting) - 배경 file TUW 2017.06.03 1993
149 일반 [GIT] Submodule (Nested Repository) 사용하기 file TUW 2017.06.03 3659
» Linux [Linux] Screen 터미널 에뮬레이션 프로그램 사용하기 TUW 2015.08.19 1804
147 일반 정규식(Regular Expression)에 대한 소개와 입문, 튜토리얼 1 file TUW 2017.12.11 20722
146 Linux Intelli Backup: File system 및 Database 백업 자동화 Bash 스크립트 TUW 2017.06.15 2592
145 Linux [Linux] Sudo 명령의 Secure Path TUW 2015.04.24 2567
144 Linux [Linux] fdisk 활용 외: 파티션 생성, 배드블록 검사, 파일시스템 생성 TUW 2015.04.24 5496
목록
Board Pagination Prev 1 2 3 4 5 6 7 ... 12 Next
/ 12

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5