XStream Desktop 153



I have mentioned before that I have a special place in my heart for open source forks of the Solaris operating system. Solaris was my first exposure to UNIX and represented the first step in my journey into the Linux and BSD communities. Getting to know Solaris was a challenging and educational experience for me and, as a result, I look upon derivatives of Solaris fondly.



For this reason, I was happy to learn Sonicle is still working on their open source branch of Solaris, called XStreamOS. Specifically, I was interested in their desktop edition, which is called XStream Desktop. XStream Desktop is based on Illumos, which is itself a fork of the discontinued OpenSolaris project. The Sonicle website describes XStream Desktop in the following way: XStream Desktop unites a free, light and modern desktop, with the unique characteristics of the Illumos kernel, including a number of pre-installed applications, as LibreOffice, Firefox, Thunderbird, GIMP, VLC and more.



Sonicle will continue the effort to add support for more software, publishing them on the public repository, directly accessible from the desktop. XStream Desktop appears to be compatible with 64-bit x86 computers only. The project provides two installation images: a 1.8GB ISO file and a 2.2GB image file for USB devices. I decided to download both to cover all my bases. Booting from the project's media brings up a text console. We are shown a list of supported keyboard layouts and asked to select one. The system then shows us a list of 22 supported languages and asks us to pick our preferred language from the list. The next menu gives us the option of launching the XStream system installer, installing additional drivers, dropping to a command line shell or rebooting the computer. I decided to jump straight into the installer.



Launching XStream's system installer brings up a series of text screens. Each screen displays a group of fields or menus we a can navigate with the page up/down keys and the function keys. The installer begins by asking us on which hard disk we want to install XStream. We are then given the option of using the entire disk or installing XStream on a specific partition. Once we have selected a free partition, we are asked to provide a hostname for our computer. We are then given the option of automatically setting up networking using DHCP or we can set up our network card by manually providing network settings. We then select our time zone from a list and confirm the system clock has the correct time. The following screen gets us to create a password for the root account and set up a new user account for ourselves. The installer copies its files to our hard drive and then gives us the option to either view the installation log or quit. Taking the latter option returns us to the menu where we can run the installer, access a command line shell or reboot.



When we reboot the computer the system brings up the GRUB Legacy boot loader. From the GRUB menu we can launch XStream which brings us to a graphical login screen. I think it is worth noting that XStream uses boot environments, file system snapshots that get created when the operating system is updated. Each boot environment is listed in the GRUB menu. When we upgrade packages on the system, a new boot environment is added to the list. Selecting an older boot environment allows us to restore the operating system to a previous point in time. In short, if a software update breaks the operating system, we can reboot and select the previous boot environment to restore the system to its working state.



Signing into our user account brings up the LXDE desktop running on the Openbox window manager. The desktop's application menu and task switcher panel are placed at the top of the screen. An OS X style launch bar is placed at the bottom of the display. The wallpaper offers a plain, soft blue background.





XStreamOS 153 -- Adjusting the look of LXDE

(full image size: 322kB, resolution: 1024x768 pixels)



Before going any further, I would like to acknowledge that the biggest problem I usually face with members of the Solaris family of operating systems is hardware support. I tried running XStream Desktop in three test environments: a desktop computer, a laptop and a VirtualBox virtual machine. I was unable to get the operating system to boot on either the laptop or desktop computer. This left me to experiment with XStream Desktop in a virtual environment. The project's website provides a special ISO file that is supposed to provide us with VirtualBox guest modules as Sonicle reports the default VirtualBox guest modules will not work with XStream Desktop. I downloaded this small ISO file and mounted it. I installed the guest modules from the mounted disc and rebooted, but found the VirtualBox modules did not produce the desired effect. As a result, I was stuck with a low-resolution desktop in a virtual machine for the duration of my trial. Still, despite the hardware issues I encountered, I felt it was worthwhile exploring the features XStream Desktop offers.



While running the operating system, I found XStream Desktop used a little over 10GB of disk space with the default set of applications. Measuring memory usage on XStream is a little different than doing the same on Linux distributions. XStream presents memory statistics differently, but I found the operating system tended to consume about 750MB to 1,100MB of memory, including application data and cache when sitting idle at the LXDE desktop. This may seem high compared to most Linux distributions, but when I measure memory usage on Linux (and the BSDs) I do not include statistics on cached data, which places XStream at a disadvantage.



The operating system ships with a graphical software manager called Package Manager. This application looks and acts a good deal like Debian's Synaptic package manager. Down the left side of the window we find filters and software categories. Over on the right side of the window we see a list of software available to us. By adjusting the filters we can narrow down the list of packages displayed in the list. We can also search for items by name. Clicking a box next to a package's entry gives us the option of adding or removing the software. Package Manager also has a button which triggers an upgrade process that will install all available software updates.



It has been a while since the last stable version of XStream Desktop was released and this meant I had 384 updated packages waiting to be installed in the project's repositories. These updates totalled 495MB in size. After the initial update, I did not receive any further updates during the week. One aspect of Package Manager I like is that when a package upgrade is performed, the software manager will create a new boot environment. We can name the boot environment, making it easy to roll back to older versions of the operating system if something goes wrong. I am happy to report that in my trial, nothing did go wrong with packages or upgrades.





XStreamOS 153 -- Managing software packages

(full image size: 297kB, resolution: 1024x768 pixels)



XStream also ships with a command line package manager, called "pkg". This program works a lot like dnf on Fedora or the pkg command on FreeBSD. It allows us to search for software, perform installations and removals, upgrade selected items and gather information on software in the project's repositories. I did not use pkg much, preferring to stick with the graphical software manager, but pkg worked well enough for me.



One aspect of XStream I found unusual was that the package manager sometimes provides a full category and path name for packages rather than just a name. For instance, a package might have the name "system/data/terminfo" instead of just "terminfo", or "terminal/screen" rather than just "screen". This did not happen all the time, but the longer names did come up sometimes in searches and I found it a little jarring to switch back and forth between the partial name and the full names. I suspect this is done because some Solaris utilities have the same names as GNU utilities. Having a longer path name allows both versions to coexist in the repositories.



On the topic of software, the XStream application menu contained a fairly common collection of open source software. We are given copies of the Firefox web browser, the Thunderbird e-mail client, the Filezilla file transfer program and the Ekiga software phone. LibreOffice 4.4 ships with the operating system and LibreOffice 5 is available in the repositories. The VLC media player is included along with the GNU Image Manipulation Program. The Wireshark network monitoring tool is installed by default. XStream also treats us to an archive manager, a calculator, an image viewer and a text editor. There are a few configuration tools for changing the look of the LXDE desktop. Both Java and the GNU Compiler Collection are installed. I also found a background services manager, a tool for working with user accounts and an application for changing the system time.





XStreamOS 153 -- Running LibreOffice

(full image size: 120kB, resolution: 1024x768 pixels)



While using XStream, I made a number of observations which I will present here in no particular order. One is that XStream provides the "sudo" command and the first user account we create automatically has sudo access. In a similar manner, the first user account we set up can add, remove and update software without being prompted for credentials. Any additional user accounts we create do not automatically have this privilege.



Another thing regular users could not do, aside from the first user account created, was shut down the computer. Regular users need to sign out of their accounts and shut down the computer using a button on the operating system's login screen.



One aspect of XStream I found very unusual was that I could not use its secure shell utilities to connect to any of the Linux computers on my network. The secure shell utilities would display an error essentially saying the protocols used by the two secure shell programs were not compatible. However, I was able to form connections between XStream and FreeBSD servers. This meant if I wanted to access a console on a Linux computer from XStream, I had to first connect to a FreeBSD server and use that operating system's secure shell utilities to connect to my Linux computer. In a fun twist, XStream's copy of Filezilla was able to connect to my Linux computers via OpenSSH and transfer files, though XStream's version of "sftp" could not.



Early on I had trouble getting Firefox and Thunderbird to open. This turned out to be a permission problem with the directories these two programs were using to store their configuration files. Once the directories were assigned proper permissions both applications worked well. By default, Firefox would try to open a local file containing documentation for the OpenIndiana operating system, a close sibling to XStream. However, the documentation did not exist and so Firefox would simply open an error page. I found Firefox generally worked well for web browsing and was up to date with Mozilla's recent releases. My only gripe with Firefox was when it would play HTML5 video files it would not produce any sound.



The user account manager utility and the services control panel worked well for me. I had no complaints with either of these programs. While using the service manager, I noticed the CUPS printing software was installed. XStream does not ship with a printer manager utility though. I installed a printer manager from the software repositories, but the printer manager did not appear in my application menu. This left me to try to set up printers from the command line.





XStreamOS 153 -- Managing system services

(full image size: 186kB, resolution: 1024x768 pixels)



There are two process managers listed in the application menu. One would launch and the other did not. The task manager which did work did its job, but incorrectly displayed the amount of memory on the system, reporting memory sizes as being in megabytes instead of kilobytes. This makes it seem like the computer has a thousand times more memory than it really has.



XStream uses ZFS as its default file system. I like ZFS and the features it offers. File system snapshots and boot environment are especially nice to have. The ability to easily add more disks to the system is another benefit I enjoy when using ZFS.



Conclusions



I think XStream Desktop does a lot of things well. Admittedly, my trial got off to a rocky start when the operating system would not boot on my hardware and I could not get the desktop to use my display's full screen resolution when running in VirtualBox. However, after that, XStream performed fairly well. The installer works well, the operating system automatically sets up and uses boot environments, insuring we can recover the system if something goes wrong. The package management tools work well and XStream ships with a useful collection of software.



I did run into a few problems playing media, specifically getting audio to work. I am not sure if that is another hardware compatibility issue or a problem with the media software that ships with the operating system. On the other hand, tools such as the web browser, e-mail, productivity suite and configuration tools all worked well.



What I appreciate about XStream the most is that the operating system is a branch of the OpenSolaris family that is being kept up to date. Other derivatives of OpenSolaris tend to lag behind, at least with desktop software, but XStream is still shipping recent versions of Firefox and LibreOffice.



For me personally, XStream is missing a few components, like a printer manager, multimedia support and drivers for my specific hardware. Other aspects of the operating system are quite attractive. I like the way the developers have set up LXDE, I like the default collection of software and I especially like the way file system snapshots and boot environments are enabled out of the box. Most Linux distributions, openSUSE aside, have not caught on to the usefulness of boot environments yet and I hope it is a technology that is picked up by more projects. * * * * * Hardware used in this review



My physical test equipment for this review was a desktop HP Pavilon p6 Series with the following specifications: Processor: Dual-core 2.8GHz AMD A4-3420 APU

Storage: 500GB Hitachi hard drive

Memory: 6GB of RAM

Networking: Realtek RTL8111 wired network card

Display: AMD Radeon HD 6410D video card