In my last post I went over the hardware I used for my new Steam Box/HTPC all-in-one living room PC.  In this post I’m going to go over how I’ve got the OS set up and touch on the software I’m running to provide me with gaming and media playing functions.  I’ll then go over the details of each function in separate posts.

To start with, I did a vanilla Ubuntu 12.04 LTS desktop install.  I’d considered going for SteamOS, but to be honest, Big Picture Mode isn’t quite there yet, and I know where I am when it comes to getting extra packages and cool hacks for Ubuntu.  One part of SteamOS I was really impressed with is how they’ve set up Steam and the desktop session on separate profiles letting you can switch easily between the two functions, so I chose to emulate that on my set up.

The 3 main functions I wanted were media playback, a basic desktop (mainly for administrative tasks) and a desktop session to run Steam.

For administrative functions, I created a user called “mark” during installation (as I usually do).  Mark is a sudoer, with a standard 12.04 Unity desktop.

For media playback, I installed XBMC.  I created an unprivileged user called “xbmc”, set to auto-login to the XBMC standalone session with no password, making XBMC the initial interface on boot.

For gaming, I created a second unprivileged user called “steam”, set to log in to a Unity desktop session with no password.  Steam is set to auto run on log in, and display the Library tab in Grid view (showing the artwork for each game like Big Picture Mode does).

There’s also a third unprivileged user called “lovefilm” which logs in to an openbox session with no password, but I’ll talk about that more in its own post.

To switch to each user, I’ve created a scripts called “switch-to-xbmc” etc. which use the dm-tool utility.  These can be called from the appropriate interface (a menu item in XBMC, a non-Steam application launcher in Steam) to quickly switch to between users.

In the next post I’ll talk about how I’ve set up XBMC for media playback in a bit more detail.