So, you've installed
Openbox, unlike the larger desktop environments, depends on very few libraries. For that reason, it can provide a lightweight graphic environment that runs very quickly, even on older hardware. Whether your hardware is old or new, Openbox also provides a highly customisable and unobtrusive working environment. That means that if you don't want or need a panel, taskbar, clock, or any other program, that choice is yours!
After you have emerged xorg-x11 and configured all of your xorg.conf settings, installing Openbox can be done in one simple command:
# emerge openbox(Use emerge -av openbox to preview which packages will be installed)
Just like with other window managers and desktop environments, you will need to tell the X Server to load Openbox automatically, by adding it to your
# echo "exec openbox-session" >> ~/.xinitrcThis will automatically start your Openbox session when you type startx at the terminal.
Now that you have emerged Openbox and added it to your
Since you're looking at nothing more than a black screen, you may be wondering where the menu is. If you click your right mouse button, you will notice that a menu pops up in the
location of your cursor. This menu is nothing more than an example to illustrate the style of an Openbox menu. Since it
Since the default Openbox menu is essentially useless to you for the reasons mentioned above, it's time that we create one that will work. Everything in the Openbox menu is written
in the appropriately named
An easy way to get a basic menu file which you can modify is to use MenuMaker, which will generate a
# emerge menumakerOnce it is installed, you need to tell it that you want a menu specifically using the Openbox XML syntax:
# mmaker -v OpenBox3The generated menu will be located at
# mv /root/.config/openbox/menu.xml /home/$USER/.config/openbox/menu.xmlCreating or overwriting your user-specific menu OR # mv /root/.config/openbox/menu.xml /etc/xdg/openbox/menu.xmlOverwriting your system-wide menu
When you open up the
<?xml version="1.0" encoding="UTF-8"?> <openbox_menu> <separator label="NAME_OF_SEPARATOR"> <menu id="IDENTIFIER" label="NAME_OF_MENU"> <item label="NAME_OF_PROGRAM"> <action name="execute"><execute>/LOCATION/OF/BINARY</execute></action> </item> </menu> </openbox_menu>Simply replace anything in BLUE CAPS with your information.
Aside from being minimalistic and lightweight, Openbox is also surprisingly customisable and flexible. As a user, you can easily change various settings related to theme, appearance,
window placement, docking, and more. There are two options for configuring these settings within Openbox. You may either manually edit the
If you want to manually edit the
If manually editing the
# emerge obconfYou can then open the configurator by typing obconf in your terminal. Next, you can go and add an entry for ObConf into your
As mentioned above, you don't see a whole lot when you issue the startx command for the first time after installing Openbox. In addition to customising your menus and changing
the behaviour of the window manager, you will probably want to have some programs automatically start with your Openbox session. There is an easily-editable
In the default
# Run XDG autostart things. By default don't run anything desktop-specific # DESKTOP_ENV="" # if which /usr/lib/openbox/xdg-autostart >/dev/null; then # /usr/lib/openbox/xdg-autostart $DESKTOP_ENV # fiIn the above example, the comment symbol (#) was added before each line. The commenting method is preferred to just deleting the lines because you may want to add support for some of those startup items at a later time. Thus, leaving the default lines in place could ease that process.
Adding your own programs to the
conky &The ampersand (&) after the command allows that application to load up in the background. You will most likely want to load all the applications in your
Some things that you might take for granted in bigger desktop environments are not included by default in Openbox. One such thing is setting your desktop background. In order to
place an image as your wallpaper, you will need to emerge a program like feh or nitrogen. Feh is a simple image viewer that can also set the background,
$ feh --bg-scale /path/to/image.jpgOnce you have set the background manually, a file calledfeh has many other options instead of --bg-scale (which will scale the image to the screen dimensions). Consult the feh documentation.
source $HOME/.fehbg &
The following is a list of some programs which you might want to use within your Openbox environment. While the list contains numerous terminal emulators, file managers, panels,
and more, it should by no means be considered exhaustive. If none of the programs listed fit your needs, please check the appropriate categories in Portage for more options.
EvilVTE (
EvilVTE is an extremely lightweight terminal emulator based on (you guessed it) VTE. It supports tabs, multiple encodings, as well as an easy and extensible configuration file.
Mrxvt (
Mrxvt is a multi-tabbed rxvt clone with XFT, transparent background and CJK support. It also features session support for each tab.
Aterm (
Aterm supports transparency and backwards compatibility with rxvt. It was originally designed for the AfterStep window manager, but easily integrates with other environments.
Eterm (
Eterm is a terminal based on vt102 and designed to be a more feature-rich replacement for xterm.
rxvt-unicode (
Rxvt-unicode is a clone of rxvt that supports Unicode, daemons, embedded perl, and multiple fonts simultaneously.
Terminal (
Terminal is the VTE-based default for the Xfce desktop environment. It is a little on the bloated side for use with Openbox, as it pulls in many libraries for Xfce.
PCManFM (
Though PCManFM is mainly a file manager, it also gives you the option to manage the desktop background (instead of using feh or nitrogen) and draw desktop icons. It should be noted
that with the current release (0.5), it is not readily possible to get rid of the default "My Documents" icon on the desktop.
iDesk (
iDesk is a simple program used to draw desktop icons. It supports shadowed and anti-aliased fonts, PNG images, "snap-to-grid" placement, and changing the desktop background.
Tint2 (
Tint2 is a simple panel and taskbar specifically made for Openbox3 (based on the ttm code). It supports colour/transparency, a clock, and drag and drop between virtual desktops.
Currently, it is not available in the official Portage tree, but is available in overlays.
PyPanel (
PyPanel is an easily customised panel written in Python and C. It features transparency, shading, tinting, location and layout configuration, font type, autohiding, application
launcher, clock, and more.
LXPanel (
LXPanel is the default panel and taskbar from LXDE. It features a launcher, menu, clock, and a GUI-based configurator. It is feature-rich while depending on very few packages, making
it a good choice for a lean system.
Xfce4-panel (
Xfce4-panel is the default panel from the Xfce desktop environment. It supports application launchers, detachable menus, a pager, tasklist, clock, and more. It does, however,
require a few of the Xfce libraries which are not dependencies of some other panels.
PCManFM (
PCManFM is the lightweight filemanager from LXDE. It supports tabbed browsing, drag and drop, thumnails for images, bookmarks, volume management, searching,
and more. It also provides supports for managing the desktop background and drawing desktop icons (both optionally).
Thunar (
Thunar is the standard file manager from Xfce. It features a bulk renamer, user-customisable actions, and an extension framework. Since it depends on many Xfce libraries, it isn't
as lightweight as PCManFM, but it's still slimmed down by comparison to other file managers like Nautilus (from GNOME), and Konqueror (from KDE).
Nautilus (
Nautilus is the powerful file manager from the GNOME desktop environment. It features volume management, thumbnails for images, searching, and some system configuration. As it
depends on many of the GNOME libraries for proper function, it can seem a heavy compared to some of the other file managers.
Gentoo (
Gentoo (no relation to this glorious Linux distribution) is a two-pane style file manager based on GTK+ 1.x. It is incredibly lightweight, but lacks a majority of the features now
prominent in modern file managers. It should definitely be considered for older hardware, or if you are wanting a barebones setup.
emelFM2 (
emelFM2 is another file manager in the vein of Midnight Commander. It features a three-pane window, and is requires GTK+ 2.6.x or higher. As with the Gentoo file manager (listed
above), it is barebones and does not include many features prevalent in newer file managers.
Conky (
Conky is a lightweight system monitor that can natively display over 250 objects, including date and time, CPU usage, memory usage, IMAP/POP3 email, top processes, and even info from
your music player. It is highly customisable both in appearance and data display.
feh (
feh is a simple image viewer that runs from the terminal, but it also has many other features. It can display a slideshow of images, create an index print, dynamically zoom, and
set the desktop background (detailed instructions above).
If installing each component of a working environment sounds like a little
If you already have a GNOME environment installed, you may just want to replace the Metacity window manager with Openbox. Fortunately, this is quite a simple task! You will need to
fire up your favourite editor, open your
exec openbox-gnome-session
If you use GDM or another graphic login manager, you will see a new "GNOME/Openbox" option in your session menu. You can simply select that option instead of manually editing your
Say you have KDE installed and like it, but you want more flexibility with your window management than KWin offers. You can use Openbox as your window manager inside of KDE by simply
editing your
exec openbox-kde-sessionNow when you issue startx you will see KDE, but instead of KWin, you will have the customisability of the Openbox window manager.
If you use KDM or another graphic login manager, you will see a new "KDE/Openbox" option in your session menu. You can simply select that option instead of manually editing your
If you use Xfce4 and would like to replace xfwm4 with Openbox, you will need to go about it a little differently than with KDE or GNOME. Firstly, you need to start your normal Xfce session, and open up a terminal. From the terminal, issue the following command:
$ killall xfwm4 ; openbox & exit
Secondly, you need to exit out of your Xfce session, and make sure to tick the checkbox that says "Save session for future login." This will keep Openbox as your default window
manager. Thirdly, you will notice that you can't logout properly when using the default menu action. To fix this problem, open up your
<item label="Exit"> <action name="Exit"/> </item>
<item label="Exit"> <action name="Execute"> <command>xfce4-session-logout</command> </action> </item>
While this document will easily take you through the inital installation and customisation of Openbox, it is by no means the only reference on the topic. There are several other
resources that will aid you in creating your perfect Openbox setup. Some of them are listed below:
On the Official Openbox website you will find more detailed information regarding theming, creating menus (including pipe menus), autostart scripting, and much more. This site also
has information regarding new releases, upgrades, and instructions on how you can contribute to development.
This blog contains a plethora of information about switching GTK+ themes, setting up keybindings, desktop effects, and other programs to use in conjunction with Openbox. Though the
tutorial was originally written for use with Ubuntu, everything should be applicable to Gentoo (and other Linux distributions for that matter).
Box-Look provides numerous themes, icons, wallpapers, fonts, and tools to be used with Openbox (as well as the other *box window managers [like Fluxbox, Blackbox, PekWM, et cetera]).