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.