Jessie is here?
Who’s Jessie? Wasn’t she the cowgirl doll in “Toy Story 2” – you know, the one who got abandoned in a park to that Sarah McLachlan song, resulting in at least one software engineer finding he had something in his eye at that point…?
Yes, it is that Jessie, but not in that context. The Raspbian operating system is based on Debian Linux, and the different versions of Debian are named after characters from the “Toy Story” films. Recent versions of Raspbian have been based on Debian Wheezy (the penguin who’s lost his squeaker in “Toy Story 2”), but Raspbian has now been updated to the new stable version of Debian, which is called Jessie.
So what’s new?
Many of the changes between Wheezy and Jessie are invisible to the end-user. There are modifications to the underlying system to improve performance and flexibility, particularly as regards the control of system processes, and as with any update, there are numerous bug fixes and tweaks. And at the same time as the upgrade to Jessie, we’ve added a bunch of changes and improvements to the desktop user interface.
Look and feel
The first thing anyone starting the new Jessie image from scratch will notice is that the default behaviour is to boot straight to the desktop GUI, not to the Linux command line. This was a decision taken because this is the expected behaviour for all modern computers; the default interface for a personal computer in 2015 is a desktop GUI, not just text on a screen. It is still possible to set the Pi to boot to the command line for people who prefer that – just toggle the relevant setting in the Raspberry Pi Configuration application described below.
When the desktop launches, you might notice some slight tweaks to the appearance of things like menus, check boxes and radio buttons. This is because the appearance of Raspbian is now based on version 3 of GTK+, the user interface toolkit used for the LXDE desktop environment. The older version 2 of GTK+ is slowly being replaced with version 3 in many applications, so this change was inevitable at some point – the new appearance isn’t a huge change, but does look slightly more modern. Many of the applications in Raspbian are still using GTK+ version 2, but the PiX theme for GTK+2 has been changed to bring it into line with that for GTK+3.
You’ll notice on the menu bar that there is now an eject icon at the top right – this is a new plug-in that allows USB drives and the like to be safely ejected without the risk of losing data. It’s slightly risky to just pull out a USB drive, particularly if you have just copied a file to it, as the system manages the write to a drive in the background, and the write takes a finite amount of time. If you pull the drive out before the write has finished, you’ll corrupt the file and lose data – clicking the eject icon and then selecting the drive to remove waits for any pending writes to complete and then prompts that it is safe to remove the drive.
One of our main aims with regard to Raspberry Pi is not just to make it a great cheap computer for education, but also to make it a great cheap computer in its own right. To this end, we want to make it possible to use a Pi to do the sort of things you’d do on a Mac or a PC, so we’re including some more applications that we think people will find useful. In this release, we have added the LibreOffice suite and Claws Mail.
LibreOffice is a full-featured office suite which is compatible with Microsoft Office files – it includes a word processor, spreadsheet, presentation graphics, vector drawing and database programs, all of which should feel familiar to anyone used to using Office. It has had some optimisation for Pi, and runs pretty well, particularly on Pi 2.
Claws Mail is an email client for those of us who are old-fashioned enough to prefer not to do email through a browser – it supports all common email protocols, and offers all the functionality of a standalone mail client like Windows Mail or Thunderbird.
There are also two new applications in the Programming category – these are two new environments for writing Java applications, called BlueJ and Greenfoot (from the University of Kent and Oracle). If you’re interested in learning Java, or already a Java programmer, have a look at them. There are some sample projects for both in the /home/pi/Documents directory.
Settings and configuration
There are a couple of new settings dialogs in this release, found under the Preferences entry in the main menu. The first is Raspberry Pi Configuration – this is a GUI version of the old raspi-config command-line application, which provides all the same functionality in a nicer interface. (The old raspi-config is still on the system and can be accessed from the command line by typing “sudo raspi-config”, but it shouldn’t be necessary to do so any more.)
The new Raspberry Pi Configuration allows you to enable and disable interfaces, tweak performance and configure internationalisation options, such as timezone and keyboard. It also allows some more control over boot options than was available in the past, with the option to automatically log in as the “pi” user available when booting to both CLI and desktop.
There is a new keyboard setting dialog, accessed from the Localisation tab, but hopefully many people won’t need this – the system will detect some common keyboards sold for use with Pi and set up the GUI keyboard driver correctly. If that doesn’t happen, it’s now easy to choose the right country and keyboard type in this dialog.
The other new setting dialog is the Main Menu Editor. This is a Pi version of a menu editor called Alacarte, written in Python – this should make it easier for people to add or remove items to the main menu. (And, by popular demand, the Other menu is back on the system – but it will now only appear if applications are installed that don’t appear in any other categories…)
There are updates to several of the applications that used to come with Raspbian. There are new versions of Scratch, Sonic Pi, and the Epiphany web browser; none of these have changed fundamentally in operation, but they all include bug fixes and performance improvements.
Support has been added for some of the new Pi peripherals that have been released recently, including the Sense HAT as used in Astro Pi – this is now supported under Scratch and Python.
Python users used to have to launch Python with sudo in order to allow access to the GPIO lines – Python can now access GPIOs as a standard user. Also for Python, the Pygame Zero game environment is installed by default – have a look at pygame-zero.readthedocs.org for information on what it can do.
One final small thing – if you want to get a screenshot of your Pi, just press the Print Screen button on your keyboard. A PNG file will be put in your home directory, thanks to the (slightly strangely named) scrot utility.
Where can I get it?
This is a major version upgrade – due to the large number of changes to the underlying operating system, we strongly recommend using Jessie from a clean image, so you’ll need to download a new Jessie image from the downloads page on our site. (Some people have had problems extracting the zip files, as the large size of the image file causes zip to use a different format internally. They can be successfully unzipped with 7-Zip on Windows and The Unarchiver on Mac – both are free applications.)
Starting with a clean image is the recommended way to move to Jessie. If you really need to update a Wheezy image, we have tried an unsupported upgrade path which is documented on the forums here. This has been shown to work on a vanilla Wheezy image, but we can’t predict what effect it may have on any packages or data that you have installed, so this is very much at your own risk. Feel free to add your experiences and improvements to the upgrade process to the forum so others can benefit.
As ever, your feedback on the release is very much welcome – do add a comment below, and I’ll try to respond to as many as I can.