Can Hyperbola Linux support a Desktop Environment?

Desktop Environments available in Hyperbola Linux

We have seen that it is possible to start with a Display Manager and add
features so that it begins to look like a primitive DE. That is one approach,
the other is to look for a dropin fully configured DE.
Unfortunately Hyperbola will not run any of the well known DE’s, because they use
packages like dbus which Hyperbola philosophy does not approve.

There is, however, one DE which avoides all of the hyperbola-banned packages,
because it is totally written in C++ and has no dependencies.
A package with no dependencies can be run on any Linux distro, or even on BSD or Windows.

Lumina is not fully developed. It is not a dropin solution. However,
it is worth exploring whether Lumina can form the starting point for
setting up a respectable DE for Hyperbola

Getting Lumina

I have used Lumina previously. It is available in Void Linux, and there is
a report

of my installing and using it in Void Linux.
If you look at that report you will see that some of the
inhouse applications which come with Lumina are really
only place-makers, ie they are under development.
Others , like the Insight File Manager are usable.
However , one can always add other applications.
The main thing about Lumina is that it is fully
configurable from the GUI… it can be made to look like
any of the main DE’s in terms of placement of panels,
placement of system tray, icons, and plasmids.
Appearance (themes etc) is also fully configurable.
It is Qt based so windowns have a Qt appearance.

The version of Lumina available in Void is 1.6.2.
One way of getting Lumina would be to use Void to download the source code and
then compile and install it in Hyperbola. That is one of the advantages of a package with no dependencies… it can be moved anywhere.

Lumina also has its own website

and it points to where the sources are kept, in a Github repository

so that is another way to get Lumina.

However Hyperbola has Lumina in its own repository. It is version 1.6.0., slightly older , but we shall try with this binary install first, simply because it is easier.

Installing Lumina in Hyperbola

First have a look at what packages are available

$ pacman -Ss lumina
extra/lumina-archiver 1.6.0-5 (lumina-extra) 
    Lumina Desktop Environment - Archive Manager
extra/lumina-core 1.6.0-5 (lumina) 
    Lumina Desktop Environment - Core Components
extra/lumina-core-utils 1.6.0-5 (lumina) 
    Lumina Desktop Environment - Core Utilities
extra/lumina-fileinfo 1.6.0-5 (lumina-extra) 
    Lumina Desktop Environment - File Information Utility
extra/lumina-fm 1.6.0-5 (lumina-extra) 
    Lumina Desktop Environment - File Manager
extra/lumina-mediaplayer 1.6.0-5 (lumina-extra) 
    Lumina Desktop Environment - Streaming Media Player
extra/lumina-photo 1.6.0-5 (lumina-extra) 
    Lumina Desktop Environment - Image Viewer
extra/lumina-screenshot 1.6.0-5 (lumina-extra) 
    Lumina Desktop Environment - Screenshot Utility
extra/lumina-textedit 1.6.0-5 (lumina-extra) 
    Lumina Desktop Environment - Plaintext Editor

The base package is lumina-core but we shall install all of the above
in order to get as full a starting point as possible, so as superuser

pacman -S lumina-core lumina-core-utils
pacman -S lumina-archiver lumina-fileinfo lumina-fm lumina-mediaplayer
pacman -S lumina-photo lumina-screenshot lumina-textedit

That is all there is to it, we just need to activate
exec start-lumina-desktop in .xinitrc and startx will start it.
The default startup screen looks as follows

Battleship grey without trimmings. All it has is a tiny menu
button at the left of the black system tray at the bottom, and and RSS feed
plasmid at the bottom right. It needs a bit of work.

Adding things to the default lumina desktop

Lets see if we can get a better background, and we need a terminal window
to do things.

We need to add Xterm before we start the DE, so, on the alphanumeric screen after
login we do

pacman -S xterm

and then startx to start the DE.
There is a menu for setting the Display Wallpaper.
Right click on background, then Preferences,
then Desktop Settings, and you get the Desktop Settings Menu

We can see the Wallpaper button on the top right, plus there are
buttons to configure Panels, Themes, Default Applications, etc.
Lumina is fully configurable via the GUI… one does not need to edit config files.

Now click on Wallpaper, then ‘+’, then choose Solid Color in the dropdoewn menu,
and you get a Select Color menu

I have setup a dark red color rgb(40,0,10) because a dark background is best for night work.
Click OK, and you have it. The other options under ‘+’ allow Files or Directories containing images
to be used for background. So you can have a scene or whatever. We shall look at that later

So what does it now look like? I started Xterm and some menues,
and changed the plasmid to a load monitor, and we get

Some other icons apart from Xterm have appeared, because I already have some
apps installed from the work on display Managers. In Lumina, most apps bring up their
desktop icon automatically… so we have Iceweasel-UXP browser, but
Dillo did not bring up an icon. The Insight File Manager is Lumina’s own File Manager,
and is about the only one of Lumina’s inbuilt packages that is
reasonably functional. You can also see the SpaceFM File Manager,
the gthumb image viewer, and MuPDF pdf viewer.

My Xterm is configured by its .Xdefaults file in my home dirtectory.
That sets the color ( again dark) and the right scrollbar.

The menus show choosing preferences → Desktop Settings, as described above.
Note the system tray is at the bottom ( it can be moved) and there are no
other panels at present. The white panel at the top is virt-manager.

Adding more applications

The way to use Lumina is to discard all its half-developed inbuilt apps, and install your own. That is easy in a normal distro, but in Hyperbola there is a limited range of available apps.
I have tried to gather apps covering things most users would require
in order to show what sort of DE can be built in Hyperbola.

Web Browser

Te best available is iceweasel-uxp. The UXP stands for Unified XUL PLatform. XUL is a markup language , developed by Mozila for writing GUI’s Firefox used to use XUL, but today it is used by Pale Moon browser and by Hyperbola.

Iceweasel is quite competent. It has tabs, bookmarks, and a menu shown below

It displays the itsfoss.com site properly, but when you go to the Forum , it says
“your browser is unsupported”, and some things are missing, for example a scrollbar.
Actually the Forum site is a good test of browsers. Discourse has stringent requirements.

The available search engines are somewhat restrictive

None of the major search engines are available, the best seems to be the default SearX. What you can do is load the google ( or whatever) page, then use it to search. It seems to deal with google search results quite well, and if you access the itsFOSS Forum page via a google search, it formats normally?

Why accessing a page via a google search would change the
browser’s ability to display it, is beyond me?
However that is clearly the way to make iceweasel-uxp
useable.

Given those shortcomings, lets have a look at Dillo

Dillo does not have a search engine at all. What you must do is load the google ( or whatever) page. Dillo will display the google search page, but it seems to have difficulty with most websites. It is plainly out of date.

Mailer

The choice is icedove-uxp or a simple text based mailer like mutt
Icedove-uxp looks just like Thunderbird.
So I setup my email and tried it

No issues there.

File Manager

There is the inbuilt Lumina filemanager called Insight

It is about the only reasonably usable Lumina App.

A better option is SpaceFM, which we have already covered in the topic
“Getting X windows into Hyperbola”.

PDF Viewer

The best available is MuPDF. It comes in two varieties mupdf and mupdf-gl.
The latter is best choice, it uses OpenGL. There is also a command line set of pdf tools callled mupdf-tools.

You move between pages and lines with the keyboard, therr are no mouse buttons for navigation. The graphic quality is fine, I can read that fine text in the box.

Image Viewer

Here we go for the old fashioned but capable gthumb viewer.

Hyperbola also has Gimp for image manipulation, and graphicsmagick which is an ImageMagick substitute.

Office

Hyperbola has LibreOffice… the full set calc, draw, math, base, impress, and writer.

No issues there, it is as good as any distro can provide.

Icons and Panels

In most cases, when you install a new package, Lumina automatically brings up an icon on the DE background. There has to be a .desktop file in /usr/share/applications, and in some cases there will be a link in ~/Desktop.
The package MuPDF came with a .desktop file but it had the line
NoDisplay=true
which I had to change to
NoDisplay=false
to get an icon.
If there are preinstalled apps, when Lumina is installed, it detects them and makes the icon. I already had Xterm, iceweasel-uxp, and SpaceFM when I installed Lumina.

So after all the above installs, and a few others, the DE looks as follows

We have a clutter of icons on the background. The Xterm is as before. We have 2 panels, a bottom panel which is the system tray, and a popdown upper panel ( you can just see one line of it at centre top) which has the workspace switcher and some launchers for Lumina apps. At the lower right I have replaced the RSS feed plasmid with a notepad.
To tidy it up and to show setting up of a panel we are going to move all the LibreOffice icons to a panel on the right. So Preferences → Desktop Settings → Panels, and we get the panel setup window

We see 2 panels, which reflects the current setup. Each panel has been set to show the panel content (the right hand button) . The other 2 buttons set its position and properties.
To make a new (third) panel we click + at the top left, and it opens a third panel subwindow.

We have set it to appear on the right. We now add the content

and delete all the LibreOffice Icons, reduce the size of the remaining icons and we have a new DE

We have all the LibreOffice icons in the right panel,
they do not have colors, but they produce a popup
description when you hover the mouse pointer

That is not perfect, but it seems this is a limitation of
Version 1.6.0 of Lumina. In the later version 1.6.2
( which I have in Void Linux) one can get coloured icons
in a panel. For example, from my Void/Lumina1.6.2 DE

One still gets symbols, rather than icons, but they are coloured in Lumina 1.6.2

The remainder of the DE is OK. The upper autohide launcher panel works, again it does not have coloured icons. The lower system tray could be a better colour. The smaller remaining icons are cleaner.

A better load monitor

I installed Conky. It is much better than the inbuilt Lumina
monitor widget

I made the right panel autohide, to keep it out of the way,
and changed the panel colour.There are a number of background widgets available
with Conky, the one shown is a system summary.

Other apps

You can see icons for

  • Dia diagram constructing program
  • Galculator scientific calculator
  • Scribus desktop publishing program

Getting a login screen

I am quite happy to login on an alphanumeric screen, and start the window system with startx and .xinitrc.
Some people prefer a Login Manager (also called Display Manager).
The choice in Hyperbola is SLiM, or wdm (an xdm fork).

I tried wdm, it simply would not work. The daemon would not start when setup with
rc-update add wdm , and starting it by hand produced no error messages. I gave up on wdm.

We will try SLiM

pacman -S slim
resolving dependencies...
looking for conflicting packages...

Packages (1) slim-1.3.6-8

Total Download Size:   0.89 MiB
Total Installed Size:  6.11 MiB

:: Proceed with installation? [Y/n] y
:: Retrieving packages...
 slim-1.3.6-8-x86_64      912.2 KiB   252K/s 00:04 [######################] 100%
(1/1) checking keys in keyring                     [######################] 100%
(1/1) checking package integrity                   [######################] 100%
(1/1) loading package files                        [######################] 100%
(1/1) checking for file conflicts                  [######################] 100%
(1/1) checking available disk space                [######################] 100%
:: Processing package changes...
(1/1) installing slim                              [######################] 100%
:: Running post-transaction hooks...
(1/1) Displaying hyperrc service help ...
        ==> Add a service to runlevel:
        rc-update add <service> <runlevel>
sh-5.1# rc-update add slim
 * service slim added to runlevel default

Reboot and we get a login screen

That is the default SLiM screen. It just has a login slot, no options to start the various Display Managers or Lumina?
This version of slim seems to have a problem . When it is running , one can not logout from Lumina with the GUI buttons… even Power Off only results in a return to the Slim login manager screen. The only way to power off seems to be to use

sync
halt

as superuser.

After reading everything I could find on SLiM ,
I discovered that what I thought was a problem,
was actually a feature.
No matter how you exit any Window Manager or DE,
if SLiM is running, it always returns you to the SLiM
login screen. From there you have the following options
which can be typed into the Username box, followed by
the root password in the Password box

  • console - launch a terminal
  • halt - does a shutdown
  • reboot - does a reboot
  • exit - exits to a bash shell
  • suspend - suspends linux

so SLiM takes over what is normally done with the poweroff buttons in a DE.
OK, I think I can get used to that. It is what one would want on a multiuser computer, where only root should be able to do a shutdown.

I also discovered that SLiM does have options to choose a Window Manager or DE on its login screen. You have to hit ‘F1’ key to display and step thru them.
This only works if have setup the file $HOME/.xinitrc properly.
I found the following example .xinitrc on the Arch Wiki link listed below,
and modified it to include a default ( ie if you do not press F1),
Here is my modified .xinitrc file

#!/bin/sh
DEFAULT_SESSION=start-lumina-desktop
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
 for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
  [ -x "$f" ] && . "$f"
 done
 unset f
fi
if [ -z $1 ] ; then
	exec $DEFAULT_SESSION
else
	exec $1
fi

With that setup I could choose to start any of

  • fluxbox lumina’s window manager
  • icewm starts icewm on login screen
  • icewm-session normal icewm X window manager
  • fvwm3 latest version of fvwm window manager
  • lumina desktop environment
  • windowmaker Unix NeXTSTEP environment

There a couple of things there that I did not deliberately install but were dragged in by other packages, for example Lumina uses Fluxbox.

There is also the file /etc/slim.conf. I made some minor changes there.
SLiM in Hyperbola comes only with the default theme. The default theme is in /usr/share/slim/themes/default. You can change the background putting a file background.png or background.jpg in that directory.
I had one attempt at making a custom login screen

One could improve on that. I spent more time on the login screen, than on the whole DE.

Conclusion

The aim was to show that one can build a workable desktop in Hyperbola, starting from Lumina DE and adding what one needs.
I think we have gone close to achieving that aim. There are enough apps available to
build a a working setup and Lumina has sufficient configurability .
It would have been better to have started with
a later version of Lumina.

The login screen is workable, but SLiM took a lot of effort to configure.
The Lumina DE can be made as good as any of the major DE’s;
its configuration GUI is first class,
but its inbuilt apps need work.
That is not critical, because you can replace them with
other apps.
There are sufficient apps in the repositary to build a usable Office or Graphics DE. Dont know about sound or video.

The key point is that Hyperbola really does demonstrate that one can discard much of the bloatware that has crept into Linux, and still have a working system.

Links

… official website

… wikipedia

https://fossbytes.com/lumina-1-2-desktop-download-features
… link has disappeared

… details on plugins

… all the docs

… NJ’ Void/Lumina report

https://wiki.archlinux.org/title/SLiM
… Arch wiki on SLiM

https://pclosmag.com/html/Issues/201305/page14.html
… SLiM tutorial

1 Like

Hi Neville, :wave:

what an incredibly good paper you published on the topic of DEs in Hyperbola.
Congratulations on that. :+1:

You must have put a lot of time and effort in coming up with those results.

I´m sure anybody interested in running Hyperbola will appreciate your findings.

Thanks for your hard work, Neville. :heart:
Many greetings from Rosika :slightly_smiling_face:

2 Likes

@nevj
Great job!!! You make it sound so simple!! Proud of my fellow Gentoo user and student, I always knew your knowledge of Linux was far superior to mine!!!

3 Likes

OK, here is a challenge for the Gentoo master.
I will get you a list of all the packages Hyperbola has removed from Arch.
See if you can remove them from Gentoo.
You should get an ultra small and fast Gentoo… it will still have Xorg and a window system… and I bet it would run in less than 100Mb of ram

1 Like

Hi Rosika,
Thank you for kind words.
There were issues.
I want to discuss with you using markdown when you have
images to read into the text.
It is hazardous, and what works in your own computer does not work when you copy the markdown into itsFOSS.

Regards
Neville

1 Like

I can give it a try!!!

Great, you just started the HyperGentoo project.

The list of excluded packages is here

https://wiki.hyperbola.info/doku.php?id=en:philosophy:incompatible_packages

Those are Arch package names… Gentoo names might differ.

We need to think a bit before diving in.
eg… what stage3 tarball woulld you start with?
… can we use a gentoo kernel?
… some of those packages might be able to be disabled with USE flags… others might need packages removed

Have a read and a think. I can help of course.

That does not leave Gentoo very much to work with!!! Maybe experiment with a VM, and try a Gentoo install to Hyperbola specs?

Yeah, definitely a VM. There will be muckups
I would try with Gentoo kernel. Kernel does not depend on other software. You could run a kernel on its own… it
would be like a “hospital with no patients”… run smoothly but
not achieve much.

Xorg worries me. Hyperbola uses xenocara from Openbsd as its X11. How do we get that into Gentoo?