Eu tive o mesmo problema e depois de algum trabalho com o x11vnc e o gdm, decidi simplesmente voltar ao lightdm:
apt install lightdm
Isso deve trazer a configuração do gerenciador de exibição. Se não for executado:
dpkg-reconfigure lightdm
Agora executo meu servidor x11vnc via supervisor com a seguinte configuração:
$ cat /etc/supervisor/conf.d/x11vnc.conf
[program:x11vnc]
command=/usr/bin/x11vnc -xkb -safer -nopw -once -geometry 1024x768 -auth /var/run/lightdm/root/\:0 -display :0
user=root
autorestart=true
Além disso, eu corro noVNC (também via supervisor) na parte superior para poder acessar minha área de trabalho remotamente apenas por meio de um navegador. Apenas para o caso de você estar interessado, os arquivos de configuração são assim:
$ cat /etc/supervisor/conf.d/novnc.conf
[program:noVNC]
command=/opt/noVNC/utils/launch.sh --vnc localhost:5900
user=root
$ cat /etc/nginx/sites-enabled/novnc
upstream vnc_proxy {
server 127.0.0.1:6080;
}
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
include snippets/snakeoil.conf;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
auth_pam "Secure Zone";
auth_pam_service_name "nginx";
proxy_pass http://vnc_proxy/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
keepalive_requests 10000;
proxy_read_timeout 61s;
proxy_buffering off;
}
}
Você pode querer incluir alguma segurança adicional em torno dele.