처음 라즈베리파이 관련해서 포스팅을 시작할 때 화면 캡쳐 하는 것을 찾아보다가 찾아지지 않아서 그냥 사진기로 화면을 찍고 찍은 화면을 자르고 보정해서 올리는 식으로 작업을 해왔다. 하지만 아무래도 사진 선명도도 떨어지고 매번 사진 찍고 수정하는 일도 귀찮았다. 방법이 없진 않을텐데 하며 다시 한번 구글에서 영문으로 검색을 하니 쉽게 찾을 수 있어서 조금 허탈한 마음을 가지고 콘솔화면을 캡쳐하는 방법을 포스팅 하기로 한다.

 

1. fbgrab 설치

  fbgrab은 FB(Frame Buffer)에 윤창중씨로 인해 전국민이 알게된 국민 단어 'grab'을 붙여서 프레임 버퍼에 있는 내용을 움켜 쥔다는 뜻의 콘솔 스크린샷 프로그램이다. 설치는 매우 간단하다. 'sudo apt-get install fbgrab'만 입력하면 끝!

 

2. 기본 사용법

  가장 기본적인 사용법은 'sudo fbgrab [파일이름]' 이다. 이때 파일이름은 bmp, jpg, png등의 그림파일로 저장할 수 있다. 하지만 마지막 줄에보면 화면 캡쳐를 위해서 입력한 'sudo fbgrab screen1.jpg'도 포함된 것이 보인다. 뭐 있어도 그만 없어도 그만이고, 보기 싫으면 잘라버리면 되니까 신경 쓰지 않아도 되지만 그렇게 하지 않아도 되는 방법이 있다.

 

3. 원격 터미널에서 캡쳐하기

  SSH를 통해서 원격으로 접속한 경우 fbgrab을 하면 터미널의 화면이 캡쳐가 되는 것이 아니라 라즈베리파이가 출력하는 화면이 캡쳐된다. 그러므로 당연히 캡쳐를 위해서 입력한 명령어 라인이 포함되지 않는다.

 

 

 

4. 콘솔 스위칭 이용하기

  원격 접속을 하지 않아도 위와 같이 캡쳐를 위해서 입력한 명령어 라인이 포함되지 않도록 하는 방법이 있다. 바로 콘솔 스위칭을 이용하는 것이다. 라즈비안은 6개의 가상 텍스트 콘솔과 하나의 그래픽 콘솔을 가지고 있고 Alt+오른쪽/왼쪽 방향키로 가상 콘솔을 선택 할 수 있는데 이를 콘솔 스위칭이라고 한다. 따라서 독립된 작업을 다른 콘솔에서 할 수 있는 것이다. 이를 이용하면 1번 콘솔에서 어떤 작업을 하고 있고 2번 콘솔에서 1번 콘솔을 화면 캡쳐 할 수 있는 것이다.

 

  2번 콘솔으로 스위칭을 하면 아래와 같이 로그인 하는 화면이 나온다. 로그인을 해서 2번 콘솔의 화면을 캡쳐하기위해 'sudo fbgrab -c 1 [filename]'을 입력한다. 여기서 -c 1이 추가된 것을 확인 할 수 있는데 이것이 2번 콘솔에서 1번 콘솔 화면을 캡쳐하는 옵션이다.

 

 

 

 

 

5. 스크립트 이용해서 조금 더 편하게 사용하기

  앞에서 설명한 것만으로도 충분히 편하게 화면을 캡쳐 할 수 있지만 매번 이름을 다르게 지정해주는것이 조금 귀찮다. 타임스탬프로 이름을 지정하는 옵션이 있었으면 좋겠는데 없어서 Bash 쉘 스크립트로 간단하게 짜봤다. DIR을 스크린샷을 저장하기 원하는 디렉토리로 변경하고 써야한다. screenshot으로 스크립트 이름을 저장했을 경우 './screenshot -c 2 -s 1 -i' 이런식으로 fbgrab의 옵션 형식을 따라서 사용하면 된다. 혹시나 몰라서 덧붙이자면 쉘 스크립트를 실행하기 위해서는 스크립트를 저장한 파일의 권한을 777로 변경해줘야 한다. 'sudo chmod 777 filename'을 입력하면 파일 권한이 777로 변경된다.

#!/bin/bash DATE=$(date +"%Y%m%d%H%M%S") DIR=/home/pi/Screenshots #sudo fbgrab /home/pi/Screenshots/$DATE.png OPT= while getopts ":c:C:s:i" opt; do case $opt in c) OPT="$OPT -c $OPTARG" ;; C) OPT="$OPT -C $OPTARG" ;; s) OPT="$OPT -s $OPTARG" ;; i) OPT="$OPT -i" ;; \?) echo "Invalid option: -$OPTARG" >&2 exit 1 ;; :) echo "Option -$OPTARG requires an argument." >&2 exit 1 ;; esac done echo "fbgrab $OPT $DIR/$DATE.png" sudo fbgrab $OPT $DIR/$DATE.png

  다음 포스트에서는 XBMC의 화면을 캡쳐하는 방법에 대해서 알아보자.

 

참조 : Bill Agee's blog

블로그 이미지

작은 조약돌

공돌이 형과 글쟁이 동생 쌍둥이 형제의 낙서장

,