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 2-3 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!
The week is finally almost over and we’re back for another update on PC-BSD! The majority was spent squashing bugs and performing minor updates to PC-BSD utilities (as well as recovering from the Jet lag from AsiaBSDcon for Kris and Dru)! To check out pictures from the big event have a look at IXsystem’s facebook page here. For a list of some of the changes and updates this week have a look below.
* Fixed missing RDP support for krdc
* Fixed issue installing src / ports for server installs
* Enabled “lz4” compression on root FS by default
* Disabled some FUSE file-cache functionality in PBIFS
* Investigated issues with calls to “vflush” causing fuse to never finish unmounting
* Imported latest stable/10 and started builds
* Imported latest gnome3 / cinnamon changes
* Finished building next Edge package set
* Finished GUI updates and changes to bring them up to our new / current standards
* Added accessibility / shortcut keys for PC-BSD utilities
PC-BSD 10.0.1 Has been released! Check out the release notes from Kris below. Kris is currently out in the field attending AsiaBSDCon so make sure to stop by the FreeBSD booth if you’re in the area and show your support! Work has continued this week on the development of the new PC-BSD mixer although our primary goal this week was to get a bunch of trac tickets fixed, closed, or assigned to someone to take care of them. Thanks as always and enjoy the new updates!
The first PC-BSD 10.0 quarterly update is upon us, and 10.0.1 is now
This update includes a number of important bugfixes, as well as newer
packages and desktops, such as KDE 4.12.2, Cinnamon 2.0 and more. For
more details and updating instructions, refer to the notes below.
* KDE 4.12.2
* Cinnamon 2.0
* Samba 4.1.4
* Stability improvements to PBI subsystems
* Updated GRUB loader, fixing issues related to slow / hanging startup
* Updated AppCafe UI
* Updates to Life-Preserver, including “Classic” backup mode and
* Updated control panel with desktop settings buttons
* PulseAudio 5.0 integration
* Improved Video display auto-detection
* Bugfixes to mouse auto-detection
* Improved LDAP / AD support for login manager
* Misc other bugfixes
Desktop users already running 10.0 can update via Control Panel ->
Package Manager -> Updates.
Server users can update via the “pc-updatemanager” utility.
If package updating fails due to conflict errors, please be sure to
apply all system updates first before trying again.
10.0.1 DVD/USB media can be downloaded from the following URL:
Found a bug in 10.0.1? Please report it (in as much detail as possible)
to our Trac Database.
New Sound Management
Work has began to fully port pulse audio into PC-BSD for 10.1, and we are quite pleased so far with the results. Kris has been making headway this week getting pulse audio and it’s related utilities working. In the meantime Ken has been working on an all new utility pc-mixer. pc-mixer is a complete front-end to the FreeBSD “mixer” utility that will allow users a simple to use GUI and volume control for every day tasks. There will also be an advanced tab allowing for more specific audio setups and control.
*New PBIs for 9.x versions and 10.x versions were released this week, so be sure to check out the AppCafe and see what’s new.
*Gnome 3 and Cinnamon 2.0 desktops have received updates this week. These desktops are not 100% fully supported yet and as such we can not make any guarantee on functionality.
*Grub 2.02 has been fully ported over and updated to GRUB 2.02-prerelease.
*Lastly The PC-BSD ports tree has been frozen in preparation for our quarterly package update.
Improvements for Life-Preserver
* Add new “Classic” backup dialog for custom exclusions and status updates
* Fix bug with restoring a file/dir into a missing directory on the main system.
* Clean up the restore tab
* Bugfixes to the FUSE “pbifs” file-system
* Fix bug showing HPLIP drivers in the main CUPS Manager.
* Fix seg-fault crash in EasyPBI when removing a non-selected item.
For those of you waiting for PC-BSD 10 to become a reality, the wait is almost over. The PC-BSD team announced last Thursday that the project is now in 10.0 Release Candidate 5 (p4), and is available for mass consumption. There are a couple of important things to remember when upgrading to the latest RC. Kris announced that all users upgrading from RC4 or previous versions, will unfortunately have to upgrade all of their packages and PBI’s due to a recent ABI change in FreeBSD. For more information on how this will impact you and what you can do to have a smooth transition, please see the PC-BSD 10.0 RC5 release notes here.
Also due to the ABI change and the inability to use our previously approved PBI’s for PC-BSD 10.0 RC5, PBI’s had to be completely rebuilt and re-approved for use in the version 10.0 AppCafe. The PC-BSD team was able to get nearly 500 PBI’s rebuilt and re approved at the end of Friday the 24th, but there are still many more that will begin to show up in the AppCafe very soon.
Builds have started for final release, so keep your eyes peeled for the official release announcement over the next couple of weeks. We do not have an exact date at this moment for when the build will be finished so please wait patiently and allow us to finish testing to make sure that PC-BSD 10.0 release will be the best and most stable version yet.
- Joe Maloney has been working tirelessly to get Gnome 3 into PC-BSD, and has been a huge help getting this Behemoth DE into a usable state. Anyone who is interested in using / testing gnome 3 (it is still unsupported at this time) make sure to thank Joe for all the hard work he’s been putting in.
- PBI’s have undergone even more detailed optimization further increasing their startup times.
- More tweaks and optimizations have been committed to PCDM, Firewall Manager, and ATI Hybrid graphics laptops.
PC-BSD 10.0 is hurtling towards the finish line, and the big news this week of course is that the PC-BSD 10.0 RC-4 image is now live! If you want to be on the cutting edge of PC-BSD development please follow the link here and download the latest version of PC-BSD version 10.0 RC-4. Please be aware this is still an early RC image and is not an official release.
We are aware a small number of users reported that Grub is behaving slowly during RC2 and RC3 initial startups, and at the time I was able to duplicate the issue on two of my test machines. I have not been able to duplicate the issue with RC4. If anyone is still experiencing slow Grub boot times it is imperative you download the test grub text image @ http://web.pcbsd.org/~kris/PCBSD-10.0-RC4-grubtext.iso , and see if this helps and / or fixes your problem. Also it is beneficial to enable debug mode in your grub.cfg file and report anything that may look like it’s choking the system. This is the last critical issue we are looking into for PC-BSD 10.0 Release, and we’d love to track this down and get it taken care of.
NOTE: This is only for testing and booting purposes and is not appropriate to install from. Much of the PC-BSD image has been removed.
The wine PBI is now available in the AppCafe for PC-BSD version 10.0. I’ve tested the wine PBI with a number of different windows programs, and it appears to be functioning normally. Wine has a couple of kinks that will hopefully get ironed out over the course of the next couple of months, but for now it is usable. A couple things to remember if you want to use wine: The icons wine creates currently do not display the correct icons for the program, and would not execute the programs in my testing in KDE. I had to browse to the appropriate program directory and execute the program through wine’s run command. I have also been told that running the programs from the command line + wine also works just fine.
Remember: if you want to have a stable system, wine can lead to a number of freezes and or crashes especially with improper settings. This does not mean PC-BSD has a bug.
PC-BSD 9.2 Release systems will now be able to upgrade to PC-BSD version 10.0 Release and keep their PBI library. Kris has designed an upgrade feature that will allow PC-BSD to uninstall the user’s 9.2 PBIs (while keeping the PBI’s settings) during the update, and then reinstall the correct 10.0 PBI’s after the system update.
That’s it for this week folks. Catch you later!