The Always-Growing Openbox Guide


2013-05-02

Table of Contents

How I became an Openbox user

If you'd rather get to the good stuff about setting up openbox, go here. There has been a lot of backlash against Ubuntu's choice to migrate from GNOME to their homegrown Unity desktop environment. A lot of users say it is bloated compared to GNOME. But long before the switch, I was doing sudo apt-get install openbox as soon as I logged into my new Ubuntu installs.

I discovered openbox by using a GNU/Linux distro called #! Crunchbang, which is now defunct I think :(. It came with openbox as its window manager by default when I first started using it in 2009. I think they offer XFCE out of the box now, as well. Crunchbang had a really great openbox set up with tint2 as a panel and conky giving some stats about your machine and environment:

I used Crunchbang for a while but ended up going back to Ubuntu for some reason or another (I used to be really bad about distro hopping). When I came back, I thought "Hey, why not use openbox on ubuntu?". So I installed openbox, logged out, then logged back in with it selected as my desktop environment/window manager. This is where a lot of users can be turned off by openbox. By default, it's just a grey background. That's it.

All you have to do, if you don't have openbox's autostart and rc.xml set up, is right click and you get a menu. From there you can open a terminal and open any program you want. A useful program for openbox is obmenu. It allows you to modify the openbox menu and add your favorite programs. I also like to modify ~/.config/openbox/rc.xml and assign my often-used programs to keyboard shortcuts.

Tint2 or lxpanel are both good panel programs to use with openbox. And conky is pretty cool, just as it's used in #! Crunchbang. So if you're looking to explore desktop environments that are quicker and use less resources than Ubuntu's default Unity, try out openbox. You just might never look back, like me.

Update 20150902: It's been over 2 years with openbox and no matter what other environments and window managers I try out, I keep coming back. It really is great. Here are a few programs that go well with openbox. I'll be updating each item with more details soon:

  • dmenu - "a fast and lightweight dynamic menu for X"
  • tint2 - a "simple, unobtrusive and light" panel/taskbar
  • conky - "a light-weight system monitor"
  • scrot - "a minimalistic command line screen capturing application"
  • clipmenu - "a simple clipboard manager using dmenu and xsel"
  • xscreensaver - "the standard screen saver collection shipped on most Linux and Unix systems running the X11 Window System"
  • compton - "a lightweight, standalone composite manager"
  • mutt - "powerful and easy to use command line based Email client"
  • vim - "an advanced text editor that seeks to provide the power of the de-facto Unix editor 'Vi', with a more complete feature set."

Setting Up Openbox

You can usually just install openbox from your distros repository:

Debian/Ubuntu: sudo apt-get install openbox

Centos/Redhat/Fedora: sudo yum install openbox

Arch: pacman -S openbox

You get the idea... But when it comes to Ubuntu, which I have a love/hate relationship with, the default desktop installation media comes with a full-blown Unity desktop. I don't want that. So I will be starting with the Ubuntu Minimal CD. I tried this a few years back before I understood settings daemons, power management, etc and I wasn't happy with the result. The minimal ISO installs a very base OS unless you choose a desktop. So you have to set up a few things you would normally expect from your OS. I will be trying this again soon and here are the steps I want to take:

  • Write the image to a USB drive: sudo dd if=mini.iso of=/dev/sdX bs=4M
  • Install minimal Ubuntu on machine
  • reboot
  • install openbox and xorg: sudo apt-get install openbox xorg
  • edit ~/.xinitrc to start openbox when X starts:
    • nano ~/.xinitrc
    • add this to ~/.xinitrc:
      #! /bin/bash
      exec openbox-session
  • use the startx command to get into openbox (here you might think about a login manager like lightdm)
  • install some other programs: sudo apt-get install dmenu tint2 networ-manager --no-install-recommends

Beware the above steps are untested (so far). I'll update the guide when I actually do this.

Handy Openbox Tweaks

Place new windows in the center of the screen

Add this to your rc.xml file (usually in ~/.config/openbox/rc.xml):

<application class="*">
    <position force="no">
        <x>center</x>
        <y>center</y>
    </position>
</application>

Note, I also had to add this to prevent tint2 from opening in the center of the screen:

<application name="tint2">
    <position force="yes">
        <x>0</x>
        <y>0</y>
    </position>
</application>

And that is for a tint2 at the top of the display. I think you could place it at the bottom using your resolution info.