@Gilles가 제안 했듯이 , 특히 Selenium 테스트에 사용하는 경우 필요에 따라 실행하는 것이 더 적합합니다. 다음은 예제 쉘 명령입니다.
export DISPLAY=:99
xdpyinfo -display $DISPLAY > /dev/null || Xvfb $DISPLAY -screen 0 1024x768x16 &
xdpyinfo
이전을 사용하여 표시를 확인하면 가상 프레임 버퍼를 두 번 실행하지 않아야합니다.
시작시 실제로 시작해야하는 경우 다음 init.d 스크립트를 사용해보십시오 .
#!/bin/sh
XVFB=/usr/bin/Xvfb
XVFBARGS=":1 -screen 0 1024x768x24 -ac +extension GLX +render -noreset -nolisten tcp"
PIDFILE=/var/run/xvfb.pid
case "$1" in
start)
echo -n "Starting virtual X frame buffer: Xvfb"
start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile --background --exec $XVFB -- $XVFBARGS
echo "."
;;
stop)
echo -n "Stopping virtual X frame buffer: Xvfb"
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
출처 : GitHub의 dloman / xvfb (fork : jterrace / xvfb )
다른 이름으로 저장하고 /etc/init.d/xvfb
실행 가능하게 한 후 다음과 같이 시작하십시오.
/etc/init.d/xvfb start
시작시 자동으로 실행하려면 다음을 실행하십시오.
sudo update-rc.d xvfb defaults
자동 실행에서 제거하려면 다음을 실행하십시오.
sudo update-rc.d -f xvfb remove
또한 environment
X 프로그램이 인식 할 수 있도록 파일에 추가하십시오 . 예 :
echo DISPLAY=":1" | sudo tee -a /etc/environment
다음은 systemd 버전 버전입니다 dloman / xvfb.service은 .
/etc/rc.local
를 사용update-rc.d
하는 것 보다 편집을 선호 합니까?