En mi sistema (Centos ),wait
no tiene -n
así que hice esto:
{ sleep 3; echo one; } &
FOO=$!
{ sleep 6; echo two; } &
wait $FOO
pkill -P $$
Esto no espera por "ninguno", sino por el primero. Pero aún puede ayudar si sabe qué servidor se detendrá primero.
Используя машину Ubuntu 14 (64-битную) с LXDE и LXDM, я смог запустить x11vnc до того, как пользователь войдет в систему без подключенной клавиатуры или монитора.
Установив буфер кадра с помощью xrandr, vnc получил разрешение экрана, равное разрешению буфера кадра.
В / etc / lxdm / LoginReady
я добавил 2 строки:
xrandr --fb 1580x950
/usr/bin/x11vnc -nevershared -noxdamage -forever -localhost -nopw -threads -bg -auth /var/run/lightdm/root/:0 -display :0 -rfbport 5900 -o /var/log/x11vnc.log &
Это может дать вам отправную точку.
Я использовал этот подход:
FD_GEOM=1920x500 FD_SESS=xfce x11vnc -create
Переменные окружения FD _GEOM и FD _SESS используются, если невозможно найти существующий дисплей. «-create» будет искать и создавать один виртуальный в противном случае.
В man x11vnc есть хороший раздел по созданию дисплеев, который должен помочь вам в дальнейшем (не копировать и вставлять его сюда, потому что разметка ужасна... ).