Możesz użyć Xvfb , czyli serwera X z wirtualnym buforowaniem ramek, tj. Serwera X, który wyświetla się tylko w pamięci i nie łączy się z żadnym sprzętem. Nie musisz uruchamiać żadnego klienta, którego nie chcesz na tym serwerze, w szczególności środowiska pulpitu lub menedżera okien.
Xvfb :1 -screen 0 1x1x8 &
Po tym:
DISPLAY=:1 dbus-launch
DISPLAY=:1 pulseaudio --start
Musisz poczekać chwilę po uruchomieniu, Xvfb
aby wyświetlacz był dostępny. Możesz użyć, xinit
aby uruchomić serwer X, a następnie uruchomić klientów, gdy będzie gotowy. Umieść polecenia, które chcesz uruchomić w skrypcie (zwróć uwagę, że gdy skrypt kończy działanie, serwer X kończy działanie):
#!/bin/sh
dbus-launch
pulseaudio --start
sleep 99999999
Uruchom wirtualny serwer X za pomocą
xinit /path/to/client.script -- /usr/bin/Xvfb :1 -screen 0 1x1x8
Jeśli chcesz uruchomić go w czasie rozruchu, możesz uruchomić go z crona. Uruchom crontab -e
(jako użytkownik, nie jako root) i dodaj linię
@reboot xinit /path/to/client.script -- Xvfb :1 -screen 0 1x1x8
Jeśli chcesz zabić tę sesję, zabij xinit
proces.