जैसा कि @Gilles ने सुझाव दिया, यह मांग पर चलने के लिए अधिक उपयुक्त है, खासकर जब आप इसे सेलेनियम परीक्षण के लिए उपयोग कर रहे हैं। यहाँ उदाहरण शेल कमांड हैं:
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 (forked: 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
एक्स कार्यक्रमों द्वारा मान्यता प्राप्त करने के लिए फ़ाइल में भी जोड़ें , उदाहरण के लिए:
echo DISPLAY=":1" | sudo tee -a /etc/environment
यहाँ systemd संस्करण के लिए संस्करण है: dloman / xvfb.service ।
/etc/rc.local
उपयोग करना पसंद किया जाता हैupdate-rc.d
?