Apr
26

Quick Lumina Desktop FAQ

I am seeing lots of interest and questions about Lumina since it was mentioned in the PC-BSD weekly update last week, so I am just going to try and answer some of the big questions that I have been seeing.

(1) What is Lumina?
Answer: Lumina is a lightweight, BSD licensed, standards-compliant desktop environment based upon Qt and Fluxbox. It is being developed on PC-BSD, and is being packaged for distribution on the PC-BSD package repository as well (although I believe the FreeBSD port is going to be submitted to the FreeBSD ports tree by the PC-BSD project as well).

(2) How complete is it?
Answer: It is currently alpha version 0.1, so lots of things are still unfinished. It has full backend XDG-compliance through the “lumina-open” utility for launching applications or opening files/URLs, but the graphical interface is still being fleshed out. It also has a plugin framework for toolbars, toolbar plugins, and desktop plugins already written, even though there is not many plugins written to actually use yet.

(3) Since it is an alpha, is it usable?
Answer: Yes, if you are used to very minimalistic desktops. I would currently label it a step above pure Fluxbox for usability, since it uses the XDG compatibility to provide access to system applications and desktop files, and is tied in to xdg-open on PC-BSD so that individual applications can open files/URLs using the current system default for that type of file/URL. The main thing is that the interface is extremely bare at the moment (no desktop icons/plugins yet), so you just end up with a background and toolbar(s). It is also still missing some configuration utilities, so you might be stuck with the current defaults for the moment.

(4) Why create a new desktop environment? Whats wrong with KDE/GNOME/XFCE/<other>?
Answer: There are many reasons for needing a new desktop environment instead of using the existing ones, mainly because all the major existing DE’s are developed on/for Linux, not BSD. This causes all sorts of problems on BSD, and I am going to try and list a few of the big ones here:

(4-a) Porting time
Since the DE’s are written on/for linux, they have to be ported over to BSD, and this introduces a (sometimes significant) time-delay before updated versions are available (GNOME 3 anyone?).

(4-b) Porting quality
It takes quite a bit of time/effort to port a DE over to BSD, and I have to give lots of thanks to the people who volunteer their time and energy to make them available. The problem is that quite often “linuxisms” still bleed through the porting process and cause system instability, desktop/X crashes, and loss of usability on the part of the user. This is particularly true when you start looking at KDE/GNOME/XFCE because of the large number of individual pieces/applications/plugins that have to be checked during the porting process, and it gets quite difficult to check everything while doing the port.

(4-c) Linux development trends
As Linux trends continue to diverge from BSD through reliance on Linux kernel functions or Linux-specific systems/daemons, the porting process over to BSD is going to get even more difficult and take longer to accomplish. This means that if we want to have a reliable/stable desktop on BSD going forward, we have to have one designed specifically for the BSD’s.

(4-d) Linux dependency bloat.
If you look at current DE dependency lists, it is easy to see that when you install a desktop, you might be getting a lot more than you bargained for (such as additional compilers/programming languages, network libraries/daemons, audio/video daemons/applications, etc). While there might be some debate on this, my opinion is that it comes from the Linux distro mentality. Just as a Linux distribution is the Linux kernel + the distro’s favorite packages, the desktop environment is becoming the graphical interface for the system + all the favorite applications/libraries of the developers, whether or not they are actually necessary for satisfying the actual purpose of a desktop environment.
I feel like the approach on BSD is quite different because the OS is a complete entity, independent of the packages that get added later, and simply provides the framework for the user to do whatever they want with system. By this same approach, a desktop environment should simply provide the graphical framework/interface for the user to easily interact with the system, independent of what applications are actually installed on the system. Now, I understand that at this point in time a user expects that certain types of applications are expected to be available out-of-box (such as a file manager, audio/video player, pdf viewer, text editor, photo viewer, etc..), but is that really the realm of the DE to decide what the defaults are, or should it be left to the distributor of the OS? I think a point can be made that the file manager is considered essential to integrate with the DE appropriately, but I think that things like audio/video applications, text editors, pdf viewers and such are really up to the preferences of the distributor, not the DE. The DE just needs to provide a simple framework to setup those initial default applications for the distributor, not require a ton of additional applications by default. Because of this, I am taking the approach that Lumina will have a very limited number of applications included by default (there are only about 23 that I can think of, all written from scratch for Lumina), and will try to include basic user-level functionality within these few applications to try and cover 90% of standard user needs (at a basic level) without any additional dependencies. For example, the Lumina file manager will have basic audio/video playing and image viewing capabilities built-in because those types of abilities are available through the Qt framework without many/any additional dependencies.

(5) What kind of graphical appearance are you planning for Lumina?
Answer: Highly configurable… :-)
By default, I am planning for Lumina to have a single toolbar on the top of the primary screen with the following item (from left to right): UserButton, DesktopBar, TaskManager, SystemTray, and Clock. This toolbar can be configured as the user desires (or completely removed), and other toolbars can also be added as well (only two per screen at the moment, one on top and one on bottom).
I do *not* plan on having the desktop be covered with the traditional desktop icons (that is taken care of with the DesktopBar toolbar plugin). Instead, it is simply a graphical canvas for the user to place all sorts of desktop plugins (directory viewers, picture viewers, notepads, application launchers, and other “stuff”).  I have not decided on any default desktop plugins yet, simply because I have not written any yet.

(6) What is the “User Button”?
Answer: This is what would correspond to the “Start” button on other desktops. This provides a central place for the user to do things like launch an application, open up one of their directories, configure their desktop settings, or close down their desktop session. Basically, an easy way for the user to interface with the system.

(7) What is the “Desktop Bar”?
Answer: This is a toolbar plugin that takes the place of the traditional system of desktop icons. The original purpose of desktop icons was to provide quick shortcuts for the user to open applications or put links to commonly-used files/directories, but quickly became abused with people putting everything on the desktop — destroying the intended purpose of the desktop by forcing the user to spend a lot of time trying to find the particular item they need in the chaos that became the desktop (I am sure you have all seen this many times). The desktop bar takes the original purpose of the desktop, and refines it to provide the quick access the user needs even if there is tons of “stuff” in the ~/Desktop folder. It does this by an intelligent system of sorting/categorization, splitting up the desktop items into three main categories: application shortcuts, directories, and files. Each of these three categories gets it’s own button on the toolbar with items sorted alphabetically (if there is anything in that category), so that it is easily accessed by the user at any time, even if you have the desktop covered with open windows, or you have a lot of that type of item. Additionally, it also separates out the actual files in the desktop folder by type: audio files, video files, pictures, and “other”. This should also help people find “that one file” that they need with a minimum of effort.

(8) Is Lumina the new default desktop for PC-BSD?
Answer:  NO!!! While Lumina is now available on the PC-BSD package repository, it is by no means the new default desktop.

 

(9) Will it become the default desktop for PC-BSD eventually?

Answer: Possibly, it really depends on how well the development on Lumina goes and if  the PC-BSD development team decides to make the switch to it at a later date.

 

(10) Will it become the *only* supported PC-BSD desktop?

Answer: Definitely not!! PC-BSD will continue to support multiple desktop environments and window managers through both the installer and the post-installation package manager.
I hope this help to clear up some of the questions you have!

Share This Post:
  • Digg
  • Facebook
  • Twitter
  • email
  • LinkedIn
  • Slashdot

Written by Ken Moore. Posted in 10.0, misc, new features, Uncategorized

Tags: ,

Trackback from your site.

Comments (37)

  • sg1efc
    April 26, 2014 at 9:15 am |

    I hope this help to clear up some of the questions you have!”

    This answered almost all of the questions I had plus many that I did not know I had, LoL. Thanks a lot, this sounds terrific. :)

    Only question I have left is what is the ETA of when Lumina will be released as Beta, Stable & Release? (It’s your own fault I ask the “when” question, as this awesome behind the scenes preview of Lumina is like how HBO advertises Game Of Thrones upcoming new seasons = I can’t wait to see it, LoL. :)

    • Ken Moore
      April 29, 2014 at 5:48 am |

      sg1efc » No ETA at the moment… It will be done when it is done… :-)
      We will probably have another announcement about it on the blog here when it jumps to Beta or Release status.

      • sg1efc
        April 29, 2014 at 7:42 am |

        Cool, very much appreciated, Thanks a lot! :)

  • Pedro
    April 26, 2014 at 10:30 am |

    Pretty interesting, thank you! I bet it must be fun too ;).

    As a change to the existing DEs, I would like to see FreeBSD-specific features: perhaps just consider experimenting with Extended Attributes and blocks support (Cocoa use blocks a lot and we just got some of that into libc).

  • Seth
    April 26, 2014 at 11:10 am |

    Great FAQ. Hopefully this will dispel most of the non-sense and FUD about Lumina being thrown around on various forums.

  • April 26, 2014 at 2:51 pm |

    It would be great if you post some screenshots please ;-)

    • Ken Moore
      April 29, 2014 at 5:53 am |

      Manuel Trujillo » As I mentioned, there is not much to see at the moment except for the default background image (which will probably be changed) and a panel. Wait until I have more desktop/panel plugins available or enabled by default (probably when we hit beta) and then we can start showing off screenshots.

  • nrgmilk
    April 27, 2014 at 5:53 am |

    It’s very interesting,

    as a BSD desktop user, I was annoyed to Linux dedicated designs.

    Future, Linux desktop might move to Wayland.
    BSD version of display server might be required.
    not only DE.

    • Ken Moore
      April 29, 2014 at 5:55 am |

      nrgmilk » We will cross that bridge when we come to it… :-)
      For now, I think X is going to be around for a while on the BSDs.

      • Ben
        June 1, 2014 at 10:24 pm |

        Should be fairly simple to do, anyway, since most of what you need is included in Qt/GTK already (if you have a recent enough version). You just need to create a compositor. The E19 compositor might be a good reference.

  • April 28, 2014 at 11:08 am |

    Funny. When I first read another article, I thought: Why don’t they start with Fluxbox as it was BSD Licensed? Looks like you did.

    So to those who think you are reinventing the wheel, you can simply say, no, we are taking two existing wheels (qt and fluxbox) and creating one specific to BSD.

    • Ken Moore
      April 29, 2014 at 5:56 am |

      Jared Barneck » Actually Fluxbox is MIT licensed, but that is almost the same as the BSD license. :-)

  • April 28, 2014 at 7:21 pm |

    pismotek.compismotek.comI think this is a pretty nice development! In my mind, the biggest issues I have had with PC-BSD or FreeBSD is Linux ports for everyday apps (file manager, xorg, etc) have not been the highest quality, causing crashes, bugs, etc. I think a BSD-centric DE and accompanying apps would be a really nice ‘selling point’ for PC-BSD.

    Incidentally, I use Fluxbox for my WM, and have written a Qt-based applications menu. It was my first Qt app, so it’s not super-tidy, but you can certainly check it out and use what you need, if necessary. It’s at:

    http://​www​.pismotek​.com/​b​r​a​i​n​o​u​t​/​c​o​n​t​e​n​t​/​q​t​m​e​n​u​.​php

    I look forward to the day when I can move onto PC-BSD permanently, instead of trying it out, then having too many problems and moving back to Linux. :-)

    • Ken Moore
      April 29, 2014 at 6:00 am |

      Will Brokenbourgh » I already have a full XDG menu system for Lumina using Qt. This also includes fixes for the Qt icon-theme issues that you mention in your project, so you might just want to give it a try on PC-BSD if you already use Fluxbox+menu exclusively on Linux. You might find that it is a breath of fresh air, even if it is still only an alpha (so you will need to install a file manager too).

      • Will Brokenbourgh
        April 29, 2014 at 10:57 am |

        Thanks for that, Ken :-D

  • Leandro M. Barbosa
    April 29, 2014 at 10:10 am |

    How to contribute? I couldn’t find any page or repository :)

    • Ken Moore
      April 29, 2014 at 1:25 pm |

      freebsdfoundation.orgpcbsd.orgfreebsdfoundation.orgpcbsd.orgfreebsdfoundation.orgpcbsd.orgfreebsdfoundation.orgpcbsd.orgLeandro M. Barbosa » Contribute in which way?
      The source code is hosted on GitHub here, so you can just send in git pull requests to us (makes it nice and easy, while keeping track of who the credit goes to).
      If you are talking about monetary donations, either donate it directly to the FreeBSD Foundation here, or contact the PC-BSD/iXsystem team here.

      • Leandro M. Barbosa
        April 29, 2014 at 5:12 pm |

        Oh nice! I’m looking forward to contribute with code. Thank you for the link.

  • Roman
    May 2, 2014 at 5:06 am |

    Good news about the DE!

    I came here from planet freebsd and I have a comment unrelated to the subject of the post: maybe it’s just me, but selected font family, size, color and background color make it very hard to read the text. I had to zoom to 170% to be able to read it more or less comfortably and there is still a low contrast between text and background which makes reading hard.

    • sg1efc
      May 2, 2014 at 8:23 am |

      Good point Roman. :)

      I noticed this also when this blog’s format was changed. Although I can read it, I do know someone who can hardly see words on a 24 inch screen even when I set the font size to 20 with black colored fonts on white background. Although his poor vision is an extreme example, there are many other people in the world who have such poor vision and the number of these people will increase as more people get older. I was also wondering if there is a “High-Contrast for PC-BSD Theme” that can be used for those who have such poor vision, as I would love to switch my friend over to PC-BSD. :)

  • Ray Clark
    May 2, 2014 at 5:50 am |

    At the risk of being a “Me Too”, I am very pleased and excited at what I read. (1) You perspective on architecture, specifically that the OS is a platform on which things run vs. working towards an interdependent mass. (2) Perhaps it will do what it does reliably. *every time* I upgrade to a new version of Linux there are 510 fundamental things that have worked for 1015 years that are broken in my new distribution. I am fed up.

    One opinion: Your toolbars on the top and bottom: Please enable them to be moved to the side. The entertainment industry has forced us to a difficult aspect ratio — the width is great, but there are not enough vertical pixels so we have to keep scrolling. Horizontal realestate has less impact on productivity than vertical.

  • May 6, 2014 at 11:55 am |

    Great news, finally it happened. Looking forward to it. Though, I have to wait since I’m on FreeBSD.

    • Ken Moore
      May 7, 2014 at 5:22 am |

      M.S. Babaei » You should be able to build it on FreeBSD without any problems, since PC-BSD *is* just FreeBSD under the hood. You will just need to check the DEPENDENCIES file and make sure you install all the appropriate dependencies manually. I think the official port for Lumina also should be getting added to the FreeBSD ports tree sometime here soon.

      • May 9, 2014 at 1:01 am |

        Thank you for the suggestion. I’ve done as you suggested:
        1. Cloning Lumina from PC-BSD’s github repo.
        2. Installed the missing dependencies.
        3. Running /usr/local/bin/Lumina-DE

        This is what I get:
        $ /usr/local/bin/Lumina-DE
        Lumina Log File: “/home/babaei/.lumina/logs/runtime.log“
        Lumina-DE: cannot connect to X server

        And, the log file “/home/babaei/.lumina/logs/runtime.log” is empty.

        • Ken Moore
          May 9, 2014 at 5:07 am |

          M.S. Babaei » Oh, it looks like you are not using a login manager. In that case you will need to “wrap” the desktop environment binary with an X initialization call. Something like this:xinit /usr/local/bin/Lumina-DE -- :0 That will start up the X display server and keep it active while Lumina is running. As soon as you log out it will dump you back to the command line for your user. (Lumina assumes by default that a login manager is running that handles the X setup and kills the user session appropriately when Lumina exits).

          • May 9, 2014 at 6:01 am |

            Thanks for the answer, Ken.

            Actually, I have a SLiM+Xfce4 setup. I’ve stopped slim service to run Lumina, and I was getting the error message.

            I added Lumina to both my .xinitrc and slim.conf and it works just fine. It looks lightweight and promising. Keep up the good work guys ;)

  • May 6, 2014 at 5:58 pm |

    For pretty much the same reasons, I put together a simple desktop for OpenBSD using existing OpenBSD binary packages.

    http://​daemonforums​.org/​s​h​o​w​t​h​r​e​a​d​.​p​h​p​?​t​=​8489

    Has there been any discussion in BSD circles about collaborating?

    Is there any intention to make Lumina port to other BSD’s?

    • Ken Moore
      May 7, 2014 at 5:36 am |

      Shep » It looks like the “Simple Desktop” you refer to is just a collection of applications/utilities, while Lumina is being written from the ground up to be a desktop environment — completely independent from your choice of web browser or multimedia player.
      I have not any discussions with other developers about collaboration (yet), but I know that a few people want me to work with the LXDE/Razor-QT developers.
      As to porting Lumina to other BSD’s, it should be fairly trivial. There is a very small list of dependencies (mostly Qt modules and a few X11 utilities), so as long as you install those dependencies on your OS you should be able to build/run Lumina without any issues. If there *are* any different system calls for your particular BSD, you will only need to patch a single file (lumina-desktop/globals.h), since all the OS-specific calls are contained there.

  • stari
    May 7, 2014 at 3:30 am |

    freebsd.orgfreebsd.orgI gave a try on FreeBSD 10.0-RELEASE
    (http://​www​.freebsd​.org/​c​g​i​/​q​u​e​r​y​-​p​r​.​c​g​i​?​p​r​=​189378) but it didn’t start on my system​.In .xinitrc I have:
    exec /usr/local/bin/lumina-open and it start but stay on dark grey screen. I don’t know if I didn’t wait long enough? I use fluxbox and/or KDE without problem.

    Thank you.

    • Ken Moore
      May 7, 2014 at 5:24 am |

      stari » That is the wrong binary. You need to run /usr/local/bin/Lumina-DE instead. lumina-open is the counterpart to xdg-open, and is designed to open a particular file/URL with the appropriate application.

  • hans
    May 11, 2014 at 3:29 pm |

    why don’t you just use enlightenment — it looks so nice and has all features already, better/nicer than kde and faster.

  • May 25, 2014 at 7:43 am |

    Bismillahirrahmanirrahim.

    Actually I am Linux user. I use KDE. But BSD is always interesting. Now I know that PCBSD has its own desktop environment (althought not default yet) and I feel glad. I like new desktop environment more than new distro. The most interesting part is Lumina built from Qt. As a Linux user, I am waiting for Lumina stable version. Thank you, Developers.

  • Refreshing *BeerSD
    June 2, 2014 at 8:38 am |

    I’m a longtime BSD user, and, I still use Linux also, but, …

    Thankyou, for this thorough explanation Ken, and I especially like “(4-d) Linux dependency bloat.”-you hit the proverbial nail right on the HEAD, with this one.
    :)
    I have Lumina installed on one of my systems, and, even though it’s alpha, it feels very clean, and snappy !
    Finally, a (bloatfree) DE/WM, developed for PCBSD/FreeBSD, and therefore, potentially, ALL the *BSD’s.

    …Thanks again, to all the pcbsd dev’s for all of this.
    It’s been a long time comin’.

  • Arto Pekkanen
    June 3, 2014 at 5:23 am |

    1) Make it possible to quickly switch between applications by pressing Meta + , where is the index of an application icon in the TaskManager –bar or whatever it is
    2) It must be possible to change the order of the application icons in the taskbar
    3) The ability to pin application icons in the task bar is a must have
    4) Also, keeping Meta pressed should draw index numbers on the application icons inside the TaskManager bar, so you know which each app can be quick-switched to
    5) It would also be crucial to group each application’s windows under one icon; hovering mouse over an application icon in TaskManager should draw a preview of each application window, and clicking a specific preview should choose the spesific window.
    6) Need a key combination for an “expose” type function, which shows a panorama of all currently selected application’s windows

    Sounds like Unity? True. But the UI in Unity is only one step slower to use than a customizable tiled window manager.

    In my opinion using the classic “each window has one icon in application switcher (taskbar)” semantic is so horribly broken and unintuitive _when_ you got dozens of applications each with multiple windows.

    I just tried Unity for a short period a month ago, and came to the conclusion that the developers really put some effort into the UI design. The reason I’d not want to use Unity is because it is so bloated and full of useless eye candy. Thus, for a new project it is a good idea to copy the best features from Unity. That’s it.

  • Refreshing *BeerSD
    June 5, 2014 at 9:34 am |

    …Very good points. and I agree, there’s nuthin’ wrong with implementing the BEST of others’ code, if (BSD) possible, for the benefit of ALL, as long as it’s for the benefit of BSD, without adding “Linux” bloat,-yet again.
    You need to read (4-d) above again, to understand how hard it is to un-entangle the Linux DE-love-affair mess within BSD, purposley incorporated by Redhat or not?
    BSD, including it’s BSD-License needs to “BREATH” again. Unity has some ideas, but it’s NOT part of BSD…, and never will be.
    BSD is NOT Linux, period, and likewise. No offence intended.
    ..it is, what it is.

  • freebee
    June 24, 2014 at 6:43 pm |

    Hi.
    This is what the opensource need.
    Please, take care about font. Ubuntu and others have no sense of size and art harmony in font styles. Everything is no organized in screen and for me is the most important in a desktop. Mac OS X and Windows have this plus and i not see this in kde or gnome (or the ubuntu).

  • July 8, 2014 at 12:09 am |

    hmm any mailing list for this project? Coz obviously i believe you won’t mind some devs to help out.

Leave a comment

*

Please leave these two fields as-is:

Help the Project, Donate Today!