====== Configuring Remote VNC on Ubuntu ====== ---- Ubuntu 18.04 (and possibly later versions) switched from LightDM to GDM3. Connecting to the login screen with VNC while using GDM3 is currently not possible. The easiest way to get this VNC functionality back is to simply switch back from GDM3 to LightDM (which is still being activity developed and used by many Linux distros). === Install LightDM === apt install lightdm Should you for some reason come to regret switching to LightDM you can revert back to GDM3: dpkg-reconfigure gdm3 === Install x11vnc from packages === apt install x11vnc === Create the file /lib/systemd/system/x11vnc.service with the following contents: === # Description: Custom Service Unit file # File: /lib/systemd/system/x11vnc.service [Unit] Description="x11vnc" Requires=display-manager.service After=display-manager.service [Service] ExecStart=/usr/bin/x11vnc -loop -nopw -shared -xkb -repeat -noxrecord -noxfixes -noxdamage -forever -rfbport 5900 -display :0 -auth guess ExecStop=/usr/bin/killall x11vnc Restart=on-failure Restart-sec=2 [Install] WantedBy=multi-user.target === Set the x11vnc service to automatically start at boot === systemctl enable x11vnc.service === Start the x11vnc service === This assumes screen :0 represents your monitor and binds x11vnc to that monitor instead of a session. If you do not have a monitor (headless) it is possible to install a fake monitor driver and bind x11vnc to that. systemctl start x11vnc.service === Side Notes === - In case you are using virt-manager (which also enables VNC on 127.0.0.1:5900), you may want to bind x11vnc to your LAN IP (//-listen 10.0.0.1//) - The parameters used to start x11vnc tell it not to ask for an additional password (//-nopw//) ==== Require username at GUI login (hiding list of valid users) ==== The user list shown at login can be disabled by setting the ''org.gnome.login-screen.disable-user-list'' GSettings key. When the user list is disabled, users need to type their user name and password at the prompt to log in. Create the gdm profile (/etc/dconf/profile/gdm) which contains the following lines: user-db:user system-db:gdm file-db:/usr/share/gdm/greeter-dconf-defaults Create a gdm keyfile for machine-wide settings in /etc/dconf/db/gdm.d/00-login-screen: [org/gnome/login-screen] # Do not show the user list disable-user-list=true Update the system databases: dconf update