Creating a single user with 4 desktop environments… an adventure.

I have begun a project to create a single user environment that offers 4 desktop options, 2 beyond the current xfce4 & fluxbox (FB) offered by MX19.1. This environment is an extension of my work on creating a bspwm desktop. Most of what I learned in that ‘adventure’ is expanded upon here.

Note: the opinions contained in this posting , both positive & negative, are mine. You may hold other opinions, If you do, I may still like you. I do not have to be right… 😉 even though I may be.

By way of full disclosure I have to offer the following “insights”:

  1. I am a huge bspwm fan. It is by far my favorite window manager (desktop). It is included in the setup I am creating.
  2. I, also, am fond of both OpenBox (OB) and xfce4.14.
  3. I am not a fan of FB for a few reasons including:
    1. fluxbox (FB) does NOT support the ewmh standard, which means numerous non-native FB tools don’t work well or at all in FB.
    2. polybar my ‘goto panel for most desktops is among those. This problem was caused by me forgetting to do something; a stupid user problem (me). Here’s an image to prove polybar works.
      fluxbox with polybar, tint2 & rofi
  4. xfce4 also has a panel problem/issue; it wants the xfce-panel to run. So, I will use it. I suppose I’m willing to modify the xfce-panel because I’m used to it and can bend it to my will.
  5. I personally do not like the fluxbox (FB) toolbar and will see if I can either bend it to my will or find an alternative that will work. Found that I was able to fix my polybar dilemma.

What I will build are desktops that offer similar functionality, as well as look and feel. My plan is to disclose the base performance numbers of my desktops and update the numbers as they evolve. I will attempt to tweak the desktop(s) performance within the boundaries of my usage desires and technical capabilities (limited as they are). In truth, I am undertaking this journey for the following reasons:

  1. a small group of young people, on Reddit, asked me to create a working bspwm desktop for them. (My altruistic reason)
  2. I want to see which of these toolsets are truly better for my use. (One of my selfish reasons.)
  3. I will define the differing facets of each environment, as I notice/ note them.

For starters here are the particulars on my hardware setup:

$ inxi -F
System:
Host: mx Kernel: 5.4.0-3-amd64 x86_64 bits: 64 Desktop: Fluxbox 1.3.5
Distro: MX-19.1_ahs_x64 patito feo February 15 2019
Machine:
Type: Laptop System: Dell product: Latitude E5470 v: N/A
serial:
Mobo: Dell model: N/A serial: UEFI: Dell v: 1.21.6
date: 10/02/2019
Battery:
ID-1: BAT0 charge: 43.4 Wh condition: 43.4/62.0 Wh (70%)
CPU:
Topology: Dual Core model: Intel Core i5-6300U bits: 64 type: MT MCP
L2 cache: 3072 KiB
Speed: 500 MHz min/max: 400/3000 MHz Core speeds (MHz): 1: 500 2: 501
3: 500 4: 500
Graphics:
Device-1: Intel HD Graphics 520 driver: i915 v: kernel
Display: x11 server: X.Org 1.20.4 driver: modesetting unloaded: fbdev,vesa
resolution: 1920x1080~60Hz
OpenGL: renderer: Mesa DRI Intel HD Graphics 520 (Skylake GT2)
v: 4.6 Mesa 19.3.3
Audio:
Device-1: Intel Sunrise Point-LP HD Audio driver: snd_hda_intel
Sound Server: ALSA v: k5.4.0-3-amd64
Network:
Device-1: Intel Ethernet I219-LM driver: e1000e
IF: eth0 state: down mac: 84:7b:eb:44:da:5d
Device-2: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter
driver: ath10k_pci
IF: wlan0 state: up mac: 68:14:01:57:3d:df
Device-3: Qualcomm Atheros type: USB driver: btusb
Drives:
Local Storage: total: 978.09 GiB used: 8.08 GiB (0.8%)
ID-1: /dev/sda vendor: Crucial model: CT1050MX300SSD4 size: 978.09 GiB
RAID:
Hardware-1: Intel 82801 Mobile SATA Controller [RAID mode] driver: ahci
Partition:
ID-1: / size: 50.35 GiB used: 8.08 GiB (16.0%) fs: ext4 dev: /dev/sda4
ID-2: swap-1 size: 25.72 GiB used: 0 KiB (0.0%) fs: swap dev: /dev/sda3
Sensors:
System Temperatures: cpu: 45.0 C mobo: N/A
Fan Speeds (RPM): cpu: 0
Info:
Processes: 191 Uptime: 1h 57m Memory: 23.45 GiB used: 642.0 MiB (2.7%)
Shell: bash inxi: 3.0.36

On initial setup, the baseline numbers I show on my desktops for these 4 desktops are:

  • Openbox (OB)- 440 MB RAM
  • bspwm – 443 MB RAM
  • xfce4.14 – 740 MB RAM
  • fluxbox (FB) – 565 MB RAM

This is where we start.  The journey will include screenshots, scripts, and links to all relevant dotfiles on my gitlab & github accounts. My objective is to, also, create a shareable version of MX19.1 that users may download and use. I will share much of what I learn along the way.

The reason I am using MX Linux for this exercise is because MX is an excellent distro and very easy to use for creating distributive snapshots.  [controversial statement] However, I must say that for my personal use of bspwm, I prefer manjaro.  bspwm just runs better on an arch base. And if they ever create a toolset like MX snapshot, I could do all of this on that platform. I’m just not up for learning how-to manually create iso images of my desktop. [/controversial statement]

I am not creating this as a supported, professional respin; if you use what I create you are on your own. Although you may pose questions, offer help, etc. Consider this a shared mental exercise or proof of concept; one I am willing to share.

Sorry, but I’m not up for being or becoming a respin or distro author.

The other articles in this series:


Remember, like with all of my work, I am able to provide the following assurance(s):
  • It is almost certainly going to work until it breaks; although I have to admit it may never work and that would be sad.
  • When/if it does break, you may keep all of the pieces.
  • If you find my materials helpful, both you & I will be happy, at least for a little while.
  • My advice is worth every penny you paid for it!