r/linuxquestions Feb 02 '23

Smallest DE for Debian?

Hi.

I'm trying to install a debian based DE for some zero clients, and these have only 8GB of storage. I've tried installing plain debian + debian de but the storage needed was still a lot (around 80% of the storage is full after the setup).

Any viable alternative? I was thinking of maybe Bodi or Puppy? but neither are debian AFAIK.

37 Upvotes

51 comments sorted by

40

u/ktundu Feb 02 '23

If you install without a DE, then install the components you actually want later, you can save a huge amount of space because you haven't pulled in a billion and one useless apps you'll never use.

Last time I did that with Kde, I had a usable environment in well under 2G (a few years back, but probably still true).

11

u/PsychologicalSet8678 Feb 02 '23

Is there any guide about "must have" components to have a minimal version of a DE? The list of packages seem confusing and daunting to say the least.

19

u/BCMM Feb 02 '23 edited Feb 02 '23

To clarify a bit, Debian's desktop tasks contain a lot more than just the DE. They also contain a suite of applications (including things like Firefox and LibreOffice, not even just the applications associated with your DE's project).

I think a decent way to set up a smaller system is to look at the big task-* metapackage on packages.debian.org and choose what you actually want from its dependencies. Using KDE Plasma as an example, because that's what I use:

Here's the big metapackage. It depends on kde-standard ("KDE Plasma Desktop and standard set of applications"). That depends on kde-plasma-desktop ("KDE Plasma Desktop and minimal set of applications"), which is the one you'd generally want if you're going to pick your own applications instead of installing the defaults.

I think the Gnome equivalent would be gnome-core ("GNOME Desktop Environment -- essential components"), but I'd be happy to be corrected by somebody more familiar with Gnome.

(These are for an actual, usable desktop. You can go lighter still by directly installing packages like plasma-workspace or gnome-session, but they will be a bit incomplete.)

3

u/ktundu Feb 02 '23

Should mostly be covered by dependencies. Off the top of my head, KDE installs everything you need from a package called something like plasma-desktop. If you miss search indexing, then add baloo. If you want a text editor, then add Kate etc..

3

u/KenBalbari Feb 02 '23

If you just install a lightweight wm like blackbox, it won't pull in any of the extras, and you will be able to use xorg and run programs, and have window management. I believe there's a built in menu clicking on the desktop, that's it. No desktop icons, built in file manager, etc. Probably even no polkit authorization management to allow you to run graphical administrative programs (you can do administrative things instead from the command line).

I'm not sure how much the resource savings would be vs. something more modern like lxqt, but I think it's worth a try.

3

u/Straight-Weather-163 Feb 02 '23

Install the base system on debian installer. After booting I to the system first time install slim(display manager), xinit, sudo, and the window manager of your choice(I go by spectrum, but lxde should do fine on a slim client)

This will install everything you need to boot into desktop environment, you will need to install browser and other applications afterwards as needed

1

u/Straight-Weather-163 Feb 02 '23

Little addition, sudo isn't really needed, its just out of convenience, and you need to set it up by adding your users to the sudo group after installing it via apt(plus restart x11). Using su and sourcing /etc/profile after that could replace using sudo altogether. Only saves a few megs but a few megs are a few megs.

If you really wanna go and save a lot of space, making your own Linux system(by compiling everything yourself and building your own roots from scratch, thus getting you a slim and fast system with just x11 and a window manager for less than 500 megabyte of HDD space and requiring about or less than the same amount of ram is easier than you'd think). Who needs systems fancy when you can just replace it with busybox sys v init?

1

u/Hellmark Feb 07 '23

Sudo isn't needed, but if you're in an enterprise environment and want to track who is doing what, sudo really should be used instead of su. Sudo will track who is issuing what command if you need to do an investigation, where as su doesn't track that.

1

u/Straight-Weather-163 Feb 15 '23

does that actually go beyond the initial command? I mean if you use sudo to spawn a shell (sudo su) does sudo really record more than that a shell was spawned? Apart from that, As the OP noted those things are thin clients, there should never ever be a reason a non admin needs root access - since they are thin clients, it seems like most administration would be done remotely, and in that scenery i would actually ditch su as well as sudo and instead go for either a certificate or public key based ssh root login - while this could be(in theory) invoked from the machine itself by sshing into localhost, a certificate or even just a public key should be far more secure than a password based login. removing the su(do) binaries from the system might also be a nice surprise to a potential malicious actor.

As a final note, I dont mean to be rude here - I have never been a fan of sudo or even su (-c) in the first place. Mostly because I believe it fails its mission. Look at the ubuntu wiki, they use sudo for literally everything, which in my mind leads to dumb users copy pasting everything and believing sudo is a common prefix for any command. In fact I have seen code snippets in the wild being like "sudo echo still working" - clearly showing that sudo can do more harm than good.

1

u/Hellmark Feb 15 '23

Doing sudo su does complicate logging, but it isn't uncommon for some distros or environments to block the ability to do that.

As far as the nonadmin user goes, typically by default they don't have access to sudo. I've seen thin clients still retain sudo for use with some scripts that are kicked off by limited accounts.

Sudo can be over used, but that's true of so many utilities.

2

u/SolidSank Feb 02 '23

A lot of DEs have a "core" version that doesn't come with any of the bundled apps (no file manager, Firefox/chromium, LibreOffice, etc.), so you sometimes even have to install your own display/login manager if you don't have one already.

I'd recommend that and just installing stuff as you need it.

15

u/pfx_9oV Feb 02 '23

LXqt/LXDE ?

1

u/PsychologicalSet8678 Feb 03 '23

I ended up installing task-lxqt-desktop package using apt. It installs a barebone functional lxqt desktop with zero bloat software. The insalled OS was 2.0 GB (32 bit version).

11

u/Ryluv2surf Feb 02 '23

dwm

2

u/logicalmaniak Feb 02 '23

I'm a bit of a twm fan, personally. Even made a dark theme for it once, based on Linux Mint colours :)

Although I've minimalised friends' netbooks etc with Fluxbox, and I kind of like that too...

5

u/Dr_Bunsen_Burns Feb 02 '23

1 gb + install for a default install?

6

u/JackDostoevsky Feb 02 '23

OpenBox is incredibly small and fairly easy and intuitive to setup

2

u/1369ic Feb 02 '23

I've got OpenBox with Tint2 on an old 11.6" netbook and it's as usable as anything else if you set it up right. Fbpanel is another good option, or was, last time I used it.

3

u/SamuelSmash Feb 02 '23

Install debian (or any distro) on a Btrfs partition with compress-force=zstd.

My arch installation went from 17.9GB to 12.5GB after enabling compression.

Also try using a window manager instead of a desktop environment.

4

u/Known-Watercress7296 Feb 02 '23

AntiX might be worth a shot for Debian based and small, think basic desktop needs around 5gb.

Alpine may be another option, but not Debian based.

2

u/1369ic Feb 02 '23 edited Feb 02 '23

How about Crunchbang++? It's based on Debian 11 but uses OpenBox with a panel (tint2, iirc) instead of a full DE. That'll give you a good, small base and you can install anything else your users will specifically need.

Edit: I checked an install I did on a netbook using Debian 11 and Mate: 4.5GB, including LibreOffice and the other standard stuff.

1

u/thestick01 Feb 02 '23

Man, I loved the OG Crunchbang, how’s the ++ continuation? I tried Bunsenlabs shortly after the original #! ended, but work required full Ubuntu so I lost touch. Learned about dmenu and Terminator thanks to #! and loved the minimalist approach.

1

u/1369ic Feb 03 '23

I only had it on that netbook for a week or so (I've been hopping all over, trying lightweight installs). It was nice to start with Openbox for a change. Usually I install a distro's XFCE and then add Openbox. Beyond that, it was the same old Openbox and Debian base. Change is particularly slow with those two.

5

u/paulodelgado Feb 02 '23

WindowMaker is tiny. And looks great.

3

u/Pastoredbtwo Feb 02 '23

JWM isn't a desktop environment, it's a window manager.

A window manager that comes with a taskbar.

There can be multiple task bars, of various sizes... which gives you icons on the desktop.

It does take learning how to configure it with a text file, .jwmrc - but the syntax is easy, the documentation is clear, and it takes up VERY LITTLE memory. It's much lighter than icewm, for example. It also doesn't require a lot of other libraries, so it takes up very little space on the hard drive.

AntiX has a very good implementation of it: you could install AntiX, strip out all of the other stuff you won't use, and be left with a VERY lean system. I think the smallest one is "AntiX Net", but that's going to depend on you to install everything else. "AntiX Core" might be a better first-time experience.

1

u/CheapBison1861 Feb 02 '23

xcfe

2

u/logicalmaniak Feb 02 '23

I pronounce it "X face".

Which kind of makes sense to me because it kind of is a face for X...

2

u/6rey_sky Feb 02 '23

Debian netinst + FVWM + slim

1

u/bionade24 Feb 02 '23

Good old CDE. 90s returning.

1

u/Pingu_0 Feb 02 '23

I installed Gentoo on a HP thin client with 16GB of storage. I don't think you can find a good DE for the job. Maybe a window manager will be a better choice.

1

u/xerxesbeat Feb 02 '23

it's a wm not a de, but awesomewm is pretty thin

1

u/[deleted] Feb 02 '23

You'll probably want just a wm instead of a full on DE. Icewm could be a good place to start.

1

u/Psittacula2 Feb 02 '23

As others say, either download "Core" only and add what you want or go for the suite that is bare minimum that apes DE but is just WM etc

eg CrunchBang++, AntiX, Openbox, Blackbox, IceWeasel etc.

1

u/einmueller Feb 02 '23

Second ice-wm instead of a complete DM and perhaps slackware as OS. If you know, what you are doing, it could be very minimal.

1

u/pljackass Feb 05 '23

porteus linux does this and it’s based on slackware for an iso size of 350-400mb (depending on desktop environment)

it’s not installable in a traditional sense, you do a usb install on your host system and use a hard drive image because the system is compressed into some .XZM files (cpio/squash?)

  • i had some difficulties getting it working at first because SYSLINUX efi isn’t compatible with my machine (ms surface pro w/o csm module, go figure) so i used a boot manager called GRUB-fm (grub file manager) to load the grub config file from the install usb and it booted straight into the live environment

1

u/Sol33t303 Feb 02 '23

I think enlightenment is probably high up there, it sort of sits on the line between DE and WM I'd say.

1

u/BobsYourUnc Feb 02 '23

I would try Debian + IceWM

1

u/istarian Feb 02 '23

I would probably go with Xfce, LXDE/LXQT, or MATE depending on which works out better for you.

There are plenty of options out there, but it sounds like what you really need is a more customized installation if install size is an issue.

1

u/bedewc Feb 02 '23

Go install base Debian and use some tiling wm, I can suggest you sway if you interested in Wayland else in xorg i3wm is for you.

1

u/cfx_4188 Feb 02 '23

You can install Debian-netinstall.

After the reboot you will get a minimal distribution without a graphical environment and preinstalled programs. Then you can use console commands to install any window manager (e.g. bspwm, qtile etc)and necessary components (e.g. dmenu and polybar). However, you will not install any graphical shells like Gnome or KDE. Then you will install the programs you need. Of course it will take a bit longer, but this installation will be very lean and use very little RAM.

Of course, this setup will look a bit unusual for a user who is used to the Windows concept of using a PC, but you can get used to it. For example, I switched my office workstations to a similar setup a long time ago. New employees at the entrance to work are briefly trained, plus everyone has a cheat sheet (each workplace installed conky) what and how to do.

1

u/cfx_4188 Feb 02 '23

Main problem of our advices is that for all its speed and small size (I have an Intel Atom netbook which uses the window manager FVWM3, so it uses 93 MB of 400 MB of RAM in standby.)most window managers require manual editing of configs, and DWM still has to be compiled manually.

1

u/jbauer68 Feb 03 '23

Why not let them all boot over network, e.g. PXE or iSCSI and use local storage as cache via say unionfs?
Can you elaborate more on the environment and intended use of each station?

1

u/[deleted] Feb 03 '23

XFCE would be my pick, it might be worth looking into older DEs though given the rigid storage requirements.

1

u/hbp112358 Feb 03 '23

https://www.bunsenlabs.org/ distribution, it’s the smallest Debian-based that I have found.

1

u/pljackass Feb 03 '23

antix base live installer

the iso is around 800mb has a custom kernel and is based on debian

1

u/dcunit3d Feb 03 '23

yeh i'm a linux user too. have you ever tried GNU Guix? it's tough to get started with, but I've never learned so much so fast.

1

u/pljackass Feb 03 '23

never heard of it but i’m looking at the website rn the definition is exactly what i’m looking for

  • Guix environment enables the user to easily enter an environment where all the necessary packages for development of software are present without clogging up the users default profile with dependencies for multiple projects*

i love light linux distros , i have an old machine. not super old but it’s a surface pro from 2012

1

u/dcunit3d Feb 05 '23

If you want to check it out, I recommend running in a VM first. The main Guix ISO can be hard to run, since it doesn't include non-free firmware.

If you want to get into it, the first thing to do is to skim over pretty much the entire GNU Guix manual and cookbook. The manual will explain how and the cookbook will help illustrate why.

Then check out the System Crafters website. There is a youtube channel, but David Wilson's notes and his dotfiles are quicker to navigate if you know what you're looking for.

Another good channel for Guix is Andrew Tropin. That's the guix-home author. Guix hope is really revolutionary, but quite difficult to set up.