(Convertendo um comentário para uma resposta)
O argumento -loop
pode ser usado para reiniciar x11vnc em um loop. Na página do manual:
Create an outer loop restarting the x11vnc process whenever it terminates. -bg and -inetd are ignored in this mode (however see -loopbg below).
Useful for continuing even if the X server terminates and restarts (at that moment the process will need permission to reconnect to the new X server of course).