Let's find the exact list of packages for fun:
First, browse http://cdimages.ubuntu.com until we find matching .manifest files for the same release of Desktop and Server.
Second, let's download those. I'll use Pi images because they are easy to find.
Code:
wget -q -O desktop http://cdimage.ubuntu.com/ubuntu/releases/jammy/release/ubuntu-22.04.1-preinstalled-desktop-arm64+raspi.manifest
wget -q -O server http://cdimage.ubuntu.com/ubuntu/releases/jammy/release/ubuntu-22.04.1-preinstalled-server-arm64+raspi.manifest
Now let's simply run a diff on both files, and keep the ones on server only (prepended by diff to have a '<')
Code:
diff server desktop | grep '<'
This gives us a list of 82 packages. A couple might be Pi-specific, so your mileage may vary.
Browsing the list shows us a lot of the expected suspects: byobu, cloud-init, curl, git, htop, openssh-server, openssh-sftp-server, overlayroot, screen, ssh-import-id, tmux, and vim. And a bunch of their libraries and dependencies.
Also there is the metapackage ubuntu-server, which includes most of those applications.
So a SHORT answer is to uninstall the ubuntu-server metapackage, openssh-server, and openssh-sftp-server. That will get you 90% of the way to a non-server system and will leave no forgotten services listening (Don't trust a random internet post: Check that for yourself using "ss")
The longer answer is the complete list of about 80 packages.
Bookmarks