以下のよう@Gillesが提案され、それはあなたがSeleniumのテストのためにそれを使用している場合は特に、オンデマンドで実行する方が適しています。シェルコマンドの例を次に示します。
export DISPLAY=:99
xdpyinfo -display $DISPLAY > /dev/null || Xvfb $DISPLAY -screen 0 1024x768x16 &
xdpyinfo
beforeを使用してディスプレイをチェックすると、仮想フレームバッファを2度実行しないようになります。
起動時に本当に起動する必要がある場合は、次の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 from: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
するよりも編集を優先しますか?