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 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.
This guide supports Ubuntu 26.04 LTS, 24.04 LTS, and 22.04 LTS. The install command stays the same on Ubuntu Server, desktop, and minimal images, although stripped-down installs are more likely to need the troubleshooting steps later for
dialog,apt-utils, oruniverse. Ubuntu 26.04 adds extra desktop tasks such as Lomiri and Phosh to the task list shown later.
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.86ubuntu2
Candidate: 3.86ubuntu2
Version table:
*** 3.86ubuntu2 500
500 http://au.archive.ubuntu.com/ubuntu resolute/universe amd64 Packages
Current Ubuntu package versions differ by release: Ubuntu 26.04 ships
3.86ubuntu2, 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.
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-2ubuntu1 amd64 secure shell (SSH) server, for secure access from remote machines ii task-ssh-server 3.86ubuntu2 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 -y
sudo dpkg --configure -a
apt-cache policy tasksel
tasksel:
Installed: 3.86ubuntu2
Candidate: 3.86ubuntu2
Version table:
*** 3.86ubuntu2 500
500 http://au.archive.ubuntu.com/ubuntu resolute/universe amd64 Packages
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
Follow that with APT’s cleanup pass to remove any now-unused dependencies.
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.
Run the package policy check one last time to confirm Tasksel itself is gone.
apt-cache policy tasksel
tasksel:
Installed: (none)
Candidate: 3.86ubuntu2
Version table:
3.86ubuntu2 500
500 http://au.archive.ubuntu.com/ubuntu resolute/universe amd64 Packages
Frequently Asked Questions
Yes. The same package and task names work on Ubuntu Server, desktop, and minimal installs. The main difference is that stripped-down images are more likely to need dialog, apt-utils, or the universe repository enabled before the interface and package flow work cleanly.
Yes. Current Ubuntu releases list desktop tasks such as gnome-desktop, kde-desktop, cinnamon-desktop, and xfce-desktop when you run tasksel --list-tasks. Choose the desktop task you want, but remember that a GUI install pulls in a large package set and makes more sense for local systems, lab machines, and VMs than for lean headless servers.
Current Ubuntu Tasksel lists use generic desktop task names instead of an ubuntu-desktop entry. If you want the standard Ubuntu desktop meta-package specifically, install it with sudo apt install ubuntu-desktop. If you want to stay inside Tasksel, pick a desktop task such as gnome-desktop or kde-desktop from the live task list.
Current Ubuntu Tasksel releases list web-server but not the older lamp-server task. Use web-server when you want Apache from Tasksel, then install PHP and your database separately with APT so you can choose the stack you actually want.
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:
<code>command</code>command<strong>bold</strong><em>italic</em><blockquote>quote</blockquote>