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!
The next version of the Lumina Desktop Environment has just been released!
This is mainly a bugfix release to correct an urgent issue with the system tray on FreeBSD 11, but there are a number of other slight improvements/updates included as well. The full list of changes is included at the bottom of this announcement, but the notable changes are as follows:
- New Panel Plugin: “Application Launcher”
- This allows the user to pin the shortcut for an application directly to a panel.
- New Utility: “lumina-xconfig”
- This utility allows the user to easily enable/disable additional monitors/screens within the desktop session.
- Fix the issue with transparent system tray icons on FreeBSD 11
- Add support for the XDG autostart specifications.
The FreeBSD port has already been updated and this version will be included in the next set of PC-BSD package updates (“Edge” packages being created now) as well as included in the next PC-BSD 11 image for April (coming soon).
Reminder: The Lumina desktop environment is still considered to be “beta-quality”, so if you find things that either don’t work or don’t work well, please report them on the PC-BSD bug tracker so that they can get fixed as soon as possible. Feel free to also post tickets for any feature requests or improvements that you think might be useful!
Changes Since 0.8.2
FreeDesktop Standards Compliance:
- A number of bugs related to detecting/using XDG mimetypes were fixed.
- Support for the XDG autostart specifications was added (usage only – more work is still necessary to convert the current Lumina autostart spec over)
- Add some additional fallback routines to account for possible errors in *.desktop files.
New Utility: “lumina-xconfig”
- This utility is a graphical front-end to xrandr, and allows the user to easily add/remove screens from the current X session.
- Shortcuts to this utility are available in the user button plugin, and the settings menu plugin
Insight File Manager:
- Add support for creating new (empty) files.
- Add an option for enabling/disabling the use of image thumbnails (useful if you have massive directories of pictures – just be sure you disable thumbnails *before* loading the directory).
- Add initial drag-and-drop support for moving files/dirs within a directory.
- Load the specific icon for any application shortcuts.
- Add the ability to view checksums of files.
- Add some additional checks/excludes for copy/move operations in the background to prevent the user from performing illegal operations (such as moving a directory into itself).
- Add support for listing statistics about the current directory on the window (number of files, total size of files, percent of the filesystem which is used).
- Streamline the frequency of the background directory checker – now it runs much less often.
- Disable the shutdown/restart options on PC-BSD if the system is in the middle of performing updates. The system may still be shutdown/restart from within PCDM – this just adds an extra layer of safety for users.
- Have the shutdown/restart options use the “-o” option on FreeBSD/PC-BSD so that the system performs the action much faster.
- Add support for thumbnails, increasing/decreasing icon sizes, removing files, and cut/copy files to the “desktopview” desktop plugin (the plugin which provides traditional desktop icons).
- Add support for increasing/decreasing the icon size for the application launcher desktop plugin.
- Update the icon used for the “favorites” system in the user button and the file manager.
- Add the ability to display alternate timezones in the system clock. This does *not* change the system time at the moment, it is just a setting for the visual clocks/plugins.
- Add a new panel plugin for pinning application shortcuts directly to the panel. (just like the “applauncher” desktop plugin, but on the panel).
- Perform the initial search for applications on the system within the session initialization. This ensure that buttons/plugins are responsive as soon as the desktop becomes visible.
- Fix an issue with transparent system tray icons on FreeBSD 11, and convert the system tray embed/unembed routines to use the XCB library instead of XLib.
If you’ve been an EDGE user in the past few weeks, or following our Roadmap items for the upcoming 10.1.2 release, you may have noticed a number of new security and privacy related items. I wanted to take a moment to clarify what some of these new features are and what they will do.
— PersonaCrypt —
The first of the new features is a new CLI utility called personacrypt. This command will allow the creation and usage of a GELI backed encrypted external media for your users $HOME directory. We are using it internally to keep our user profiles on USB 3.0 – 256GB hybrid SSD / flash memory stick (Coarsair flash Voyager GTX specifically). This is tied into the PCDM login manager, and user manager, so when you create a new user account, you can opt to keep all your personal data on any external device. The device is formatted with GPT / GELI / ZFS, and is decrypted at login via the GUI, after entering your encryption key, along with the normal user password.
Additionally, the personacrypt command uses GELI’s ability to split the key into two parts. One being your passphrase, and the other being a key stored on disk. Without both of these parts, the media cannot be decrypted. This means if somebody steals the key and manages to get your password, it is still worthless without the system it was “paired” with. PersonaCrypt will also allow exporting / importing this key data, so you can “pair” the key with other systems.
— Tor Mode —
We’ve added a new ability to the System Updater Tray, so you can with a single-click, toggle between running in Tor mode, and regular “Open” mode. This switch to Tor mode, will do the following:
1. Launch the Tor daemon, and connect to the Tor network
2. Re-write all the IPFW rules, blocking all outgoing / incoming traffic, except for traffic to and from the Tor daemon
3. Re-route all DNS / TCP requests through Tor using its transparent proxy support
This allows applications on the system to now connect to the internet through Tor, without needing explicit SOCKS proxy support.
Obviously this alone isn’t enough to keep your identity safe on the Internet. We highly recommend that you read through their excellent FAQ and wiki articles on the subject.
— Stealth Mode —
One of the features we just added to personacrypt is something we are calling “stealth” mode. It is integrated into PCDM, and does the following:
During the login, if stealth mode is selected, the users $HOME directory will be mounted with a GELI backed ZVOL with GELI’s onetime key encryption. This $HOME directory is setup with the default /usr/share/skel data, and is pretty much a “blank” slate, allowing you to login, and run apps as if on a fresh system each time. At logout the dataset is destroyed, or should the system be rebooted, the onetime key is lost, rendering the data useless. Think of it as a web browser’s “private” mode, except for your entire desktop session.
— LibreSSL —
We’ve made the switchover to convert our ports to use LibreSSL by default instead of the base systems OpenSSL. (Thanks to Bernard Spil for his work on this). Our hope is that LibreSSL will help make the system security better, and reduce the number of OpenSSL exploits that our packages may be vulnerable to.
— Encrypted Backups —
The Life-Preserver utility has had the ability for a while now to replicate your system to another box running FreeBSD, such as FreeNAS. This backup is done via ZFS send/recv using SSH, but the data on the remote end was stored un-encrypted and could be read by whomever was administrating the remote box. To provide an extra measure of security to backups, we are in the process of adding support for fully-encrypted backups, using GELI backed iSCSI volumes. This allows us to use ZFS send/recv over the wire, with all the data leaving the box already being encrypted via GELI. Your data on the remote side is fully-encrypted, and only accessibly with the key file you have stored on the client side. This is still in active development and should show up in the EDGE repo in the upcoming weeks, along with some additional details on usage.
We hope you’ve enjoyed this sneak-peek of whats happening with PC-BSD development right now. As always, we love people to test these features in our EDGE repo, and let us know of issues via our bug tracker:
The next version of the Lumina desktop environment has just been released! Version 0.8.2 is mainly a “spit-and-polish” release: focusing on bugfixes, overall appearances, and interface layout/design. The FreeBSD port has already been updated to the new version, and the PC-BSD “Edge” repository will be making the new version available within the next day or two (packages building now). If you are creating/distributing your own packages, you can find the source code for this release in the “qt5/0.8.2” branch in the Lumina repository on GitHub.
The major difference that people will notice is that the themes/colors distributed with the desktop have been greatly improved, and I have included a few examples below. The full details about the changes in this release are listed at the bottom of the announcement.
Reminder: The Lumina desktop environment is still considered to be “beta-quality”, so if you find things that either don’t work or don’t work well, please report them on the PC-BSD bug tracker so that they can get fixed as soon as possible.
Changes from 0.8.1 -> 0.8.2:
New Utility: “lumina-info”
- This utility provides basic information about the current version of the Lumina desktop as well as link to various information online (source repository, list of contributors, bug tracker, etc…).
- New Color Scheme: PCBSD10-Default (the default for new PC-BSD users)
- Lumina-[Red/Green/Gold/Purple] color schemes updated.
- “Lumina-Default” and “None” theme templates updated significantly.
- Make it easier for a distributor to set a default theme/color by just supplying the name instead of the full path (since paths can be different on different OS’s)
- Fix issue with some fonts not loading properly.
- Distinguish between “Save” and “Apply” in the theme template editor (“Save” to update the file but keep the editor open, “Apply” to update the file and close the editor). This makes it much easier to test changes to the current theme template as you don’t need to close/re-open the editor to try it out.
- Add the ability to distinguish between transparent/opaque desktop plugins in the theme template.
Configuration Utility Changes:
- Add a new dialog for selecting plugins of all kinds. This makes it easier to browse through and read the descriptions of the plugins before actually selecting one.
- Re-arrange the interface quite a bit. Now the general page arrangements make much more sense (Appearance [wallpaper/theme], Interface [desktop/panels], Applications [auto-start/file defaults], Shortcuts, Session [general options/window system] )
- Add the ability to set your preferred time/date format(s) in the general session options.
- Add the ability to reset your preferred file manager/terminal/web browser/email client back to defaults.
Insight File Manager Changes:
- Make all the file operations happen in a separate thread (does not lock the UI any more).
- Clean up the detection routine for Qt-editable files (for rotating images in the slideshow in particular).
- When removing a file in the slideshow, make it simply go to the next/previous image instead of the beginning of the list.
- Make the ZFS snapshot search functionality a lot faster if just refreshing the current directory.
Desktop Session Changes:
- For vertical panels, have the clock plugin try to use vertical space instead of horizontal.
- Clean up a few desktop plugin stability issues.
- Streamline the session cleanup functionality.
- Fix some issues with 2nd panel functionality.
- Reduce the number of backend filesystem watchers (only one per session instead of one per screen now).
Lumina Search Changes:
- When searching for files/directories, make the initial starting point user-configurable as well as add the ability to exclude directories from the search routine (also configurable by the user).
There will be a FreeBSD booth during SCALE, to be held at the Hilton LAX in Los Angeles from Friday, February 19 to Sunday, February 22. This event has a small entrance fee and registration is required. The FreeBSD booth will be next to the OpenBSD booth. As usual, we’ll be giving away cool swag, PC-BSD DVDs, FreeNAS CDs, and brochures and accepting donations for the FreeBSD Foundation.
There will be several BSD-related talks at this event. Dru Lavigne will present “What’s New in FreeNAS 9.3” at 13:30 on Saturday, Brooks Davis will present “Booting FreeBSD on BERI” at 14:30 on Saturday, and Michael Dexter will present “FreeBSD Virtualization Options” at 16:30 on Saturday.
The BSDA certification exam will be available at noon on Sunday. You can register and pay for the exam here.