User Tools

Site Tools


information-technology:linux
                      change site colors:
                      

This is an old revision of the document!


2024: Barebones Desktop Linux Setup

I've used Crunchbang, which is based on Debian with a customized OpenBox. Crunchbang folded when Debian transitioned to systemd. The userbase resurrected as Bunsenlabs and Crunchbang Plus Plus.


Strategy

After having researched below, I have come to the following conclusions.

I want to choose a barebones Linux to which I can add and customize. Barebones file system, barebones init. barebones window environment.

I would like to have portable applications: AppImage instead of a package manager. People are running virtual machines just to get some functionality with a lot of dependencies, so AppImage doesn't sound too far fetched.

I can start with a full fledged desktop environment (DE), then install window managers (WM) to play with in different sessions until I get them running like I want.

I can have the WM as portable applications, or at least as modules/containers so I can quickly add and remove them, along with their dependencies, from the system.

I could also use virtual machines. Would a virtual machine have the same hardware as my laptop, so there wouldn't be any surprises installing to the laptop?


Init Systems

Systemd

Thread about MX Linux and Devuan Linux on debian.net

Linux purists, are saying that Systemd is bloated software. The issue is that because Systemd is becoming a standard among many distros, some programs are being written that are dependent on it. These programs won't run on distros without Systemd.

Systemd is a takeover of Linux by power seeking individuals.

It happens over and over again in history, and the sheep are blind to it. Is being conscious of reality too much of a burden?

The complexity will increase until an individual is not able to grasp it all and organize it. Then there is chaos. It won't matter that Linux is open source. The wrong people will take advantage of the chaos for their own ends.

“ Because after systemd, no one will be able to work on their own system any more. They will just pull down systemd, and accept whatever it is - because it is a massive, deeply interconnected rat's nest, and no one but its very small group of creators will ever be able to extend or maintain it. ” Jim Lynch, infoworld.com 2017

Perhaps the main issue is that software is being made that is not modular/portable, with dependencies on systemd. I think MX Linux uses a systemd shim, in order to be more compatible with software, while retaining an independent init system.

Perhaps what is needed is a systemd alternative. A modular approach that keeps the init simple, while providing systemd libraries that can be downloaded as dependencies or included in apps like with AppImage. Specifically ONLY for those apps that actually need functionality from systemd.

I searched for “systemd modularity” and came up with this page, which is by a developer of systemd, stating the myths surrounding the controversy surrounding systemd. Despite all of what he may say, which I am not necessarily disagreeing with, the KISS philosophy is usually the safe bet.


RunIt

Runit’s size makes it much faster than most inits and especially suitable for older hardware. Its size also makes it easy to understand and learn. In fact, a few hours is all that is needed to learn runit. The fact that it was developed on Debian may make it especialy suitable for Debian derivatives. init Alternatives, linux-magazine.net

Does not matter that last update was 2015: Why is the init system still Runit despite it no longer being developed? Reddit


BusyBox

BusyBox provides many common UNIX utilities in a single small executable for embedded systems. The package includes runit… archlinux.org


Rolling vs Stable Release

I like to customize, and I need things under the hood to be stable. The only person making changes needs to be me, otherwise when things go wrong there will be too many variables to deal with. A rolling distro placates creativity and drives complacency. You end up accepting what's given to you, because it's too hard to do otherwise.

Any distro will do because updates aren't mandatory.


Repositories

Compiling from source vs using package managers, Reddit

Ubuntu and Debian combined have the largest repository base.

Just because you don't have access to all the software in the two largest repositories, isn't the end of the world. Usually, the stuff that may not be compatible, is that way because it's a bloated piece of junk. Good software is integrated to have fewer dependencies.


Dependency Hell

When software is written, developers will often use existing libraries for certain functions. Existing functions and API's make programming easier because the developer doesn't have to reinvent the wheel.

“In an ideal world, libraries would be fully backward compatible, so that a program that depends on one version of a library, would work with any newer version of that library. But library developers don't do that, and I don't know why. Linux wants to be ideal, and take up less hard drive space and resources (like RAM), and therefore use only one version of each library. So sometimes you want to install two programs that both use the same library, but different versions, and this makes for dependency hell. The portable theology, says “lets bundle the library into the program itself, so that it doesn't use the one that comes with the system”. This is contrary to the Linux ideal, but makes things much easier for the end user.” 2018: Portable Software

Since the amount of RAM available in current hardware is usually more than sufficient, one solution would be that each program load its own library versions.

Needing additional libraries means that the developer didn't take the time to extract the parts used within a library and add those to the main program, reducing the overall footprint. This requires more work: software developers are usually not interested in taking this step.


Portable Software

Modular software is easier to take with you when you move from one system to another. There are groups like https://appimage.org, that package program dependencies and make a singular module. Also see AppImage page on github.

There is also Flatpak and Snap packages. These articles covers all three:
https://ostechnix.com/linux-package-managers-compared-appimage-vs-snap-vs-flatpak
https://linuxhint.com/snap_vs_flatpak_vs_appimage


File System

The only current file system capable of larger partitions and which does not have journaling or user permissions is exFat. Also it is supported by Windows. denabre on Reddit veprof.com

“exFAT isn't supported for booting on UEFI systems but for BIOS systems it should work.” porteus.org


Desktop Environment

Comparison & List of Desktop Environments, eylenburg

A full desktop environment is a complete graphical user interface (GUI) that includes not only a window manager, but also a range of other applications and utilities, such as a taskbar, a system tray, a compositor for transparency, a file manager, app launcher, wallpaper setter, theme engine, and much more. The Ultimate Guide to Building Your Own Desktop Environment, Michael Neuper

Not to mention hardware interfaces like for audio and bluetooth, and gpu.

OpenBox Addons Collection, github
OpenBox Themes Collection, github

environment/manager # of distros
openbox 41
fluxbox 29
jwm 15
awesome 15
bspwm 4
icewm 22
i3 13
lxqt 34
lxde 36
enlightenment 18
gnome 76
kde 86
kde plasma 67
mate 54
cinnamon 35

Top Linux Environments for Theming:

Top Linux Environments for Theming

The Phenomenon of r/unixporn, by Reluctant Anarchist on YouTube. Widget in video is fly pie.

Most Used Tags on Unixporn

Openbox: Floating, minimal
i3: Manual tiler, minimal
Awesome: Dynamic (both ways), not minimal

You can keep using KDE as your main desktop, and then in your login screen just change session to Awesome or i3 and start working on them until you are comfortable to move, that way you will always have KDE as something to fallback on incase you need a desktop to just work. hearthreddit on Reddit

I am head-over-heels in love with OpenBox. Was using it exclusively for years, and would happily continue doing so if only it worked on HiDPI screens. As it stands, it's completely and utterly unusable on my 4K screen 😓 I'm cautiously hopeful about labwc providing a future-compatible version of OpenBox. kaqqao on Reddit


Choosing a Distro

Reviews

Comparison of Linux Distributions, wikipedia

Comparison of Linux Distributions, eylenburg

What is the core difference between the Linux distros? Reddit

5 tiny Linux distros to try before you die, opensource.com

Artix is a good option for old / underpowered hardware, Chaeska on Reddit

Void vs Artix, r/voidlinux reddit

Void vs Artix, r/antixlinux reddit

Why Not Arch Linux? reddit

Enter the Void "Linux", reddit

Slackware is the original KISS Linux. Is a new model needed? If it is, a new design will be made from scratch with a philosophy that better handles a changing technology landscape.

Arch is described as being similar to Slackware, but the article above “Why Not Arch Linux” has convinced me. I hope it was written honestly.

Why Slackware is not like Debian: a guide for new slackers, hazel on linuxquestions.org 2024


Rankings

Distro Table

The following do not use systemd.

Having their own portable software may not be important because AppImage makes truly portable software across different Linux distros.

Having full hardware support may not be important because some DriverPacks for Linux may exist?

Which desktop environment has the most diverse library of plugins/extensions/addons?

Data as of February 2024:

Key: indep: independent, alternativeto hearts, distrowatch page hit rank, distrowatch rating, google trend

distro init system package manager desktop environment forked from hearts rank rating trend updated
artix runit & openrc pacman many arch-manjaro 9 69 9.2 53 2023-08
void runit containers + xbps xfce indep 10 93 9.21 35 2023-07
antix runit apt icewm > fluxbox > jwm debian 16 15 8.15 38 2024-02
devuan runit apt many debian 8 33 9.14 59 2024-02
slax sysvinit modules + apt fluxbox slackware or debian 26 79 6.75 42 2023-10
porteus sysvinit modules + slpkg many slackware 13 106 9.07 - 2023-09
puppy busybox ppm + many jwm indep 98 19 7.51 31 2022-12
slitaz busybox tazpkg openbox indep 50 150 6.29 - 2014-05
tiny core busybox tce-load flwm indep 19 75 6.7 - 2024-02
dcore busybox sce self contained extension flwm tiny core - - - - 2024-02

Honorable Mentions:

distro init system package manager desktop environment forked from
damn small linux runit apt fluxbox & jwm antix


Hardware Support

Analog to DriverPacks or Snappy Drivers

Is there something like DriverPacks for Linux? This question was asked on Linux Mint forum in 2009.

There doesn't seem to be anything equivalent to Snappy Drivers on Linux: alternativeto.net.

But at least I would like a distro to have automatic hardware detection.


How do drivers differ between Windows and Linux?

Optimized Drivers

Slitaz Bluetooth Mouse


Linux on Macbooks

Something as ubiquitous as a Macbook, should have plenty of support, right? See that the 2016 and 2017 models are not 100% supported, and battery life is poor:
State of Linux on the MacBook Pro 2016 & 2017

There are instructions on tweaking the Macbooks on the following distros:

User's experience with both MacOS and Linux on a Macbook Air:
https://medium.com/@alex_nekrasov/installing-linux-on-macbook-air-838f9b087338

User's experience switching to Linux on a 2015 Macbook Pro:
https://medium.com/swlh/running-linux-on-my-macbook-9738b3b4f84d

This article compares power consumption between MacOS and Linux. However, he used Linux with no power optimizations (like from PowerTop):
https://www.phoronix.com/scan.php?page=news_item&px=MTE2Njk

July 2019: Linux 5.3 Will Surprisingly Support The Newest Keyboard/Trackpads Of Apple MacBooks, phoronix.com. The drivers had to be reverse engineered, because Apple purposely tries to avoid Linux progress.

Booting without ReFit/ReFind: https://glandium.org/blog/?p=2830


Why Has Linux Not Become Mainstream?

Android is linux with Google on top.

People use whatever they are given. If they were given computers with linux (laptop, desktop, phones), they would use linux. They can't be bothered to install something else unless it's super easy, such as installing a web browser like Chrome.

Perhaps if linux was given out as a usb drive and just worked right out of the box with the option to dual boot the original operating system, then more people would try it out.

However, sometimes it doesn't fully work, requiring additional drivers one must go out and look for. This isn't the fault of Linux, but of industry with no incentive to make Linux work on their devices. Industry actually works against linux becoming mainstream, because they make money by having proprietary operating systems.

In the case of Google and Android, Google took the free and added a proprietary layer on top which makes them money.


Looking for Additional Controversies

Trying to make sure I'm not missing any other controversial aspects of Linux, I found in the Wikipedia article:
“ Some security professionals say that the rise in prominence of operating system-level virtualization using Linux has raised the profile of attacks against the kernel, and that Linus Torvalds is reticent to add mitigations against kernel-level attacks in official releases. “
I read this as: The establishment wants to complicate something simple, so that it can later use the complexity to leverage power. History repeats itself over and over. They want to add complexity to the kernel in the name of “security”.

https://www.vice.com/en_us/article/3km9qb/linus-torvalds-is-back-with-linux
Article about news sources criticizing Linus Torvalds, and Linus Torvalds being influenced by the criticism. This could be good, and this could be bad. Good if the meritocracy continues; good if people treat each other well. Bad if this is an underhanded way of controlling the developers.


Discussion

Enter your comment:
  _   __   _  __   ___   ____   _____
 | | / /  | |/_/  / _ | / __ \ / ___/
 | |/ /  _>  <   / __ |/ /_/ // (_ / 
 |___/  /_/|_|  /_/ |_|\___\_\\___/
 
information-technology/linux.1708836837.txt.gz · Last modified: 2024/02/25 04:53 by marcos