• A more minimal task-*-desktop

    From Federico Kircheis@21:1/5 to All on Sun Jun 29 14:50:01 2025
    Hello,


    I normally install a desktop environment with tasksel, as it installs at configures most programs that are to be expected in a user-friendly
    desktop environment:

    * login manager
    * power management
    * network manager

    and so on and so on.

    I do not know most programs that are needed in order to have such
    experience, and I do not necessarily want to.
    Those programs are different between desktop environment (lxde, kde,
    mate, ...) and might change even between versions.

    The only issue I have with tasksel, is that sometimes I wish a more
    minimal environment.
    In most cases, is I would prefer it would not install some programs like libreoffice, media player, browser and mail client.

    I often use firefox/thunderbird as mail client, and vlc as media player
    and tasksel might install others.

    I could remove those packages afterwards or just set those I like as
    default, but it is suboptimal as they are still downloaded and
    installed, and if not removed will take space and bandwidth during updates.
    I would prefer not even installing them.


    I could not use tasksel and install only what I want, but then I have to learn/verify all programs that are required for a functional environment.


    Is there any way to use tasksel, but also exclude a list of programs
    from installing?
    At the end of the day, I want to avoid a small subset or programs that
    should not affect the functionality of the desktop (KDE should not stop
    working if firefox is the default browser intsead of konqueror) and that
    take a lot of space (I think libreoffice+dependencies is the biggest
    package in the lxqt environment)

    As everyone has different needs, I think that different tasksel targets
    for more minimal desktops experience are not worth.
    Now I'm complaining about four or five programs that are too much for my
    needs, but surely there is ton of stuff that I do not care, but other
    might not want on their systems.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Ritter@21:1/5 to Federico Kircheis on Mon Jun 30 16:10:01 2025
    Federico Kircheis wrote:
    I could not use tasksel and install only what I want, but then I have to learn/verify all programs that are required for a functional environment.



    Don't use a tasksel desktop.

    Install one of these metapackages for KDE:

    kde-full/stable 5:142 amd64
    complete KDE Software Compilation for end users

    kde-plasma-desktop/stable 5:142 amd64
    KDE Plasma Desktop and minimal set of applications

    kde-standard/stable 5:142 amd64
    KDE Plasma Desktop and standard set of applications

    Or xfce4 to get a working XFCE environment.

    There doesn't seem to be a similar metapackage for GNOME, but
    perhaps I just missed it.

    Any of these should get you to a point where everything is
    working.

    -dsr-

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Owlett@21:1/5 to Dan Ritter on Mon Jun 30 16:10:01 2025
    On 6/30/25 8:46 AM, Dan Ritter wrote:
    Federico Kircheis wrote:
    I could not use tasksel and install only what I want, but then I have to
    learn/verify all programs that are required for a functional environment.



    Don't use a tasksel desktop.

    Install one of these metapackages for KDE:

    kde-full/stable 5:142 amd64
    complete KDE Software Compilation for end users

    kde-plasma-desktop/stable 5:142 amd64
    KDE Plasma Desktop and minimal set of applications

    kde-standard/stable 5:142 amd64
    KDE Plasma Desktop and standard set of applications

    Or xfce4 to get a working XFCE environment.

    There doesn't seem to be a similar metapackage for GNOME, but
    perhaps I just missed it.

    Any of these should get you to a point where everything is
    working.

    -dsr-



    Does any of this apply to the MATE desktop? TIA

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Michael Paoli@21:1/5 to All on Mon Jun 30 19:20:01 2025
    The only issue I have with tasksel, is that sometimes I wish a more
    minimal environment.

    Then don't use tasksel to install package(s).

    One can, however, use tasksel to list its tasks,
    and from those, the corresponding package(s),
    and in turn, from those, the dependencies and recommends thereof.

    E.g.:
    $ 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 web-server web server
    u ssh-server SSH server
    u laptop laptop
    $ tasksel --task-packages desktop
    task-desktop
    $ apt-cache show task-desktop | grep -E '^(Depends|Recommends):'
    Depends: tasksel (= 3.73), xorg, xserver-xorg-video-all, xserver-xorg-input-all, desktop-base
    Recommends: task-gnome-desktop | task-xfce-desktop | task-kde-desktop
    | task-lxde-desktop | task-gnome-flashback-desktop |
    task-cinnamon-desktop | task-mate-desktop | task-lxqt-desktop,
    xdg-utils, fonts-symbola, avahi-daemon, libnss-mdns, anacron, eject,
    iw, alsa-utils, sudo, firefox | firefox-esr, cups
    $
    And one can continue to drill down to determine just what package(s)
    one wants to install,
    and of course the APT system will also handle dependencies thereof. So, e.g.: $ apt-cache show task-gnome-desktop | grep -E '^(Depends|Recommends):'
    Depends: tasksel (= 3.73), task-desktop, gnome-core
    Recommends: gnome, synaptic, libreoffice-gnome, libreoffice-writer, libreoffice-calc, libreoffice-impress, libreoffice-help-en-us,
    mythes-en-us, hunspell-en-us, hyphen-en-us, network-manager-gnome
    $
    So, in such case, one might just want to install, e.g. gnome-core

    And most users, when installing, generally don't want to be
    overwhelmed with excessive choices,
    and when choosing to install a desktop environment, generally expect
    it will be quite complete and
    cover all they expect and will likely find they want associated with
    that, and not have to be hunting down
    additional package to install to give them a (relatively) complete
    desktop environment. For those that want
    less, they can install more specifically/limited, as I suggested. And
    if the default were much more minimal on
    the tasksel selection, there'd be lots of complaints about "missing"
    stuff they didn't get that they expected
    to be installed and working with their desktop environment selection
    from tasksel. And if tasksel gave lots
    more options at installation time, plenty of folks would complain about that.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Federico Kircheis@21:1/5 to Michael Paoli on Thu Jul 3 16:40:01 2025
    On 30/06/2025 7:11 pm, Michael Paoli wrote:
    The only issue I have with tasksel, is that sometimes I wish a more
    minimal environment.

    Then don't use tasksel to install package(s).

    Yes, this is what I am doing, but then I need to manually track all
    packages installed by tasksel, and list all those I'm interested in.

    And often I do not know which one I'm interested one, but I know those I
    do not want.

    And this also holds for metapackages like lxqt.
    It still installs a lot of things, so down to lxqt-core.
    It still installs some things I've noticed and to not want, so I need to inspect which packages are installed, transitive dependencies included..

    I hoped it would have been possible to exlucde dependencies, for examle
    by prefixing them with "-"; for example:

    apt install lxqt -meteo-qt

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Ritter@21:1/5 to Federico Kircheis on Thu Jul 3 17:50:01 2025
    Federico Kircheis wrote:
    On 30/06/2025 7:11 pm, Michael Paoli wrote:
    And this also holds for metapackages like lxqt.
    It still installs a lot of things, so down to lxqt-core.
    It still installs some things I've noticed and to not want, so I need to inspect which packages are installed, transitive dependencies included..

    I hoped it would have been possible to exlucde dependencies, for examle by prefixing them with "-"; for example:

    apt install lxqt -meteo-qt


    You can postfix "-" to get that behavior.

    apt install lxqt meteo-qt-

    Also, do you know that the -s switch to apt install will tell
    you the whole plan without retrieving or installing the packages?

    -dsr-

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Federico Kircheis@21:1/5 to Dan Ritter on Thu Jul 3 18:20:01 2025
    On 03/07/2025 5:28 pm, Dan Ritter wrote:
    Federico Kircheis wrote:
    On 30/06/2025 7:11 pm, Michael Paoli wrote:
    And this also holds for metapackages like lxqt.
    It still installs a lot of things, so down to lxqt-core.
    It still installs some things I've noticed and to not want, so I need to
    inspect which packages are installed, transitive dependencies included..

    I hoped it would have been possible to exclude dependencies, for example by >> prefixing them with "-"; for example:

    apt install lxqt -meteo-qt


    You can postfix "-" to get that behavior.

    apt install lxqt meteo-qt-


    Oh; i was not aware of that, is it specific for apt?
    man apt does not seem to mention it.
    I'll try it out.


    Also, do you know that the -s switch to apt install will tell
    you the whole plan without retrieving or installing the packages?

    But if I list all packages, then remove all those that I obviously do
    not need, and write a script that install only those, it might "break"
    when some packages are updated or new dependencies are added.
    With the blacklist approach, I expected it would break only if the
    package is now required.


    On 03/07/2025 5:51 pm, Greg wrote:
    I'm only aware of '--no-install-recommends' as far as apt goes.

    Yes, but it has the same issue.
    Now many things are missing, and I need to search them out, and
    dependencies might change between package releases.

    Of course, with a 100 terabyte hard disk, it can seem rather silly.

    * my drives are nowhere that big, but if someone will pay for a
    replacement, no offense taken, although on some devices it is not that
    easy to replace them

    * downloading and uploading unnecessary data not only takes space on
    my drive, but also takes more time and unnecessarily consumes my traffic
    plan. I'm not necessarily talking about the .deb file by itself, but
    also docker images, iso files, virtual machines, and so on, which are
    built on top of installed deb packages.

    * a system with more dependencies has a higher chance to break than a
    system with less dependencies when upgrading components

    * offsite backups take longer, as verifying they integrity and restore process


    And I'm sure I can find other reason why avoiding some unnecessary
    dependencies has positive side-effects

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Greg Wooledge@21:1/5 to Federico Kircheis on Thu Jul 3 20:10:01 2025
    On Thu, Jul 03, 2025 at 18:15:42 +0200, Federico Kircheis wrote:
    Oh; i was not aware of that, is it specific for apt?
    man apt does not seem to mention it.
    I'll try it out.

    Mine says:

    install, reinstall, remove, purge (apt-get(8))
    Performs the requested action on one or more packages specified via
    regex(7), glob(7) or exact match. The requested action can be
    overridden for specific packages by appending a plus (+) to the
    package name to install this package or a minus (-) to remove it.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Federico Kircheis@21:1/5 to David Wright on Fri Jul 4 07:10:02 2025
    On 04/07/2025 5:56 am, David Wright wrote:
    On Thu 03 Jul 2025 at 18:15:42 (+0200), Federico Kircheis wrote:
    On 03/07/2025 5:28 pm, Dan Ritter wrote:
    Federico Kircheis wrote:
    And this also holds for metapackages like lxqt.
    It still installs a lot of things, so down to lxqt-core.
    It still installs some things I've noticed and to not want, so I need to >>>> inspect which packages are installed, transitive dependencies included.. >>>>
    I hoped it would have been possible to exclude dependencies, for example by
    prefixing them with "-"; for example:

    No, you don't want to exclude dependencies; doing that will break
    packages. That's why they're call dependencies: the package depends
    on them being installed.

    "apt install lxqt -meteo-qt"

    meteo-qt is not a dependency: it's only recommended.

    Isn't a recommended package a dependency?

    On 03/07/2025 5:51 pm, Greg wrote:
    I'm only aware of '--no-install-recommends' as far as apt goes.

    Yes, but it has the same issue.
    Now many things are missing, and I need to search them out, and
    dependencies might change between package releases.

    Except that it reverses the logic: --no-install-recommends will
    install the packages you ask for, but with minimal extra packages.

    When you find that some expected functionality is absent, you
    install the package that gives you that functionality, again

    Yes, but I do not know which package provides the missing functionality.
    For example, with --no-install-recommends, icons are not shown correctly
    and trash does not work.

    Those are two things I've immediately noticed.
    I can track down the relevant packages (it takes time) but how many
    other things might I have missed?

    And that's just because I did not want some extra functionality I know I
    do not want.

    Excluding two or three packages is much easier, and the suggested
    approach of appending a - works perfectly if the package was not installed.


    The amount of time required to install a desktop environment from
    scratch with "--no-install-recommends" (including testing that
    everything works correctly) is not worth the space/resources I am going
    to save.
    The more practical approach to install the desktop environment as
    recommended, minus some packages I know I do not need, costs only a
    fraction of time.
    Yes, I might still have some packages I do not need (without me knowing
    it), but hopefully the amount of space it takes is negligible for my
    use-cases.

    with --no-install-recommends to keep your system minimal.

    "Now many things are missing":

    Well, you can hardly expect the Debian or the DE developers to guess
    which functions happen to be the ones that you want.

    "and I need to search them out":

    Hardly onerous: the package names are likely to be in the Recommends
    list of the top-level package you installed.

    Might be the case for many command-line tools and most applications,
    with the desktop environment my experience differs, even when looking at lxqt-core.

    But if I list all packages, then remove all those that I obviously do
    not need, and write a script that install only those, it might "break"
    when some packages are updated or new dependencies are added.
    With the blacklist approach, I expected it would break only if the
    package is now required.

    If your "blacklist" system causes breakages, then you can hardly
    expect Debian developers to give it any consideration at all.

    If the script breaks it's a good thing, and obviously it's up to me to
    fix it.
    I am not expecting Debian developers to give it any consideration.

    With the whitelist I install all the packages, some are not even needed anymore, and then some functionality might still be missing.

    * downloading and uploading unnecessary data not only takes space on
    my drive, but also takes more time and unnecessarily consumes my
    traffic plan.

    * offsite backups take longer, as verifying they integrity and
    restore process

    Those are reasons why --no-install-recommends was provided in the
    first place.

    I'm not necessarily talking about the .deb file by
    itself, but also docker images, iso files, virtual machines, and so
    on, which are built on top of installed deb packages.

    That's a separate concern, and in your hands.

    Which is why I do not think that big drives are a good argument, not
    sure if we disagree here.

    * a system with more dependencies has a higher chance to break than a
    system with less dependencies when upgrading components

    And I'm sure I can find other reason why avoiding some unnecessary
    dependencies has positive side-effects

    Again, you're confusing the issue by using the wrong terminology.
    APT makes sure that dependencies are satisfied. If an extra dependency
    is added (rare), it gets installed.¹ If an extra Recommends is added,
    you might not even notice the fact when --no-install-recommends is in
    force: and if it were to be undesirable, you wouldn't have to do
    anything about eliminating it, like blacklisting it.

    ¹ apt-get users might require dist-upgrade or --with-new-pkgs when
    this happens.

    Cheers,
    David.


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From tomas@tuxteam.de@21:1/5 to Federico Kircheis on Fri Jul 4 07:30:01 2025
    On Fri, Jul 04, 2025 at 07:04:32AM +0200, Federico Kircheis wrote:

    [...]

    Isn't a recommended package a dependency?

    That... depends :-)

    In the strict Debian sense, there is "depends": your package won't
    work if that dependency is not installed. "Recommends": your package
    might be missing some interesting functionality, but will work,
    in general.

    One example:

    tomas@caliban:~$ apt show xpdf
    Package: xpdf
    Version: 3.04+git20220601-1+b2
    [...]
    Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.0), libpaper1, libpoppler126 (>= 22.12.0), libstdc++6 (>= 11), libx11-6, libxm4 (>= 2.3.4), libxt6
    Recommends: poppler-utils, poppler-data, gsfonts-x11, cups-bsd, sensible-utils

    If libc6 isn't there, the xpdf binary won't even start. If it has a
    version less than 2.34, it might start, but might do funny things.

    OTOH, if you don't have poppler-utils, xpdf will work fine, but you
    might miss some nice things to play with PDFs.

    (Life, being what it is, gives us a grey area between "doesn't work
    at all" and "reduced functionality" -- where'd be the fun otherwise?)

    FWIW, I like a minimal system, so I have in /etc/apt/apt.conf.d/95no-recommends

    APT::Install-Recommends no;

    This puts the burden on me to look at the Recommends section in packages
    I install and decide on a case-by-case basis.

    Cheers
    --
    t

    -----BEGIN PGP SIGNATURE-----

    iF0EABECAB0WIQRp53liolZD6iXhAoIFyCz1etHaRgUCaGdkrAAKCRAFyCz1etHa RmDbAJ4tO7K5cbpXkYndBE5ovgjJJ3T9aACfb+m1CxFDSTd6QWH0wJbFI9MMN8A=
    =k9XS
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Federico Kircheis@21:1/5 to David Wright on Fri Jul 4 23:10:01 2025
    On 04/07/2025 5:32 pm, David Wright wrote:
    On Fri 04 Jul 2025 at 07:04:32 (+0200), Federico Kircheis wrote:
    Excluding two or three packages is much easier, and the suggested
    approach of appending a - works perfectly if the package was not
    installed.

    In which case, I think you should install the equivs package (it's
    in every suite) and use it to build your own packages called
    libreoffice, etc.

    But wouldn't it break if I want to install libreoffice at a later point?


    You still need to use one of -s, --simulate, --just-print, --dry-run, --recon, --no-act, in order to see just which package equivalents you
    need to build.

    Then, in future, you install all your equivalents before you install
    the DE itself, and APT/dpkg will see that those _recommendations_ are
    already installed. But repeat the -s run after installing your first
    set of equivalents in case there are any second-order recommendations.

    Cheers,
    David.


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Ritter@21:1/5 to Federico Kircheis on Sat Jul 5 15:40:01 2025
    Federico Kircheis wrote:
    On 04/07/2025 5:32 pm, David Wright wrote:
    On Fri 04 Jul 2025 at 07:04:32 (+0200), Federico Kircheis wrote:
    Excluding two or three packages is much easier, and the suggested approach of appending a - works perfectly if the package was not installed.

    In which case, I think you should install the equivs package (it's
    in every suite) and use it to build your own packages called
    libreoffice, etc.

    But wouldn't it break if I want to install libreoffice at a later point?

    Yes, you would need to uninstall it first.

    If you want a system which can support multiple versions of a
    package simultaneously, you will need to look at things like
    Lix, and you will need to do even more work.

    The point of a Linux distribution is to make things easy to
    install software in a way that makes sense to the distribution's
    people. If you don't like the way Debian does it, there are many
    other distributions, and you can even create your own.

    The best thing about a Linux distribution is that you gain a
    community of people who know how to do things in the ways that
    the distribution encourages. You have to rebuild that if you go
    your own way.

    -dsr-

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)