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

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

Posted 2015. 04. 19 Updated 2015. 08. 19 Views 3045 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
번호 분류 제목 글쓴이 최근 수정일 조회 수
161 PSpice PSpice에서 기존 부품 Parameter 수정하여 시뮬레이션하기 file TUW 2021.12.28 28032
160 Python pyenv를 이용하여 여러 버전의 Python 동시에 사용하기 3 TUW 2016.07.12 14281
159 Apache robots.txt를 활용하여 검색엔진 로봇 인덱싱 제한하기 TUW 2014.04.23 9463
158 Linux Root권한 없이 Wireshark 사용하기 file TUW 2017.06.02 109114
157 일반 Scan Robot - 전자동 북스캐너 file TUW 2017.06.02 9811
156 Linux SCP명령어 - 초간단 파일/디렉토리 전송 TUW 2014.04.23 41255
155 XE Social XE 댓글 위젯에 SNS 전송 옵션 추가하기 6 file TUW 2017.06.02 23632
154 XE Social XE 트위터 프로필사진 표시 문제 해결하기 3 file TUW 2017.06.02 205148
153 Linux SSHFS를 활용한 원격 디렉토리 마운트 TUW 2014.04.24 10075
152 Security SSL Handshake 과정 TUW 2016.06.21 7334
151 일반 TCP/IP의 원리를 쉽게 설명한 동영상 TUW 2021.12.28 9428
150 Linux TCPDump를 활용하여 패킷 모니터링하기 TUW 2020.04.13 7207
149 Linux Ubuntu 에서 VirtualBox로 Windows 7 설치 및 사용하기 1 file TUW 2017.06.02 23351
148 Linux Ubuntu에 GITLAB 설치하기 A to Z, Apache 연동 file TUW 2017.06.02 22469
147 Linux Ubuntu에서 GIT Client 설치 및 사용하기 TUW 2014.04.24 13709
146 Linux Ubuntu에서 Global Menu Bar 해제하기 TUW 2014.04.24 11875
목록
Board Pagination Prev 1 2 3 4 5 6 7 ... 13 Next
/ 13

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5