Вы можете использовать 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
процесс.