Many features will be backported, so is it worth updating ahead of the seismic Unity 8?
Snow melts and trees blossom, but nothing really says spring around the Ars Orbital HQ like the arrival of a new version of Ubuntu Linux. Right on schedule, Canonical has recently released Ubuntu 15.04, also known as Vivid Vervet.
Ubuntu 15.04 arrived in late April and has, judging by other reviews, largely underwhelmed. According to the popular storyline, there’s not much new in 15.04. Of course, a slew of changes and unforeseen features in 15.04 could have just as easily earned a negative reaction, probably from the same people calling the actual release boring. The top of the Linux mountain is a lonely, criticism-strewn place.
The truth is, this line of thought is partially correct. There isn’t much new in 15.04, at least not in terms of visible changes to the Unity desktop.
But for most users this is a good thing—change doesn’t mean better. Frankly, Ubuntu 15.04’s Unity desktop is mature, stable, and not really in need of many improvements. There are still some design inconsistencies (mostly GTK3 issues) and small problems here and there, but for the most part 15.04 delivers a great desktop experience.
Those clamoring for big changes will have to wait. But more than likely, when those seismic shifts coming in Unity 8 arrive around this time next year, these same people will be reminiscing fondly about 15.04. Everyone will forget they once found this release “boring.”
The biggest reason you might find 15.04 dull is that there aren’t many visual changes in the flagship Unity desktop. Unity has been bumped to version 7.3, which includes a number of bug fixes but only two notable new features: Locally Integrated Menus and the ability to always show those menus rather than hiding them and revealing them through mouse hovers.
The Locally Integrated Menus feature simply means that menus are back in the application window rather than up in the main menu bar. Their position within the application windows has changed, though. Menu items no longer get their own bar, and they are instead rolled into the window title bar.
The ability to move menus into app windows has actually been around since last autumn’s 14.10 release, but this 15.04 adds the ability to turn off the hidden-until-needed “feature.” To switch the position of menus from the top bar to the application window, head to System Settings >> Appearance >> Behavior where you’ll see both options.
Making the menus always visible is a little more complex. First you’ll need to install dconf Editor and then head to com >> canonical >> unity where you’ll see a checkbox to “always-show-menus.” Check that and your disappearing menus are gone. This option is really nice if you put your menus in the application window, since the application menu bar is a pretty small target to get your mouse over for visibility. With the menus always on, you have a visual target to aim for, making for much better usability.
In testing, these two small tweaks to the interface are the only visible changes that I’ve noticed. And as someone who prefers boring, incremental updates that improve rather than completely rearrange my experience, I like Unity 7.3 so far. However, it’s not perfect by any means. There are still some outstanding design issues and inconsistencies that surface early on.
If you want proof that all the development effort is currently in Unity 8 rather than Unity 7, look no further than scroll bars and right-click menus. Scroll bar position and appearance varies depending on which app you’re in, but the most obvious problems are in Firefox. The browser still hasn’t been themed to use the Unity-style thin scroll bars with handles, and the default theme will sometimes give a dark right-click menu, sometimes light. Plenty of third-party themes handle Firefox fine, but the default still doesn’t.
Most users may not even notice these little issues, but the fact that they remain does lend some credence to the charge that Canonical has all but abandoned Unity 7.
What’s new in the server
There’s a distinct area where Ubuntu 15.04 certainly isn’t boring—server deployments. In fact, 15.04 has a big change in store for sysadmins. Like the recently released Debian 8, this Ubuntu iteration moves to systemd instead of Upstart for the init system.
Changing the init system is somewhat akin to replacing your heart. It’s a major change. The init system is the first process started when you boot and the last to shut down. In the time between startup and shutdown, the init system is essentially in charge of everything. It’s traditionally assigned the process ID 1.
Canonical has been using its own homegrown init system known as Upstart for some time now. Upstart was in the running to become the default init system for Debian as well. But after much debate, the Debian team elected to go with systemd instead.
Ubuntu founder Mark Shuttleworth was at one point quite critical of systemd. But in the end after Debian made its decision, Ubuntu and other Debian-derivatives had little choice but to adopt systemd. Ubuntu 15.04 is the first release to actually use it by default.
For desktop users that will mean almost nothing, but those running Ubuntu on the server will be in for a potentially big change. I covered systemd in some detail in my Debian 8 review, and the same things apply here. For instance, my experience with it on the server was mixed:
Enough has gone wrong that I suggest you don’t jump in immediately with both feet.
Before you even think of upgrading a server to Debian 8, be sure to read through the systemd incompatibilities list. In particular, note that if you use tools like /sbin/chkconfig you’ll quite possibly be getting incorrect or at the very least incomplete information when systemd is in charge. Also note that systemd services are “executed in completely clean contexts,” which means not even $HOME is set. If you have init scripts depending on such variables, they will break.
There’s also systemd’s journal tool, and it takes some getting used to if you’re more familiar with syslog. That said, you can run syslog alongside journal if you prefer not to switch up your workflow too much.
In fact, you can still run Jessie without systemd. All you need to do is use preseed to replace systemd with sysvinit at the end of the install (check out the Debian wiki for details). This method works well enough on the server, but don’t try it with a desktop environment installed.
Ultimately after finding some new systemd service scripts for the handful of things I need—Nginx, Gunicorn, and some other Web app tools—and figuring out how to set up the journal to actually log useful information, I’ve managed to upgrade to Jessie. On one hand, no one likes changes, and I could have done without learning a new syntax for init scripts (though systemd files are at least much easier to read and write). But once you’re over the migration hurdles and headaches, I’ve found systemd is, well, just fine.
Now, migrating from Upstart is a little different from migrating from SysV, which was Debian’s old init system. Canonical has a short wiki page that’s designed to help the transition from Upstart to systemd. Aside from binary log files, the biggest change from Upstart is simply syntax. Your init scripts and service files will need to be migrated to systemd’s syntax.
It’s worth noting that while systemd is the default in Ubuntu 15.04, all of the Upstart packages are still there, and you can in fact keep using it if you wish. If you want to switch back and forth, you can use Grub and select “Advanced options for Ubuntu,” where you will find an “Ubuntu, with Linux … (upstart)” entry. If you want to permanently switch, install the upstart-sysv package.
Other new features on the server-side include the latest version of OpenStack and support for Canonical’s LXD (Linux Container Daemon) hypervisor. The not-quite-a-competitor-but-sort-of competitor to Docker is a bit more bare bones than Docker at this stage, but for many use cases that’s actually a plus. Suffice to say that if you’re using Docker containers with Ubuntu anyway, you might want to check out LXD.
Ubuntu 15.04 ships with kernel version 3.19. The timing of feature freezes in the kernel and Ubuntu 15.04 meant that this release just missed the move to version 4.x, which features rebootless kernel upgrades among other updates. The 4.x kernel line should be part of Ubuntu 15.10 later this year.
For now you’ll have to get by with quite a bit more hardware support, including preliminary support for Intel’s “Skylake” chips, the successor to Broadwell that should start arriving by the end of 2015. There are also some notable improvements for Radeon and Nvidia drivers, Btrfs support for live device replacement with RAID 5 and 6, and other hardware-related improvements.
Unity is not the only desktop available for Ubuntu. It might be the most popular and the one Canonical would have you use, but Ubuntu comes in quite a few flavors. With this release, there’s a brand new one called Ubuntu MATE. Ubuntu MATE has been around in unofficial form for a couple of release cycles, but this is its first time as an official, Canonical-blessed “flavor.”
Ubuntu MATE is notable because the MATE desktop comes awfully close to the user experience of Ubuntu around the time of 9.10, a release that many longtime Ubuntu users will recall with some fondness. If you’d like to return to the pre-Unity days—aka the good old days of GNOME 2.x—Ubuntu MATE 15.04 might be your best bet.
The newest kid on the Ubuntu block features MATE Desktop 1.8.2, which is notable for its Compiz graphics support. With Ubuntu MATE, you can have your classic, GNOME-style desktop complete with wobbly windows and all the rest of your Compiz enhancements.