Fresh Ubuntu builds often need more than one package, whether you are turning on SSH, bringing up Apache, or adding a desktop environment after the initial install. Tasksel groups those related packages into named tasks, so you can install Tasksel on Ubuntu and deploy common server or desktop roles from one menu or one command.
Tasksel is available from Ubuntu’s universe repository on Ubuntu 26.04, 24.04, and 22.04. Once it is in place, you can verify the package version, inspect what each task pulls in, and use current Ubuntu task names instead of guessing with older examples that no longer match the live task list.
Install Tasksel on Ubuntu
Install the package first, then confirm APT sees the expected version before you start browsing or installing tasks.
Update Ubuntu before installing Tasksel
Refresh your package lists and bring existing packages up to date so Tasksel installs against current repository metadata.
sudo apt update && sudo apt upgrade
This guide uses
sudofor commands that need root privileges. If your account is not in the sudoers file yet, follow the guide on add a new user to sudoers on Ubuntu before continuing.
Install the Tasksel package on Ubuntu
Tasksel is a separate package on many current Ubuntu systems, so install it explicitly before you try to open the menu or call a task from the command line. If it is already present on a reused VM or existing server build, APT simply reports that the package is already at the newest version.
sudo apt install tasksel
Verify the Tasksel package on Ubuntu
Check the package policy to confirm APT sees Tasksel and its repository source correctly.
apt-cache policy tasksel
tasksel:
Installed: 3.87ubuntu1
Candidate: 3.87ubuntu1
Version table:
*** 3.87ubuntu1 500
500 http://au.archive.ubuntu.com/ubuntu resolute/universe amd64 Packages
100 /var/lib/dpkg/status
Current Ubuntu package versions differ by release: Ubuntu 26.04 ships
3.87ubuntu1, Ubuntu 24.04 ships3.75ubuntu1, and Ubuntu 22.04 ships3.68ubuntu2. APT reports Tasksel from theuniversecomponent on all three releases.
Use Tasksel on Ubuntu
Tasksel works best when you treat it as a task browser and installer, not just a package name. The commands below help you see the live task names, inspect what they install, and confirm when a task is marked as installed.
List available Tasksel tasks on Ubuntu
Start with the live task list so you work with valid task names on your release. The leading u means the task is not installed yet, while i marks an installed task.
tasksel --list-tasks
u desktop Debian desktop environment u gnome-desktop GNOME u xfce-desktop Xfce u gnome-flashback-desktop GNOME Flashback u kde-desktop KDE Plasma u cinnamon-desktop Cinnamon u mate-desktop MATE u lxde-desktop LXDE u lxqt-desktop LXQt u lomiri-desktop Lomiri u lomiri-tablet Lomiri for tablet u phosh-desktop Phosh u web-server web server u ssh-server SSH server u laptop laptop
Ubuntu 24.04 and 22.04 keep the same core desktop, web, SSH, and laptop tasks but omit the extra Lomiri and Phosh entries shown in the Ubuntu 26.04 output above.
If an older tutorial mentions standard, lamp-server, or ubuntu-desktop, confirm that the name appears in your own tasksel --list-tasks output before using it. Current Ubuntu LTS task lists do not show those names, so the sections below use the matching Tasksel or APT path instead.
Inspect what a Tasksel task installs on Ubuntu
Before you install a larger role, check which task package Tasksel uses and then inspect that meta-package with APT. This is especially helpful for desktop tasks that pull in a large dependency set.
tasksel --task-packages ssh-server
apt-cache depends task-ssh-server
task-ssh-server task-ssh-server Depends: tasksel Depends: openssh-server Recommends: openssh-client
| Tasksel name | Task package | Main package pull-in | Good fit |
|---|---|---|---|
ssh-server | task-ssh-server | openssh-server | Remote shell access and first-login administration |
web-server | task-web-server | apache2 | Quick Apache deployment from Ubuntu repositories |
gnome-desktop | task-gnome-desktop | task-desktop, gnome-core | Adding a GNOME GUI to a server or VM |
Open the Tasksel interface on Ubuntu
Use the interactive menu when you want to browse tasks first and choose them with the keyboard.
sudo tasksel
Use the arrow keys to move through the list, press Space to mark a task, press Tab to highlight <Ok>, and then press Enter to start the installation. Run this from a normal terminal window, not a noninteractive shell, so Tasksel can open its full-screen dialog interface.
Install a Tasksel task from the Ubuntu command line
When you already know the task name, call it directly from the terminal. The ssh-server task is a good starter example because it adds the Tasksel meta-package for OpenSSH without forcing a large desktop install.
sudo tasksel install ssh-server
After Tasksel finishes, verify both the meta-package and the task status.
dpkg -l task-ssh-server openssh-server | grep '^ii'
tasksel --list-tasks | grep 'ssh-server'
ii openssh-server 1:10.2p1-2ubuntu3.2 amd64 secure shell (SSH) server, for secure access from remote machines ii task-ssh-server 3.87ubuntu1 all SSH server i ssh-server SSH server
If you are building a web stack, current Ubuntu Tasksel releases do not list the older lamp-server task. Use web-server for Apache, then add the database and PHP pieces separately with guides to install Apache on Ubuntu, install MariaDB on Ubuntu, or install PHP on Ubuntu.
Install a desktop task on Ubuntu Server with Tasksel
When your main goal is to add a GUI to Ubuntu Server, dry-run the desktop task first. This shows the exact task package Tasksel will hand to APT without starting the full desktop installation.
sudo tasksel -t install gnome-desktop
debconf-apt-progress -- apt-get -q -y -o APT::Install-Recommends=true -o APT::Get::AutomaticRemove=true -o Acquire::Retries=3 install task-gnome-desktop
If the dry run looks correct, remove -t to perform the real install. Swap gnome-desktop for another valid desktop task such as kde-desktop, xfce-desktop, or cinnamon-desktop when you want a different GUI.
If you want a full desktop-specific walkthrough after the base task install, continue with guides to install KDE Plasma on Ubuntu or install Xfce on Ubuntu. If you specifically need the standard ubuntu-desktop meta-package, install that with APT instead of Tasksel because current Ubuntu task lists expose generic desktop tasks rather than an ubuntu-desktop entry.
Troubleshoot Tasksel on Ubuntu
Most Tasksel issues on Ubuntu come down to missing helper packages on minimal images, noninteractive shells, or older task names copied from dated tutorials.
Fix debconf frontend warnings with Tasksel on Ubuntu
On SSH sessions, containers, and trimmed-down Ubuntu installs, Tasksel can fall back through several debconf frontends before it gives up on the dialog interface.
debconf: unable to initialize frontend: Dialog debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.) debconf: falling back to frontend: Readline debconf: unable to initialize frontend: Readline debconf: (This frontend requires a controlling tty.) debconf: falling back to frontend: Teletype debconf: unable to initialize frontend: Teletype debconf: (This frontend requires a controlling tty.) debconf: falling back to frontend: Noninteractive
Install the helper packages that provide the dialog interface and package preconfiguration tools, then rerun Tasksel from an interactive terminal. On stripped-down images, the warning can also mention apt-utils instead of the dialog frontend.
sudo apt install dialog apt-utils
After that, open a local terminal or a normal SSH session with a TTY and run sudo tasksel again. The full-screen menu should open instead of dropping straight to debconf fallback messages.
Fix "Unable to locate package tasksel" on Ubuntu
This usually means your package lists are stale or the universe component is not enabled on a stripped-down image. Install the repository helper if needed, enable universe, refresh APT, and then retry the package install.
sudo apt install software-properties-common
sudo add-apt-repository -y universe
sudo apt update
sudo apt install tasksel
If software-properties-common is already installed, APT just confirms the current version and moves on. Once universe is enabled, apt-cache policy tasksel should again show a candidate version from Ubuntu’s repositories.
Fix "tasksel: apt-get failed (100)" on Ubuntu
This error usually means APT is already in a broken or unfinished state, so Tasksel cannot hand the task package off cleanly to the package manager.
tasksel: apt-get failed (100)
Repair broken dependencies, finish any pending package configuration, and then confirm Tasksel is visible to APT again before retrying the task install.
sudo apt --fix-broken install
sudo dpkg --configure -a
apt-cache policy tasksel
tasksel:
Installed: 3.87ubuntu1
Candidate: 3.87ubuntu1
Version table:
*** 3.87ubuntu1 500
500 http://au.archive.ubuntu.com/ubuntu resolute/universe amd64 Packages
100 /var/lib/dpkg/status
Once the package policy looks normal again, rerun sudo tasksel install ssh-server or your chosen desktop task.
Remove Tasksel from Ubuntu
Removing Tasksel takes away the task browser itself, but it does not automatically remove the server or desktop software you already installed through those tasks.
sudo apt remove tasksel tasksel-data
Preview APT’s cleanup pass before removing anything else. Reused servers and VMs can list old kernels or unrelated packages here, so continue only when the preview is safe for your system.
sudo apt autoremove --dry-run
If the preview only lists packages you intentionally want to remove, run the cleanup command without the dry-run flag.
sudo apt autoremove
If you installed a task such as
ssh-serverorweb-server, the underlying packages likeopenssh-serverorapache2stay on the system. Remove those packages separately if you want a full rollback of the role you added through Tasksel.
Finish with an installed-state check. It should show no installed Tasksel packages, even though apt-cache policy tasksel may still show a repository candidate because the package remains available from Ubuntu.
dpkg -l tasksel tasksel-data 2>/dev/null | grep '^ii' || echo "Tasksel packages are not installed"
Tasksel packages are not installed
Conclusion
Tasksel is installed on Ubuntu and ready to pull in common server or desktop roles without chasing package lists by hand. If you want to keep building from here, continue with guides to install SSH on Ubuntu, install Apache on Ubuntu, or install Nginx on Ubuntu.


Formatting tips for your comment
You can use basic HTML to format your comment. Useful tags currently allowed in published comments:
<code>command</code>command<strong>bold</strong><em>italic</em><blockquote>quote</blockquote>