Skip to content

**** ****

for my bad memories..

Xvfb 테스트


Xvfb (X Virtual Frame Buffer)는 디스플레이 하드웨어와 물리적 입력 장치가 없는
기계 상에서 실행되는 X 서버. Xvfb는 가상 메모리를 사용하여 단순 프레임버퍼를
시뮬레이트하며, 어떠한 장치도 열지않고 X 디스플레이처럼 실행됨.
Xvfb는 일반적으로 서버를 테스트하는데 사용됨.

% Xvfb :99 -screen 0 1024x768x24 +extension GLX +render -noreset &
% export DISPLAY=:99
% firefox
% killall Xvfb

아래는.. Xvfb 서비스 스크립트 (/etc/init.d/xvfb).

#!/bin/bash

XVFB=/usr/bin/Xvfb
XVFBARGS="$DISPLAY -ac -screen 0 1024x768x16"
PIDFILE=${HOME}/xvfb_${DISPLAY:1}.pid
case "$1" in
  start)
    echo -n "Starting virtual X frame buffer: Xvfb"
    /sbin/start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile --background --exec $XVFB -- $XVFBARGS
    echo "."
    ;;
  stop)
    echo -n "Stopping virtual X frame buffer: Xvfb"
    /sbin/start-stop-daemon --stop --quiet --pidfile $PIDFILE
    echo "."
    ;;
  restart)
    $0 stop
    $0 start
    ;;
  *)
  echo "Usage: /etc/init.d/xvfb {start|stop|restart}"
  exit 1
esac
exit 0
% export DISPLAY=:99
% service xvfb start
# or /etc/init.d/xvfb start
% service xvfb stop
# or /etc/init.d/xvfb stop

xvfb-run 스크립트는 Xvfb의 wrapper인데..
옵션중 –auto-servernum 를 사용하여 사용가능한 display number를 자동 할당 할 수 있음.

또한.. xvfb-run 수행시 아래의 에러가 발생하면..

xvfb-run: error: Xvfb failed to start
Fatal server error:
Could not create server lock file: /tmp/.X99-lock

아래와 같이 해볼 것.

sudo xvfb-run -e /dev/stdout [mycommand]

사용 가능한 display number 를 찾는 방법.
Find a free X11 display number – Stack Overflow.pdf
http://stackoverflow.com/questions/2520704/find-a-free-x11-display-number


Categorized as: Linux



답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다


이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.