Published 2022-07-24.
Last modified 2024-09-18.
Time to read: 3 minutes.
Ubuntu 22.04 was a traumatic release for me. It had many breaking changes.
The Ubuntu Desktop
It seems that the Ubuntu desktop technology changes radically for every major release. Sometimes, what worked for the previous release no longer works, and you need to figure out why the server you are updating no longer starts up properly.
One of the big changes is that many/most processes now run under
systemd
,
instead of SystemV init
.
Even though systemd
provides support for the old SystemV and
Linux Standard Base (LSB) init scripts,
the boot sequence, for example, has completely changed.
Learning to love systemd is a good overview article.
As an example of how change causes pain to the uninitiated, I found I had to execute the following when rebuilding the server, to make it boot into the graphical target once the desktop environment had been installed. Before I did that, all kinds of weird error messages were appearing that gave no clue as to what the problem was.
$ sudo systemctl set-default graphical.target $ sudo systemctl default
The Geek Diary has a good article entitled How to set default target (default runlevel). Althought the article was written about CentOS / RHEL 7 it is perfectly applicable to Ubuntu 22.04, and explains the above commands.
GNOME Dumped VNC
It is no longer possible to remotely view the default Ubuntu desktop under VNC. The windowing manager is now Wayland with the GNOME desktop environment, as per the standard Ubuntu 22.04 desktop ISO image. By default, the GNOME Display Manager (GDM3) display manager starts the X11 and Wayland windowing systems.
Happily, this means X11 apps continue to work standalone, as they should, for example
xeyes
,
meld
and
gedit
.
However, the GNOME desktop will no longer work with any VNC server. Unfortunately, GNOME 42 dropped support for VNC and now requires RDP instead. You can enable X-Windows and run an older desktop, such as XFCE, to support VNC, but I do not want to do that.
Ubuntu's Default VNC Server: Vino
Vino
is a VNC server that is preinstalled by the Ubuntu 22.04 Desktop ISO image.
However (emphasis mine):
GNOME Remote Desktop is part of the GNOME Mutter project. GitLab project.
While Mutter can be used stand-alone, it is primarily intended to be used as the display core of a larger system such as GNOME Shell. For this reason, Mutter is very extensible via plugins, which are used both to add fancy visual effects and to rework the window management behaviors to meet the needs of the environment. – From GNOME Mutter
There is no longer any user interface for enabling VNC support; instead use the command line utility
grdctl
.
– From GNOME Remote Desktop
RDP
The command line tool for configuring GNOME Remote Desktop is called grdctl
.
This is the help message:
$ grdctl --help Usage: grdctl [OPTIONS...] COMMAND [SUBCOMMAND]... Commands: rdp - RDP subcommands: enable - Enable the RDP backend disable - Disable the RDP backend set-tls-cert <path-to-cert> - Set path to TLS certificate set-tls-key <path-to-key> - Set path to TLS key set-credentials <username> <password> - Set username and password credentials clear-credentials - Clear username and password credentials enable-view-only - Disable remote control of input devices disable-view-only - Enable remote control of input devices
vnc - VNC subcommands: enable - Enable the VNC backend disable - Disable the VNC backend set-password <password> - Set the VNC password clear-password - Clear the VNC password set-auth-method password|prompt - Set the authorization method enable-view-only - Disable remote control of input devices disable-view-only - Enable remote control of input devices
status [--show-credentials] - Show current status
Options: --help - Print this help text
RDP Problems
The following gave me a black screen:
$ sudo apt install xrdp
$ sudo adduser xrdp ssl-cert # add xrdp into ssl-cert group
$ sudo systemctl start xrdp # start xrdp service
$ systemctl is-active xrdp # display current xrdp service state active
$ sudo systemctl enable xrdp # start xrdp on system startup
To configure
Remote Desktop from within GNOME,
go to System / Preferences / Remote Desktop, and
enable Allow other users to view your desktop in the Remote Desktop.
vino
I fussed around for a while, then gave up.
VNC and systemd
After much searching I found
Install RealVNC Server and Client on Ubuntu 22.04|20.04|18.04 by
Frankline Bett.
This article was the only one that seemed to explain how to work with systemd
properly,
and it uses the existing desktop graphical server,
instead of installing something another like xfce4 or
Mate.
If only the instructions in the article actually worked with Ubuntu 22.04!
WS-Discovery Service
wsdd
is a Linux daemon for the
ONVIF WS-Discovery service.
It has worked well for me.
Wsdd
(v2:0.7.0-1)
is available in the Ubuntu 22.04 (Jammy Jellyfish) Universe repository.
Install it so your samba
server appears in the Network section of the Windows 10 File Manager.
$ sudo apt install wsdd