Sie können Xvfb verwenden , einen X-Server mit einem virtuellen Framebuffer, dh einen X-Server, der nur im Arbeitsspeicher angezeigt wird und keine Verbindung zu Hardware herstellt. Sie müssen auf diesem Server keinen Client ausführen, den Sie nicht möchten, insbesondere keine Desktop-Umgebung oder keinen Fenstermanager.
Xvfb :1 -screen 0 1x1x8 &
Danach:
DISPLAY=:1 dbus-launch
DISPLAY=:1 pulseaudio --start
Nach dem Start müssen Sie etwas warten, bis Xvfb
das Display verfügbar ist. Mit können Sie xinit
einen X-Server starten und dann Clients starten, wenn dieser bereit ist. Fügen Sie die Befehle, die Sie ausführen möchten, in ein Skript ein (beachten Sie, dass der X-Server beim Beenden des Skripts beendet wird):
#!/bin/sh
dbus-launch
pulseaudio --start
sleep 99999999
Starten Sie den virtuellen X-Server mit
xinit /path/to/client.script -- /usr/bin/Xvfb :1 -screen 0 1x1x8
Wenn Sie es beim Booten ausführen möchten, können Sie es von cron aus starten. Führen Sie crontab -e
(als Benutzer, nicht als Root) und fügen Sie die Zeile hinzu
@reboot xinit /path/to/client.script -- Xvfb :1 -screen 0 1x1x8
Wenn Sie diese Sitzung beenden möchten, beenden Sie den xinit
Prozess.