We’d like to take a moment to officially welcome Joe Maloney to the PC-BSD project as our Lead System Architect. Joe has been working as a volunteer developer with the PC-BSD project for several years and began committing to the project in 2013. Joe’s duties will include working on our command line utilities, bug fixing, managing the ports tree, and general creative control over old utilities that need to be revamped. Joe has 12+ years experience working with FreeBSD and works day to day as a Quality Assurance Engineer for iXsystems and has been doing excellent work writing new tests to make FreeNAS more resilient going forward. Take a moment and help us welcome Joe to the team!
With the amount of changes to the Lumina desktop environment and the increasing number of questions/comments we are receiving, I thought it would be a good time to post a status report about it and answer many of the commonly asked questions.
As always, please post any bug reports or feature requests on the PC-BSD Bug tracker.
If you wish to get involved in the development of the Lumina Desktop Environment, you can find the source code in our repository on GitHub.
Lumina Desktop FAQ/Status Update:
What is the Lumina Desktop Environment?
- The Lumina Desktop Environment (sometimes referred to as Lumina-DE or just Lumina) is a BSD-licensed, FreeDesktop-compliant graphical interface for a desktop operating system.
- It has been written from scratch in C++/Qt5 (it is not based on any existing DE code-base). It uses Fluxbox for the window management in the background and xscreensaver for screensaver/screenlocking functionality. The only other runtime dependencies are a couple of small X11 utilities (xnumlock, xbrightness, xterm, xrandr).
- This results in a very lightweight, very smooth desktop experience with minimal system overhead.
What is the current development status?
- While the current version (0.8.4) is still considered to be “Beta” quality, that is primarily because there are still a couple external utilities which have not had in-house replacements written yet (Fluxbox and xscreensaver primarily).
- In its current state it is very stable and completely usable on a daily basis for both developers and non-developers alike.
- The only caveat for its “beta” status is that since there are some backend systems which are still in major development, we reserve the right to break a user’s customized settings during the transition to these new systems (the window manager and screensaver settings are where I anticipate this happening once the replacement systems are in place). However, we already have a good track record of backwards compatibility with older settings formats, and will continue to work on ensuring a smooth transition between different versions of the desktop (even during heavy development/backend changes).
What are some of the features of Lumina?
- Restore files from ZFS snapshots directly through the Insight file manager (lumina-fm).
- View picture slideshows or play multimedia files through the Insight file manager.
- Completely configurable – the interface is designed around a plugin-based mentality where everything you see/use is a compiled-in plugin (ensuring that every plugin is guaranteed to work). This means that you can create an interface custom-tailored to your specific needs.
- Easy-to-use configuration utility (lumina-config). This single utility controls all the different configuration options for the desktop in one simple location.
- Total system search capabilities through the lumina-search utility (without having a daemon eating memory in the background).
- Screenshot functionality through the lumina-screenshot utility (also tied to the “print screen” key by default).
- Multi-monitor support through xrandr (every monitor is treated as a distinct screen, with it’s own background, interface, etc..). Lumina also provides a graphical utility for adding/removing monitors from within the Lumina session (lumina-xconfig).
- Simple system controls through the “System Dashboard” for things like audio volume, screen brightness, battery status/notifications, and workspace switching.
- Easily select which application to use when opening a file and set that as the default for the next time. If you happen to remove that default application, it will automatically re-open the application selection dialog the next time you open that type of file again. This utility (lumina-open) is also tied into the commonly used xdg-open utility so that 3rd party applications will automatically use this utility for opening files outside of the application scope.
How is it different from other desktop environments?
- Designed on PC-BSD, specifically for the BSD community at large (although it is easily ported to any OS, including Linux distros).
- Does not require any of the commonly-used desktop implementation frameworks (DBUS, policykit, consolekit, systemd, HALD, etc..).
- Does not come bundled with any “end-user” applications (web browsers, email clients, multimedia software, office suites, etc..). The only utilities that Lumina brings to the table by default are the ones written specifically for the project and are generally for background/utilitarian functionality (the largest utility is the file manager).
- Simple text-based configuration file for setting system-wide defaults for new users. This allows distributors of the desktop to easily pre-set the system defaults/interface so it just works for the end user.
- Plugin-based interface design. This allows the user to make the desktop as light/heavy as desired (within reason) simply by choosing which plugins to have running on their desktop/panels.
Are there any PC-BSD specific features?
- Hardware-level screen brightness control (sysctl control through pc-sysconfig on PC-BSD 10.1.2+).
- Links to the PC-BSD Control Panel and AppCafe are embedded directly into the Lumina interface for system control/modifications.
- Detects when system updates are in progress and prevents the user from shutting down the system until that is complete (you can log out of Lumina and then shutdown the computer from the PCDM login manager if absolutely necessary) .
- Designed to work hand-in-hand with the PC-BSD utilities (mounttray, AppCafe, Life Preserver, etc.) preventing conflicts between DE and OS utilities.
Is it available for any other operating systems?
- There are currently source files in the project for building/using Lumina on: FreeBSD/PC-BSD, OpenBSD, DragonFlyBSD, kFreeBSD, Debian, and generic “Linux” distributions.
- Please contact the package management/distribution team for your particular OS to determine the availability of pre-compiled packages.
What does it look like?
- Due to the flexibility of the interface design and the ease with which the themes may be customized, the Lumina desktop can take many various forms. Here are a just a few of the variations that I have assembled on my system:
- As we continue to create more plugins with every new version of Lumina, the variability of the interface just continues to grow. If you have a particular plugin/feature that you would like, please post a feature request on the PC-BSD bug tracker!
What plugins are currently available (as of version 0.8.4)?
- Panel Plugins: AppLauncher, AppMenu, BatteryMonitor, Clock, DesktopBar, DesktopSwitcher, HomeButton, Spacer, SystemDashboard, SystemTray, TaskManager(with or without grouping), UserButton.
- Desktop Plugins: AppLauncher, AudioPlayer, Calendar, DesktopView, Notepad
- Menu Plugins: AppLauncher, AppMenu, LineBreak, OpenTerminal, OpenFileManager, SettingsMenu, WindowList
- More plugins are being created all the time!
What is being worked on right now?
- Right now, we are mainly focused on expanding the scope of the desktop through creation of new plugins and enhancement of the existing plugins.
- The next “big” change planned is the move to a new window manager which is in the process of being written right now. This change will correspond with version 0.9.0.
- We are also working on tweaking the default themes and colors right now, and are looking into adding new themes & color schemes “out of box” for people to be able to simple select and use.
A new window manager? Is something wrong with Fluxbox?
- Fluxbox is a great WM, and the Lumina project will be still be using it for quite some time yet while the replacement is being written. The main reason a new WM is planned is for better integration with the Lumina desktop in the following areas:
- Interface/font scaling
- Keyboard shortcuts (particularly with using the default application registrations in Lumina)
- Addition of WM “modes” for use on various types of devices.
- Allow compositing between windows (for better transparency effects)
- Uniform Theme/Appearance
- In addition, having a custom WM specifically for Lumina allows us to be able to combine the functionality of a few common background daemons into a single utility (since at their core they all revolve around responding to particular base system events).
- Window Manager (ICCCM/EWMH events)
- Screensaver/Screen Locker (All Input Events – transparent watcher)
- Keyboard shortcuts (Keyboard Input Events)
- Application message logger/viewer (some EWMH events – transparent watcher)
- Power management (system events through devd/HALD/other)
- Having all these systems within the same utility allows us to be able to create a much tighter level of inter-functionality between them. For a few quick examples:
- Temporarily disable the screensaver while a window is full-screen (such as when watching a video)
- While the screen is locked, prevent the window manager from showing any new windows on the screen and stop all keyboard shortcut handling (preventing possible security issues), while still allowing some notifications and background procedures.
- Enable different levels of power management while the screen is locked or the screensaver is active.
- This is a fairly massive undertaking, so I want to re-iterate that I expect it to be quite some time until this new window manager is ready for use and we will continue to use Fluxbox in the meantime. The Lumina desktop will remain within the 0.8.x series of version numbers while this new utility is in development.
How can I get involved?
- If you are a C++/Qt developer, there are tons of areas where you could contribute! Some of them are: finding/fixing bugs, writing new interface plugins, adding functionality to existing plugins, and more!
- If you are a CSS developer, then you might be interested in making new themes for Lumina (using QSS: it is very similar to CSS but specifically for Qt applications/widgets). These themes can be created/modified directly within the Lumina configuration utility, and also provides an easy way to directly implement the user’s current color scheme. Once you have a theme put together that you like, you can just send us that file (located in ~/.lumina/themes) and we can get that included with any future versions of the desktop.
- If you want to create new color schemes, you can do so via the Lumina configuration utility. Once you have one that you like, just send in that file (located in ~/.lumina/colors) and we can get that included with any future versions of the desktop.
- If you found a bug or have an idea for a cool new feature, you can post bug reports or feature requests on the PC-BSD bug tracker!
How can I contact the developer(s) with questions/comments/snide remarks?
- IRC: The #Lumina-DE or #pcbsd channels on Freenode
- Mailing List: The PC-BSD “testing” mailing list
- GitHub: Post an issue on the Lumina source repository or directly contact me
Some of you may have heard the speculation surrounding the last couple weeks of development here at the PC-BSD project, and I’d like to go ahead and address those rumors in today’s post. We know there has been a large amount of misinformation circulating so we recommend that all of our users please read the following explanation so the information is clear.
For the last couple of months we have been beating our heads against the wall trying to find a way to put us on par with the best Linux distros out there such as Ubuntu. During a phone meeting on Monday between Kris, Dru, Ken and myself (Josh), we began tossing around ideas on how we can make that happen. One of the ideas that was presented was making Lumina DE the only supported desktop environment in PC-BSD and by doing so focus all of our development time exclusively on it. Ken Moore argued that if we could create a desktop environment that everyone loved, and “Unify” the user experience, that no one would have any reason ever to use anything else because it was the best. Although we did toss the idea around for a while we thought that might be a little bit of an issue with a few of our users that like to use other crappy desktop environments.
After an hour of spirited back and forth debate, many good ideas were presented. As we all took a moment during our video call to think about the ideas that were just discussed, I interrupted the awkward silence and told the rest of the group about an idea I had been thinking about for a few days. “What if we could do something even better than Unify the user experience…What if we could make the system boot extremely fast”. I explained that if we could hard code a “boot shim” so to speak into the kernel, that we could be the fastest booting unix-like distribution out there. We all looked at each other and started to realize this was the “holy grail” so to speak that we had been looking for. After perusing the internet for about 3 and a half minutes we found out there was already a Linux solution available.
We hammered out the details and now want to present you with our new “Everything Manager” the new SystemBS-D. Most of you are familiar with how we can port different types of Linux software and run them through our emulation layer. Using the same emulation magic we have taken what one kid that lives on my street called “the best piece of software ever. The end.”, and ported it over to PC-BSD. SystemBS-D not only makes your system boot faster, but it can basically manage everything on your system as well. Sure it still crashes a lot and it has trouble displaying log files, but we’re working on that. In a discussion with Kris Moore he stated “SystemBS-D may be unstable, but it DID make the system boot super fast. I feel like that’s a pretty good trade.”
Taking cues from other popular software companies we have also thought about integrating a really cool storefront into PC-BSD and making people look at it before they can go to their desktop. We could also consider locking down the user’s system with “grub-lock” so no other operating systems could be installed on it… oops I meant “secure” the user’s system.
We look forward to hearing your feedback on these new developments.
P.S. if you thought any of this was real look at the date on your computer. Happy 1st!
Hey Everyone! The new version of PC-BSD is out. There are lots of improved features so check out the release notes below!
The PC-BSD team is pleased to announce the availability of 10.1.1-RELEASE!
Changes since RC2
* Fixed an issue using auto-login in PCDM and setting incorrect locale
* Fixed a bug in user-manager allowing the deletion of the current user
* Updated GRUB to include i18n files
* Fixed an issue with invalid GPT options being displayed when
installing to a specific partition
* Updated GRUB to better auto-detect other disk-drives to chainload via
the boot menu
* Fixed various bugs in external media mounting
Changes since RC1
* Disabled some diskid / gptid labels from installer
* Updated HandBook with additions for 10.1.1
* Fixes to Lumina desktop default settings
* Disabled the lock functionality in AppCafe
* Fixed an issue with VirtualBox modules not being loaded after install
* Updated some man pages for pbi_* commands
* Fixes to how ISO / memory disks are mounted via Mount Tray
* Fixes to Mount Tray for mounting exFAT partitions with write access
* Fixed an issue with UEFI USB media not loading GRUB correctly
* Removed pc-soundconfig utility, functionality has been merged into
PC-BSD 10.1.1 notable Changes
* Brand new system updater which supports automatic background updating
of the system
* Many improvements to boot-environments and GRUB support for a wider
variety of setups
* Support for installation to a specific GPT partition and GPT
* Conversion to Qt5 for all desktop utilities
* Fixes to using dtrace when booted from GRUB
* Re-write of Mount Tray utility, improves mounting of external media
* Support for full-disk encryption (without an unencrypted /boot) using
* More packages available for installation from DVD/USB/CD images via
* New OVA files for virtual machines
* Misc bugfixes and improvements to utilities
* GNOME 3.14.1
* Cinnamon 2.4.2
* Lumina desktop 0.8.1
* Chromium 39.0.2171.95
* Firefox 35.0
* NVIDIA Driver 340.65
* Pkg 1.4.4
10.1.1-RELEASE DVD/USB media can be downloaded from the following URL via
HTTP or Torrent.
Users running on 10.1-RELEASE can now update to 10.1.1 via the normal
package updating mechanisms.
If the update cannot complete, such as when excessive pkg conflicts
exist, it is possible to grab the new PC-BSD updater from git and use
it. To do so, use the following instructions.
# pkg update -f
# pkg upgrade -f ports-mgmt/pkg
# pkg update -f
# pkg install -f grub2-pcbsd
# git clone –depth=1 -b releng/10.1.1 https://github.com/pcbsd/pcbsd.git
# cd pcbsd/src-sh/libsh
# make install
# cd ../pcbsd-utils/pc-updatemanager
# make install
# pc-updatemanager pkgupdate
Found a bug in 10.1.1? Please report it (with as much detail as
possible) to our bugs database.
PC-BSD has long been very flexible about how you can install software. You have PBI’s, packages, and ports available with just a couple clicks or via a couple of simple terminal commands. For a long time the PBI format has served as an excellent solution for people who may need an offline package install, or just simply prefer the ease and simplicity the PBI format has to offer especially via the AppCafe. Perhaps the “Achilles’ Heel” of this situation is that we have also been severely limited on the amount of software that the AppCafe has to offer as packages had to first be converted into the PBI format.
This week we are announcing a radical change that we think will benefit all PC-BSD users in ways that were previously unthinkable. The PC-BSD team has begun work during the last couple of weeks redesigning our PC-BSD utilities (AppCafe, Update Center) to work with our pkgng software repository that we are currently building to contain detailed information about all the software available through packages and PBIs. What this means for you is that in the near future PC-BSD will have a much broader software pool to pull from, and will not be limited anymore by only having a small subset of PBI’s. You will now be able to install packages and PBI’s in one place, while also being able to update and manage both in one place.
You may be asking yourself “why the change?”. Over the last several months we have noticed a considerable amount of our time has been going into compatibility and fixes for PBIs. So much time in fact that other important development had to be postponed and / or sidelined while we worked on bringing PBIs up to speed. We are hoping by adopting appcafe and the PBI format to work in tandem with pkgng, that we will be able to refocus our efforts on other important endeavours.
We will have more information available soon as development continues on how you can get involved with testing out the new features and submitting ideas to help the project along. Let us know what you think about the changes. Are we headed in the right direction? Do you have ideas related to the redesign that you’d like to contribute? Let us know!
Much larger software library. Instead of 800 available appcafe applications think more like 10000+
Detailed information on all the software available including packages in one place
Ability to search and filter your results to show
Improved compatibility across desktop environments
New rating system is being developed for grading the quality of packages in the AppCafe library