Wie von @Gilles vorgeschlagen, ist es besser geeignet, bei Bedarf ausgeführt zu werden, insbesondere wenn Sie es für Selentests verwenden. Hier sind Beispiel-Shell-Befehle:
export DISPLAY=:99
xdpyinfo -display $DISPLAY > /dev/null || Xvfb $DISPLAY -screen 0 1024x768x16 &
Wenn Sie die Anzeige mit "Vorheriges" überprüfen, xdpyinfo
wird sichergestellt, dass Sie den virtuellen Framebuffer nicht zweimal ausführen.
Wenn Sie es beim Start wirklich starten müssen, können Sie das folgende init.d- Skript ausprobieren :
#!/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
Quelle: dloman / xvfb bei GitHub (gegabelt von: jterrace / xvfb )
Speichern Sie es als /etc/init.d/xvfb
und machen Sie es ausführbar, dann starten Sie es als:
/etc/init.d/xvfb start
Führen Sie Folgendes aus, um beim Start automatisch ausgeführt zu werden:
sudo update-rc.d xvfb defaults
Führen Sie Folgendes aus, um es aus dem Autorun zu entfernen:
sudo update-rc.d -f xvfb remove
Fügen Sie auch eine environment
Datei hinzu, die von X-Programmen erkannt werden soll, z.
echo DISPLAY=":1" | sudo tee -a /etc/environment
Hier ist die Version für die systemd-Version: dloman / xvfb.service .
/etc/rc.local
der Verwendungupdate-rc.d
mit eigenen Skripten vorzuziehen ?