#1129195 debian-installer: Debian desktop environment checkbox doesn't seem to do anything

Package:
debian-installer
Source:
debian-installer
Description:
Debian Installer documentation
Submitter:
Olaf
Date:
2026-03-18 08:53:01 UTC
Severity:
normal
#1129195#5
Date:
2026-02-27 10:52:38 UTC
From:
To:
Dear Maintainer,

In the software selection dialog, the Debian desktop environment checkbox doesn't seem to do anything. Unchecking it doesn't uncheck GNOME and it'll still install GNOME.
I think it should uncheck all desktop environments.
Checking it when no DE is checked should probably do something as well.

Olaf

#1129195#10
Date:
2026-02-27 12:41:47 UTC
From:
To:

#1129195#15
Date:
2026-02-28 10:36:25 UTC
From:
To:
Control: reassign -1 tasksel

Only if GNOME is checked.

I am not sure if the "multiselect" debconf dialog type used by tasksel
can support this kind of hierarchical selection.

#1129195#22
Date:
2026-02-28 15:44:27 UTC
From:
To:
Hi,

Pascal Hambourg <pascal@plouf.fr.eu.org> wrote (Sat, 28 Feb 2026 11:36:25 +0100):

I wonder why we have this hierarchical structure for the desktops at all ???

And if we could switch from the current


Debian desktop environment
... GNOME
... Xfce
... GNOME Flashback
... KDE Plasma
... Cinnamon
... MATE
... LXDE
... LXQt
... Lomiri
... Phosh
web server
SSH server
standard system utilities
Choose a Debian Blend for installation


to something like


GNOME desktop
Xfce desktop
GNOME Flashback desktop
KDE Plasma desktop
Cinnamon desktop
MATE desktop
LXDE desktop
LXQt desktop
Lomiri desktop
Phosh mobile desktop
web server
SSH server
standard system utilities
Choose a Debian Blend for installation



I have worked out a diff to achive this (that is: remove the "Parent: desktop"
lines, remove the entry for the "Debian desktop environment" and adjust the
"Relevance" to get the same order as before).

Patch attached.


Holger

#1129195#27
Date:
2026-02-28 16:03:08 UTC
From:
To:
Hi,

Holger Wansing <hwansing@mailbox.org> (2026-02-28):
[…]

I'm not sure that's a good idea, it makes it much harder to spot/ignore
desktop stuff and focus on critical things like whether to install an
SSH server… Especially after the extra additions to the list of desktops…


Cheers,

#1129195#32
Date:
2026-02-28 17:51:57 UTC
From:
To:
Op za 28 feb 2026 om 17:03 schreef Cyril Brulebois <kibi@debian.org>:

Perhaps the other entries can go at the top and the list of DEs can go
at the bottom.

It'd be nice to know which one. Apache?

#1129195#37
Date:
2026-02-28 22:20:30 UTC
From:
To:
Is it only visual or also functional in any way ?

[Remove "Debian desktop environment" entry and append "desktop" to other
desktop task descriptions]

True, but isn't it worth getting rid of endless users' confusion about
what the "Debian desktop environment" task actually does ?

#1129195#42
Date:
2026-02-28 23:04:21 UTC
From:
To:
Pascal Hambourg <pascal@plouf.fr.eu.org> (2026-02-28):

We (almost) never hear about people who are happy with the current
situation, so “user confusion” on its own is hardly a good reason.

One could argue this is something that should be documented in the
installation guide, and easy to find by looking up “desktop” or “task”
in its table of contents.


Cheers,

#1129195#47
Date:
2026-02-28 23:36:36 UTC
From:
To:
Hi,

Am 28. Februar 2026 23:20:30 MEZ schrieb Pascal Hambourg <pascal@plouf.fr.eu.org>:
That is:
if you choose only the "Debian desktop environment", you get the default desktop for your architecture.

In my proposal you have to choose manually which desktop you want.
However, if the machine you are installing has enough RAM and free harddisk space (2G + 5G), the default desktop for your arch (GNOME in most cases ATM) will be pre-selected anyway when calling tasksel.
I have tested, that this still works after my proposed changings.

+1

Maybe we could add an "empty" line (like "---") after the desktop entries, to visually separate the desktops from the rest?


Holger

#1129195#52
Date:
2026-02-28 23:36:13 UTC
From:
To:
I noticed a subtle difference today. I installed Debian in Hebrew
today with the Testing net installer. I chose Hebrew because it is one
of the several languages that currently has a -desktop and a
-gnome-desktop. (Many languages currently do not have both of these.)
If I installed GNOME and Debian desktop, task-hebrew,
task-hebrew-desktop, and task-hebrew-gnome-desktop were installed. If
I deselected Debian desktop and only installed GNOME (and standard
system utilities), task-hebrew was installed but neither of the hebrew
desktop tasks were installed.

This detail is not mentioned in the Debian Installation Guide 6.3.6.2
and it's not directly stated in
https://salsa.debian.org/images-team/debian-cd/-/blob/master/tasks/README.tasksel
either, although line 40 suggested to me that something like this was
possible.

This behavior feels like a bug to me.

Thank you,
Jeremy Bícha

#1129195#57
Date:
2026-03-01 00:00:41 UTC
From:
To:
Holger Wansing <hwansing@mailbox.org> (2026-03-01):

(Same disclaimer as previously.)

AFAICT this implementation meant we wouldn't need to touch debconf
frontends to teach them about some minimal tree-like structure…

… and that looks like an attempt to work around a limitation in debconf
frontends by replacing a kludge with another one.


Regardless of the documentation aspect that you haven't replied to, it
looks to me like we're not really talking about “Removing hierarchical
structure for desktop environments”, but we're talking about removing
task-desktop from the equation entirely, and I think this is a rather
different discussion.


Cheers,

#1129195#62
Date:
2026-03-01 20:06:30 UTC
From:
To:
Hi,

Cyril Brulebois <kibi@debian.org> wrote (Sun, 1 Mar 2026 01:00:41 +0100):
But IMHO this is not the same as really fixing an issue (if that's possible):
even if something is documented in the installation-guide, that does not mean
that users read (or understand) it.

But that's only my opinion.

Holger

#1129195#67
Date:
2026-03-01 20:49:16 UTC
From:
To:
Le dim. 1 mars 2026 à 01:03, Cyril Brulebois <kibi@debian.org> a écrit :


I'm naive about how tasksel works but, from a user point of view,
choosing the graphical environment and the servers are two different
needs so it could be two different screens in the installer.
Perhaps, it could be another way to simplify the interface?

#1129195#72
Date:
2026-03-01 21:34:52 UTC
From:
To:
Hi,

Stéphane Blondon <stephane.blondon@gmail.com> wrote (Sun, 1 Mar 2026 21:49:16 +0100):
It covers the whole area of use cases for a Debian machine, from a minimal
console-only installation (that can be turned into everything you want
afterwards) over servers to desktop systems (and on top, since some time
it can also be tuned via the Debian Pure Blends installation).


Holger

#1129195#77
Date:
2026-03-01 22:39:34 UTC
From:
To:
Holger Wansing <hwansing@mailbox.org> (2026-03-01):

The initial report was: “A and B were selected, I deselected A, and
still B got installed”.

You're proposing to remove A altogether, while calling that “removing
hierarchical structure”. The latter looks to be about something visual,
while the former is about changing which packages to install.

*If* we were to do that, there should definitely be some kind of
analysis comparing the situation as it is now, and what it would be if
A (task-desktop) were to be totally taken out of the equation.


I'm not saying the current situation is ideal (see Jeremy's reply
regarding the “subtle difference” for example), but it would seem
reasonable to me to start by having some kind of before/after analysis.

So far I've only read “we don't lose too much functionality”. That
*might* be the case, but I would feel much more confident if someone had
actually checked and reported that each and every desktop environment
actually pulls task-desktop anyway (this was definitely *not* obvious to
me before actually looking).


Cheers,

#1129195#82
Date:
2026-03-02 06:51:29 UTC
From:
To:
Hi,

Am 1. März 2026 23:39:34 MEZ schrieb Cyril Brulebois <kibi@debian.org>:

Obviously there was a lack of communication here on my side, sorry.
My idea was to ask in the first run, if people could agree in the removal of the hierachical structure, without any patch.

But then I thought, I should try it out first, if I can get it done and if it works at all, before pushing it to the public.

My outcome to this bug was then a ready patch, without any info about it works together and that my tests were successful and why.

Sorry, issue on my side.
I'm not good in that apparently.

Additionally, this all could mean, that the task-desktop package could go away completely, but I did not check that.


Holger

#1129195#87
Date:
2026-03-02 21:13:15 UTC
From:
To:
- tasksel task dependencies (Parent, Enhances...)
- apt/dpkg task package dependencies (Depends, Recommends...)

E.g. with gnome and hebrew tasks (only relevant dependencies are shown):

Task: desktop
Key: task-desktop

Task: gnome-desktop
Parent: desktop
Key: task-gnome-desktop

Task: hebrew-desktop
Enhances: desktop, hebrew
Key: task-hebrew-desktop

Task: hebrew-gnome-desktop
Enhances: gnome-desktop, hebrew-desktop
Key: task-hebrew-gnome-desktop

Package: task-desktop
Recommends: task-gnome-desktop | task-xfce-desktop (...)

Package: task-gnome-desktop
Depends: task-desktop

Task dependencies are described in tasksel README:

Key:
"The Key field lists packages that are essential to the task. If those
packages are not available, then the task will not be available either."

Enhances:
"If a task has a Enhances field, then it should only be installed if all
the tasks listed as in that field are installed. (...) Such tasks are
hidden from the menu."

Parent:
"Tasks can be children of a parent task, indicated by using the Parent
field. (...) This only controls the display; child tasks are displayed
nested underneath the parent. (...) Selecting the parent task does not
select any or all of the child tasks, nor does selecting a child task
ensure that the parent task is installed."

So task gnome-desktop does not pull task desktop, tasks hebrew-desktop
and hebrew-gnome-desktop are not pulled and no package dependency pulls
packages task-hebrew-desktop and task-hebrew-gnome-desktop.

#1129195#92
Date:
2026-03-08 11:28:30 UTC
From:
To:
Current state (IIUC):

selected tasks: desktop, $DE-desktop -> installed packages:
  task-desktop,
  task-$LANG-desktop,
  task-$DE-desktop,
  task-$LANG-$DE-desktop

selected tasks: desktop -> installed packages:
  task-desktop,
  task-$LANG-desktop,
  task-$DE-desktop (package Recommends, $DE = gnome by default)
  # task-$LANG-$DE-desktop not installed

selected tasks: $DE-desktop -> installed packages:
  task-desktop (package Depends),
  task-$DE-desktop,
  # task-$LANG-desktop not installed
  # task-$LANG-$DE-desktop not installed

If task desktop did not exist, it would be basically the same as
selecting a $DE-desktop task and deselecting the desktop task:

selected tasks: $DE-desktop -> installed packages:
  task-desktop (package Depends),
  task-$DE-desktop,
  # task-$LANG-desktop not installed
  # task-$LANG-$DE-desktop not installed

I do not see any simple way to fix this with current package and task
dependencies. One way may be to change the Parent task dependency so
that a parent task is automatically selected by a child task.

#1129195#97
Date:
2026-03-12 09:48:00 UTC
From:
To:
if the "desktop" task (displayed as "Debian desktop environment") is
selected and not if only specific desktop environment tasks (GNOME,
KDE...) are selected.

In addition, it appears that language tasks are selected only during the
initial installation. So if a desktop environment is selected by running
tasksel after the initial installation, then associated desktop language
tasks are not selected.

Also there is a possible issue related to web browser and libreoffice in
desktop tasks.

A typical task-$LANG-desktop package recommends firefox-esr-l10n-$LANG,
libreoffice-l10n-$LANG, libreoffice-help-$LANG which depend on
firefox-esr and libreoffice-core. This makes sense only if all desktop
environment tasks are expected to install firefox and libreoffice. Are
they ?

AFAICS in unstable, most do but there are exceptions:
- task-gnome-flashback-desktop does not install libreoffice
- task-cinnamon-desktop does not install firefox any more after commit
eb7854986 (not uploaded yet)
- task-phosh-desktop installs neither but epiphany-browser
- task-lomiri-desktop and task-lomiri-tablet install morph-browser but
also firefox-esr due to dependencies
Is all this intended ?

Other issue: task-lomiri-tablet depends on task-desktop but is not in
its Recommends alternative list. As a result, another desktop
environment (task-xfce-desktop) is also installed to satisfy this
dependency.

#1129195#102
Date:
2026-03-12 13:46:47 UTC
From:
To:
The recommendation is handled by cinnamon-desktop-environment, but
your other points look correct.

I have begun some reorganization and updating of language tasks to try
to fix some of the inconsistencies.

https://salsa.debian.org/installer-team/tasksel/-/merge_requests/?author_username=jbicha

Thank you,
Jeremy Bícha

#1129195#107
Date:
2026-03-12 14:11:09 UTC
From:
To:
But according to

# apt-get -no-act install cinnamon-desktop-environment

it doesn't install firefox. I guess this is because it also recommends
cups which depends on cups-filters which recommends lynx (why ?) which
provides www-browser which is an alternative to firefox.

#1129195#112
Date:
2026-03-12 14:15:38 UTC
From:
To:
Please file a bug or merge request against
cinnamon-desktop-environment to ask them to either remove the
www-browser alternative or replace it with gnome-www-browser. The
browser is a recommended dependency not a hard dependency, in part
because we want people to have the freedom to use a Flatpak or Snap
version instead, so it's ok to not list every single alternative or
use a virtual package like gnome-www-browser.

Thank you,
Jeremy Bícha

#1129195#117
Date:
2026-03-12 14:29:19 UTC
From:
To:
I should have mentioned I already filed bug #1130127.
#1129195#122
Date:
2026-03-18 08:50:32 UTC
From:
To:
"Base" language tasks use the "lang" test which marks them for install
only on new installation. Sounds fair. Desktop language tasks enhance
base language tasks and desktop tasks but enhancing tasks are marked for
install only if all enhanced tasked are marked for install and not if
they are already installed. I believe this is wrong and could be fixed
easily:

diff --git a/tasksel.pl b/tasksel.pl
index 80f2a75b..8abc7264 100755
--- a/tasksel.pl
+++ b/tasksel.pl
@@ -836,7 +836,7 @@ sub interactive {
                                 }

                                 foreach my $dep (@deps) {
-                                       if (! $dep->{_install}) {
+                                       if (! $dep->{_install} && !
task_installed($dep) {
                                                 $task->{_install} = 0;
                                         }
                                 }