Skip to content
TUWLAB.com
모든 게시물에 대하여 '링크'
방식의 퍼가기만 허용합니다.
한양대학교 전자통신컴퓨터공학부
바라미
  • 19
  • 2573391
DNS Powered by DNSEver.com
Linux

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

Posted 2015. 04. 19 Updated 2015. 08. 19 Views 3042 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
번호 분류 제목 글쓴이 최근 수정일 조회 수
113 OrCAD [OrCAD 16.3] Capture 부품 이동하며 자동 연결 옵션 설정하기 file TUW 2021.12.28 12339
112 AVR [MP3 Project] 산 넘어 산이라더니... TUW 2014.04.16 7091
111 AVR [MP3 Project] MP3 코딩중 file TUW 2021.12.28 7629
110 일반 [Make 튜토리얼] Makefile 예제와 작성 방법 및 기본 패턴 2 file TUW 2018.11.21 234039
109 Linux [Linux] Sudo 명령의 Secure Path TUW 2015.04.24 7984
» Linux [Linux] Screen 터미널 에뮬레이션 프로그램 사용하기 TUW 2015.08.19 3042
107 Linux [Linux] fdisk 활용 외: 파티션 생성, 배드블록 검사, 파일시스템 생성 TUW 2015.04.24 8238
106 일반 [HTML] 페이지 자동 이동 - Redirect TUW 2014.03.19 23750
105 일반 [GIT] 임시 저장소 사용하기: stash TUW 2015.11.27 4772
104 일반 [GIT] 실행취소와 Commit 삭제: reflog, reset, checkout, revert TUW 2019.04.28 64546
103 일반 [GIT] 병합하고 Commit 재정렬하기: cherry-pick, rebase, merge file TUW 2017.06.02 32189
102 일반 [GIT] 로컬 저장소 정보 조회하기: status, show, log, diff, blame file TUW 2017.06.02 7179
101 일반 [GIT] 기본 환경 설정 및 작업 시작하기: config, clone, init, pull, fetch, remote TUW 2019.01.30 12821
100 일반 [GIT] Submodule (Nested Repository) 사용하기 file TUW 2020.08.28 10922
99 일반 [GIT] Patch 만들기 및 적용하기: format-patch, am TUW 2015.01.10 40844
98 일반 [GIT] GIT이란 무엇인가, GIT에 대하여 file TUW 2017.06.02 27704
목록
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 ... 13 Next
/ 13

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5