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

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

Posted 2015. 04. 19 Updated 2015. 08. 19 Views 3043 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 XE XE 룰셋(Ruleset) 작성 방법 매뉴얼 file TUW 2017.06.02 12747
112 AVR [온도조절 인두기] 2. 하드웨어 제작 file TUW 2017.06.02 12821
111 일반 [GIT] 기본 환경 설정 및 작업 시작하기: config, clone, init, pull, fetch, remote TUW 2019.01.30 12845
110 AVR [온도조절 인두기] 5. 소프트웨어 제작 file TUW 2017.06.02 13018
109 일반 트랜지스터의 회로기호와 핀 명칭 file TUW 2017.06.02 13136
108 AVR [AVR 강의] AVR 강의자료 - 1. 사전준비 및 오리엔테이션 file TUW 2021.12.28 13167
107 Linux [Ubuntu] 디스크 용량 확인 명령어 TUW 2014.04.20 13226
106 일반 전력선 통신(PLC; Power Line Communication) TUW 2014.04.16 13227
105 Linux [사설 클라우드 구축] 기본 조건 및 아이디어 TUW 2014.04.20 13239
104 AVR [온도조절 인두기] 3. 하드웨어 디버깅 file TUW 2017.06.02 13607
103 Linux Ubuntu에서 GIT Client 설치 및 사용하기 TUW 2014.04.24 13706
102 Linux [Ubuntu] SSH 초기 접속 속도 향상시키기 TUW 2014.04.23 13820
101 XE XE 요소 개발을 쉽고 빠르게 - XE Wizard 2 file TUW 2017.06.02 13923
100 XE [XE] elFinderXE 모듈 24 file TUW 2019.10.14 13998
99 XE XE에서 레이아웃 편집 쉽게 하기 file TUW 2017.06.02 14015
98 Python pyenv를 이용하여 여러 버전의 Python 동시에 사용하기 3 TUW 2016.07.12 14281
목록
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