IceWM was an accidental discovery made during my quest for a minimal openSUSE system. I had previously experimented with Xfce and Mate and both were not to my liking, at least on openSUSE. I chose the
Generic Desktop option in the installer expecting a minimal, barely usable system. I assumed I would build upon it just like I do on Arch. What I got was a minimal IceWM system. However, it was totally usable and more. It blew my mind.
What is IceWM
The goal of IceWM is speed, simplicity, and not getting in the user’s way. It comes with a taskbar with pager, global and per-window keybindings and a dynamic menu system.
A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface.
Why not a Desktop Environment?
Desktop Environments (DE) are great for people who want a fully-configured, working system right after install. I had been using KDE Plasma 5 for a very long time. I would run it on old hardware too without much trouble. I have used Xfce too.
There are a few reasons for not wanting to use a DE:
Desktop Environments are very complex systems. Complexity means too many moving parts. Too many moving parts means huge potential for bugs and breakages. Especially important if one intends to use a rolling release GNU Linux distribution.
- Black Box
Presented with a computer running GNOME or KDE Plasma 5, a normal user may not even be able to tell what lies beneath the GUI glitz. Is this GNOME abstracting away a GNU Linux or a FreeBSD running on x86 or x86_64 or ARM? A normal user does not know and does not care as long as their computing needs are met. For a student, this may not be the ideal situation.
Since a good DE abstracts away the underlying system software, the hardware and does almost everything on behalf of the user, there is a loss of control for the power user.
How to get IceWM during openSUSE installation
Very simple. Choose the
Generic Desktop option during installation:
IceWM also powers the YaST Installer (image above). So, it is quite important.
Setting up the workstation
VirtualBox Extension Pack
Since no polkit exists in base IceWM install, elevation prompt does not work and error occurs:
> sudo VBoxManage extpack install --replace '<Path_To_Oracle_VM_VirtualBox_Extension_Pack.vbox-extpack'
which results in
--accept-license=33d7284dc4a0ece381196fda3cfe2ed0e1e8e7ed7f27b9a9ebc4ee22e24bd23c to the VBoxManage command line. 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Successfully installed "Oracle VM VirtualBox Extension Pack".
> sudo zypper in gnome-screenshot
Does not list in IceWM menu. Can be launched from command line, takes screenshot, but no control whatsoever:
> gnome-screenshot ** Message: 01:38:15.430: Unable to use GNOME Shell's builtin screenshot interface, resorting to fallback X11.
> sudo zypper in flameshot
Works flawlessly. Has all the desired bells and whistles.
Wicked did not work properly with my
Broadcom BCM43228 wifi card. Installed
> sudo zypper in NetworkManager
nmcli works flawlessly. In any case, I use
NetworkManager in Arch also. So, it is easy to work with.
> sudo zypper in pulseaudio pavucontrol paprefs padevchooser paman
The last two,
pamando do not exist.
> sudo zypper in pulseaudio pavucontrol paprefs
pavucontrol lets me control everything.
Downloaded and tried to run
> ./peazip ./peazip: error while loading shared libraries: libgthread-2.0.so.0: cannot open shared object file: No such file or directory
> zypper se --provides libgthread-2.0.so.0 Loading repository data... Reading installed packages... S | Name | Summary | Type --+------------------------+------------------------------------------------+-------- | libgthread-2_0-0 | Portable API from glib wrapping system threads | package | libgthread-2_0-0-32bit | Portable API from glib wrapping system threads | package
> sudo zypper in libgthread-2_0-0
Remove Display Manager
Got rid of
xdm. The sequence is important. First get rid of
lightdm and all its dependencies:
> sudo zypper rm --clean-deps lightdm
Then, get rid of
xdm will nuke the X Window System. So, no
> sudo zypper rm xdm