openSUSE 12.1 review – new heights of high tech
We were never really excited about openSUSE, but 12.1 is well positioned to change this: it adds some state-of-the-art technology to the highly polished desktop openSUSE is known for…
OpenSUSE 12.1, you say? Did we miss 12.0 then? No, this is the first release in the distribution’s slightly altered release numbering: from now on openSUSE will not have a .0 release but only .1, .2 and .3 releases. Because the distribution is following an eight-month release cycle, from now on the November release will always be the .1 release, the July release the .2 and the March release the .3.
The change in numbering came after a vote about adopting Fedora-style or Ubuntu-style release numbering or staying with the old scheme. Note that openSUSE does not have a major and minor numbering, so openSUSE 12.1 is not a major version bump.
OpenSUSE 12.1 is now available for download, but we installed the KDE live CD of the RC. Of course, you’re not obliged to run KDE: there’s also a GNOME live CD, and the DVD version offers KDE, GNOME, Xfce and LXDE to choose from. This is the first openSUSE release which comes with GNOME 3, although you could already install it in openSUSE 11.4 by adding a repository; GNOME 2 is finished.
If you’re using Xfce, you’ll be delighted to see that LightDM is now the default display manager, reducing the dependency on some core GNOME components, so openSUSE with Xfce is slimmer than ever. The two big desktop environment releases are KDE Software Compilation 4.7 and GNOME 3.2. Under the hood the developers have also integrated the newest components, including Linux kernel 3.1.0-rc7, glibc 2.14, rpm 4.9 and Xorg 7.6.
An exciting feature is integration with the systemd system and service manager, which replaces the SystemV-based init system. It provides aggressive parallellisation capabilities, offers on-demand starting of daemons, maintains mount and automount points, and does much more. You can check the output of the command systemctl to see which services are loaded by systemd.
The directory /lib/systemd/ hosts the configuration files for all systemd services, and configuration specific to your system or users happens in /etc/systemd/. You can enable, disable, start and stop a service with systemctl enable|disable|start|stop <name>.service. Not all services are already translated to a native systemd service, but systemctl is fortunately smart enough to execute the right chkconfig or /etc/init.d/<service> command if you’re trying to manage a non-systemd service.
OpenSUSE 12.1 is also the first release that doesn’t ship the Oracle-provided Java binary, because Oracle dropped its ‘Distributor’s License for Java (DLJ)’ which was required for redistributing Java. So, if you really need Oracle’s Java version, you have to download it directly from the Oracle website. Therefore, openSUSE now comes with the GPLed OpenJDK Java package. For end-users, this shouldn’t be a big problem, but there are still a lot of Java programs that are known to have issues with OpenJDK, especially the ones that are not packaged yet in Linux distributions, so openSUSE users can expect some incompatibility issues in the future.
The positive side of Oracle’s decision is that many of these programs will have to fix their incompatibility bugs with OpenJDK now that distributions are dropping Oracle Java, so the issues you’re facing now will hopefully be solved soon.
openSUSE 12.1 now also has full support for the Btrfs file system. You just have to check an option in the installer to create a Btrfs file system instead of the default ext4 file system. However, because openSUSE still comes with legacy GRUB instead of GRUB2 as the bootloader, it still needs a separate ext4 boot partition, as legacy GRUB can’t boot from Btrfs. If you use Btrfs for your root file system, you can also take advantage of Snapper, a tool for managing Btrfs snapshots. The basic idea of Snapper is that it creates a snapshot before and after running YaST or Zypper, compares the two snapshots and therefore provides the means to revert the differences between these two snapshots.
OpenSUSE 12.1 doesn’t install Snapper by default (because it doesn’t use Btrfs by default), but you can install the command-line client and the YaST module which offers a graphical user interface to work with the snapshots. The means are endless: you can manually create a snapshot of your file system, you can define cron jobs to periodically create snapshots, and running a YaST or Zypper command automatically creates two snapshots. You can also list your snapshots, get a list of modified files between two snapshots, compare the contents of a single file between two snapshots, and revert the changes between two snapshots. Snapper even allows rolling back changes to a single file.
While for many years SUSE Linux came with the SaX2 tool to configure the X Window System, starting with openSUSE 11.2 it became deprecated. OpenSUSE 12.1 now includes a revival of the good old graphical configuration tool in the form of SaX3 (openSUSE Advanced X Configuration Utility v3). It isn’t installed by default, because most systems are autoconfigured anyway by the latest Xorg, but if you have a system that doesn’t work out of the box and you don’t have any knowledge of writing your own xorg.conf, SaX3 can help you. SaX3 comes with an easy-to-use Qt, GTK and ncurses based GUI system to set up the most important features X provides.
The ncurses version can be used on the console when X completely doesn’t work on your system. You can configure your keyboard, mouse, touchpad, graphics card and monitor when Xorg autoconfiguration fails. Unfortunately, SaX3 lacks dual head mode, and at the moment it seems to crash a lot.
All in all, many of the new features in openSUSE 12.1 are in the ‘plumbing’ layer: a brand new kernel, a new Java, a new init system, a new file system and snapshot functionality, and a new graphical configuration tool for X. KDE users will not notice much new functionality on their desktop: the switch from KDE 4.6 (openSUSE 11.4) to 4.7 (openSUSE 12.1) is not that big, as the KDE 4 series has already matured. However, there are some interesting new features in KDE: the window manager KWin has better performance and improved support for older hardware with limited OpenGL support. And network management has also been improved, including Bluetooth tethering, 3G, VPN, MAC spoofing and other advanced options.
For GNOME users, the changes are much more visible. The previous openSUSE release shipped the already ageing GNOME 2.32, while openSUSE 12.1 made the jump to GNOME 3.2. If you had decided to skip GNOME 3, now is the time to reconsider and try the first update to the new GNOME 3 desktop. GNOME 3.2 supports online accounts such as Google to store your mail, calendar, contacts, chat and documents in the cloud. The new GNOME also makes it possible to save a website as a web application, which you can launch like any other Linux application. There is also a new Contacts application to manage your contacts for the Evolution mail program and the Empathy chat application. GNOME now also allows you to calibrate devices (monitors, webcams, scanners, printers) to ensure the shown colours are representative, and it has built-in messaging services.
While previous openSUSE releases were polished but somewhat boring, openSUSE 12.1 is a very exciting release if you want to play with the newest Linux technology. Especially, the Btrfs file system and snapshots to be able to revert accidental changes are interesting features. The new Xorg configuration tool SaX3 also looks interesting, but the developers still have some work to do there.