1
I am using a RaspberryPI 3 with Ubuntu 18.04 x64 with a 64bit fork of the raspbian kernel. No monitor is connected to the Raspberry. I installed the xfce desktop environment to run some graphical applications when needed. To use the x server, I installed xrdp. However I do want to use only one x-session, and xrdp opens a new desktop every time you connect. So I installed x11vnc. I still want to connect via windows rdp though. So what I ended up doing was create a service that starts x11vnc via systemd, only accepting connections from localhost (thus disabling ssl is OK):
/etc/systemd/system/x11vnc.service:
[Unit]
Description=VNC Server
Requires=lightdm.service
After=lightdm.service
[Service]
Environment=UNIXPW_DISABLE_SSL=1
Type=simple
ExecStart=/usr/local/bin/x11vnc -unixpw -display :0 -auth /var/run/lightdm/root/:0 -rfbport 5900 -no6 -shared -localhost -loop2000 -solid #000044 -oa /var/log/vncserver.log -wait 50 -xdamage -ncache 10 -ncache_cr
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
RestartSec=10
[Install]
WantedBy=graphical.target
and then I added this to /etc/xrdp/xrdp.ini, allowing me to connect via rdp to the x11vnc server
[LocalVNC]
name=LocalVNC
lib=libvnc.so
ip=127.0.0.1
port=5900
however when I connect the screen resolution is fixed at 656x414 and I can not change it via the system settings. how do I increase the screen resolution to something more sensible, say at least 800x600?
Edit:
I believe it's the VNC server that messes with the resolution, as the XRDP session selection has a high resolution. I had a look into the manual of x11vnc, and I found the -geometry WxH argument. However it simply scales the small screen, so instead of having a higher resolution, I get a blury mess.