Ви можете використовувати Xvfb , що являє собою X-сервер з віртуальним фреймбуфером, тобто X-сервер, який відображається лише в пам'яті і не підключається до жодного обладнання. Вам не потрібно запускати жодного клієнта, якого ви не хочете, на цьому сервері, і зокрема, немає середовища для робочого столу чи вікна.
Xvfb :1 -screen 0 1x1x8 &
Після цього:
DISPLAY=:1 dbus-launch
DISPLAY=:1 pulseaudio --start
Після запуску Xvfb
дисплея потрібно трохи почекати, щоб дисплей став доступним. Ви можете використовувати xinit
для запуску X-сервера, а потім запускати клієнтів, коли він готовий. Покладіть команди, які потрібно запустити в сценарій (зауважте, що коли сценарій закінчується, X-сервер виходить):
#!/bin/sh
dbus-launch
pulseaudio --start
sleep 99999999
Запустіть віртуальний X-сервер за допомогою
xinit /path/to/client.script -- /usr/bin/Xvfb :1 -screen 0 1x1x8
Якщо ви хочете запустити його під час завантаження, можете запустити його з cron. Запустіть crontab -e
(як ваш користувач, а не як root) та додайте рядок
@reboot xinit /path/to/client.script -- Xvfb :1 -screen 0 1x1x8
Якщо ви хочете вбити цей сеанс, вбийте xinit
процес.