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
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