Installing Openbox on Foresight Linux

My friend Og Maciel originally introduced me to Openbox a while back and I’ve been using it ever since. I love the lightweight feel, the ability to customize and the center around having NO icons on my desktop.  I don’t feel cluttered when I work! Today, we’re going to go over installing Openbox with some added tools.  This tutorial is tailored for Foresight Linux but the guide may very well serve other distros as well.

What is Openbox?

From the Openbox homepage, “Openbox is a minimalistic, highly configurable, next generation window manager with extensive standards support.”  From using it, I often think of it as fluxbox-like with the benefits of being able to dip into Gnome or KDE for the items that I want to use.  Your desktop will then run with speed and simplicity using only the elements you want to use with it.

So…Let’s get Started…

This How-To will assume that you’re running Foresight Linux, you’re logged into Gnome and that you’re familiar with conary, the package manager for Foresight.  First and foremost, install openbox:

[devnet@lostlap Desktop]$ sudo conary update openbox obmenu obconf

This installs the needed components to run Openbox on your system. Openbox is minimal by default though so if you login to the environment now for the first time, there will be no taskbars, nothing…just a large blank area for you to work with. We will need to install some extra components to give a bit more functionality. If you’d like a panel menu, I recommend using tint2. I used to use pypanel which is a small panel written in python but this panel is no longer developed.

There are other panels that are packaged with openbox in mind for Foresight; fbpanel is available, which is a very fast and functional menu bar. I like lxpanel also, which is fbpanel with some easier configuration options. For a full list, please see openbox documentation. For our purposes here, we will install tint2:

[devnet@lostlap Desktop]$ sudo conary update tint2

Now we need to copy the default configuration file for tint2 so we can build our panel to our liking.  You’ll have to create the default path for the tint2rc configuration file.  To do this and copy the config file:

[devnet@lostlap Desktop]$ mkdir -p ~/.config/tint2/
[devnet@lostlap Desktop]$ cp /etc/xdg/tint2/tint2rc ~/.config/tint2/

Now tint2 has a configuration file in place and is ready for Openbox to start.

Let the Configuration Begin!

The hard part (install) is now out of the way thanks to the conary package manager. Now we need to configure Openbox so that it’s ready for us when we log out of Gnome. The configuration files will need to be copied to /home/user/.config/openbox.  Of course, this path doesn’t exist yet so we’ll need to create it like this:

[devnet@lostlap Desktop]$ mkdir -p ~/.config/openbox/

Visiting there now will show that there aren’t any files in this directory.  The file we’ll absolutely need to place there is autostart.sh. Other files that will be in here are rc.xml which is for obconf (openbox configuration) and menu.xml (openbox menu system).  We’ll copy menu.xml from a default copy there later.  The other file should auto-create when loading for the first time (rc.xml)

The autostart.sh file is what starts all of our services and our tint2 panel we just installed as well as setup our wallpaper and other items.  Instead of going through the options you can place in here, I’m going to share my autostart.sh to get you up and running quickly.  Please note that if you chose not to install fbpanel and use the gnome-panel or other panel instead, you’ll need to comment the pypanel line below and uncomment what you’ll be using:

[devnet@lostlap Desktop]$  cat autostart.sh
# This shell script is run before Openbox launches.
# Environment variables set here are passed to the Openbox session.
##############################################################
# Panel Section
##############################################################
# pypanel, my favorite panel for openbox
#(sleep 3 && pypanel) &
# Use the wbar Launcher if you would like.  Don't forget to install it before uncommenting
# wbar &
(sleep 3 && tint2) &

#############################################################
# Gnome Integration Section
#############################################################
# This section let's Gnome give us some of its desktopiness
gnome-power-manager &
nm-applet --sm-disable &
/usr/libexec/gnome-settings-daemon &
gnome-volume-manager --sm-disable &
gnome-keyring-daemon &

###########################################################
# Other Add-on's for Openbox
###########################################################
# Make your wallpaper restore to last setting using Nitrogen.
nitrogen --restore &
parcellite &
volumeicon &
################################# End ###################

Download my autostart.sh

To create the menu system file for openbox, we’ll copy from the default installation to our .config/openbox directory (so we can use obmenu…otherwise, that command will give us an error) so use the following command in a terminal:

[devnet@lostlap Desktop]$ cp /etc/xdg/openbox/menu.xml ~/.config/openbox/

Now you’re ready to login and reap what you have sown 🙂 Logout of Gnome and change sessions in GDM to Openbox.  Notice that your tint2 panel starts up and has the gnome applications we recorded in the autostart.sh file above running and docked! You can add more options to your autostart.sh file and you can also edit tint2rc (in your /home/user/.config/tint2 directory) to store settings for your panel.

I’ve Installed and am Running, Now What?

Now you get to customize the Openbox menu with your favorite applications. Menus are activated by right clicking anywhere on the desktop. There are a few default applications…I choose obconf right away so that I can choose a theme I like and increase the text size since I’m using a high resolution. After that is done, I right click for the menu again and go to applications >> xterm. When the terminal pops up, I type obmenu. From there, I’ll be able to edit my right click menu.

Now instead of entering obmenu in a terminal each time, let’s add it to our right click options. In the obmenu window that you opened in the last paragraph, expand the Openbox 3 option. Find obconf and highlight it. Click ‘new item’ and add obmenu for a label, execute for action, and obmenu for Execute. This will add obmenu to your right click options so you don’t have to open a terminal each time to do things. You can also customize any of the items you find in applications…I put a few things I normally need such as thunderbird, firefox, gnome-terminal, etc. Feel free to add whatever you need…you can have many submenu’s . It’s setup is pretty straightforward.

Nitrogen, the wallpaper manager, requires a small tweak as well to get working. What I did was create a /home/username/Photos/Wallpaper directory and then loaded it up with my favorite desktop wallpaper. Good places to go for cool wallpapers are desktopography.com and vladstudio.com.  Next, install Nitrogen:

[devnet@lostlap Desktop]$ sudo conary update Nitrogen

After your first login, you’ll need to add a menu entry using obmenu to call the nitrogen browser. So create the menu entry and the action you call is:

nitrogen /home/username/Photos/wallpaper

Of course, replace ‘username’ with your users name.  This will allow you to open up all the wallpaper photos inside of that directory.

So What Have we Done?

Today, we’ve installed Openbox on Foresight Linux. We’ve given it a tint2 panel so we have a place to dock applications and we’ve customized the Openbox right click menu and added a wallpaper program called Nitrogen. Hopefully, this shows you the customizable features of Openbox and also shows you the speed that Openbox operates at. It’s a very minimalistic environment, yet one that can be very powerful.

Installation Notes of Interest

tint2

Tint2 is my newly crowned favorite panel for openbox.  It’s lightweight and is able to be configured in so many ways.  I added the sleep command inside my autostart.sh to make sure that the desktop is loaded before the tint2 panel tries to load…mostly, this is due to network manager wanting to animate while the panel loads.  This isn’t as much problem with tint2 as it is with pypanel (see below).

pypanel

Some things I’ve noticed when running openbox…network manager has problems with pypanel. I added the sleep command inside my autostart.sh and this is much better now…but there may be similar problems with network manager. It’s really NM searching for a network and it causes the panel to flicker a bit. Not a real show stopper.

Gnome-panel

Gnome-panel running inside openbox causes a few errors to pop up when I login. This could be due to the fact that I’ve started things in my autostart.sh out of order…I’m also not all together sure what is causing these errors. The problem seems to be with the docking area of gnome-panel as when I minimize programs they are not docked. Easily fixable, but annoying nonetheless.

Alternative Panels

There are quite a few alternative panels out there.  Fbpanel is one.  Perlpanel is another.  Fbpanel and lxpanel are available in the Foresight repositories. You can also add other launchers like wbar if you so desire.

Screenshot

Openbox on Foresight
Openbox on Foresight

Foresight, rPath, LiveCD, and Unity Linux

Most, if not all, top distributions of Linux ship a live CD that allows an end user to preview the operating system without installing it.

Foresight Linux is the exception.

Now, this isn’t because they don’t WANT to have a Live CD…they do.  The problem is that rPath, the creators of rBuilder Online, have discontinued the Live CD image creation type.

There was no announcement…no news posting…no clue dart thrown toward Foresight for this discontinuation.  There was only a comment on a single bug in the rPath issue tracker just this past May…Formally discontinued…which in my opinion, is a HUGE mistake as far as community goes.  Why? Because a community is a solid base on which to stand for any distribution or toolset for open source.  rPath has essentially dismissed a feature that the community would find valuable and in the process alienated anyone who finds this feature valuable or desirable.  But I’m not here to talk about whether or not people want to develop their own distributions on rBuilder Online using rPath tools nor the incentive to do so…I’m talking about Foresight. 

So, what incentive does rPath have to help Foresight by fixing it?  Not much…I’m sure there will be those that argue: “rPath has customers and their first allegiance needs to be to them” and those people would be right.  But can’t the Foresight community pick up the torch for Live CD building  on rBO and develop it as a community effort?  Can’t a license be found that it can be released under that would prevent forking?  Can’t it be modularized as a ‘plug-in’? I don’t pretend to know the answer to those questions…I just think that Foresight will continue to suffer as they have been for many, many months now with respect to not having a Live CD.

I’m sure that there will also be those out there saying “but Foresight has a bunch of Virtualized Images to choose from!! No one really cares about a Live CD!!” and I’d say you’re halfway correct.  Developers don’t really care about a Live CD…but those that Foresight attempted to attract…the end user…they DO care about having something they can ‘try before they buy’.  It is my belief that Foresight would be a crap-ton more popular if they had a Live CD.

So What Solutions Are There?

I don’t think rPath will suddenly fix the broken Live CD creation in rBO.  I don’t think they’ll release the code anytime soon (though this is more likely than a fix).  So in the meantime, what if Foresight helped out with LiveCD project that recently was taken over by Unity Linux?  Both Unity and Foresight are Red Hat like distributions and use similar file structures and OS organization.  I think that if Foresight were able to integrate LiveCD onto the distribution, a huge niche would be filled.

Where to Start?

Being involved both with Foresight Linux and Unity Linux gives me a unique perspective on what areas of collaboration could be developed.  One thing is for sure…having both distro development teams onboard would be a huge boon to LiveCD development…and Foresight could suck in SRPMs quite easily from Unity to hit the ground running right away.

I am by no means offering to be the head of this project because I can’t even begin to know where it would start or finish.  I’m just offering a workaround to a problem I’ve seen Foresight have for longer than it should have.  I know the Unity Linux guys would welcome anyone wanting to get involved with helping LiveCD development.  Would Foresight be open to this?  I can’t answer.  I hope so…Foresight needs a Live CD if it hopes to attract more people to it…and that’s something I’m keen on seeing.  Is this something you’d like to see as well?

[poll id=”2″]

Clarification on Foresight and Fedora

I previously wrote about a possible “rebasing” of Foresight Linux on the Fedora platform. This conjecture was a bit premature it seems as I am completely wrong on this being a possibility 🙂 The best part about me being absolutely wrong on this is that there is still going to be benefits for Foresight and Fedora even without the rebase.

Foresight is toying with the idea of having a sub-project (completely separate from Foresight Linux base) that it has tentatively called ‘boots, a Fedora remix‘ (a play on Dora in Fedora for those of you with kids).

What would happen is that mirrorball, a tool from rPath that ‘sucks in’ repositories, would pull in a Fedora repository into a separate Foresight repository.  From there, it is fully consumable by any product/project that is hosted on rBuilder Online from rPathConary really is one of the most innovative package managers on the planet and I’ve mentioned it once or twice before (never got around to part II on one of those though).  The ability to fully suck in a RPM repository is already being done with CentOS and Scientific Linux on rBuilder Online…even Ubuntu is currently being done as well…so we have proof that it is totally possible.  Once imported, Conary takes over the management of said packages.

So what does this give Foresight?  A few things:

  1. Testing of packages in 2 communities
  2. Developer eyes/chatter in 2 communities
  3. The ability of Foresight to cherry pick packages from a large base
  4. Compare and contrast for packages from 2 different sources to track down bugs

So, as I said, I was wrong initially and I hope this clears up what Foresight plans to do.  A sub-project will be started that imports the Fedora repository changing them from (rpm to Conary) allowing Foresight to both test and cherry pick packages from a larger base hopefully freeing up a bit more time for Foresight architects.  Phew!  What a mouthful, run-on-sentence that was!

Why Conary?  How does this help Fedora?

I know some of you may be asking Why Conary?  What does it have over RPM that Foresight should suck in a repositoroy and change it to Conary packages?  The reason this is an absolute necessity is because the tools on which Foresight are built (rBuilder Online) works with Conary only…that means ISO generation and repository hosting are all mandated to be Conary based.

The other interesting part about this is that Conary blends version control with package management.  It deals with changesets as packages.  Imagine SVN…you have a local changeset that  you’re working on and the version inside the SVN repository differs from that.  You can then diff the state of your local copy to see how it differs from the remote copy.  This allows you to see the changes you’ve made and allows you to see what code may be broken.  Also, commits are numbered automagically so that you don’t have to worry about breaking things much because you can rollback to a previous known good state.

The same is true with Conary…you can rollback to previous known good states.  You can also diff each changeset locally with the remote repository.  Now imagine this with Fedora packages…if something is broken, chances are Foresight will find a fix for it much more quickly than someone in Fedora…a single command can diff the previously known good version with the broken version and find out the shortcoming.  Or perhaps a known good verion in Foresight that isn’t Fedora based might be used to diff the Fedora RPM version and find out the differences in them.  In all, it’s going to help developers track down problems faster.  This helps Fedora…they now have a small number of Foresight developers who will be working with hundreds of popular Fedora RPMs looking to see if they work or are broken.

Most of the benefit will be measurable in Foresight because they’ll be able to use just about any package Fedora creates…but the Foresight community is FULL of very capable developers…guys that really know what they’re doing.  If they can make this a collaborative effort Fedora will gain exceptionally smart developers as well…even if testing packages on a different platform, they’ll have eyeballs on these packages and if a fix is found or made for them they will definitely go upstream to Fedora.

Hopefully, this puts things right from my initial wrong.  I don’t claim to be an insider for Foresight…I just know a lot of the people involved and ask questions a lot….I also pay attention to the developer mailing list.  If you have any questions, please leave a comment and I’ll attempt to track down answers for them 😀

Foresight and Fedora, ClarkConnect Becomes ClearOS

Foresight and Fedora (aka “boots, a fedora remix”)

Last week it was reported by LWN and a few other Linux news sites that Foresight Linux may employ a change of direction…that is, create a spinoff project that places the Conary package manager onto a Fedora Linux base. Michael Johnson, Director of Operating Systems at rPath (which maintains the Conary based package manager Foresight uses) summed up his post nicely:

“I think that Foresight needs to be based on an upstream distro that is regularly fully updated and refreshed, and that is maintained by distro specialists with experience and expertise that is just plain missing within the Foresight development community. That distro needs to be imported into a Conary repository; that will allow Foresight to continue to use Conary to manage the process of building a set of consistent modifications relative to that upstream distro, providing a true rolling release. That would allow Foresight developers to concentrate on only the problems inherent in integrating the very latest development source against a recent base that is relatively close to the basis on which the software is maintained.”

Michael also said that it made sense to do this based on Fedora because Foresight is very Fedora-like in filesystem and the way that things are setup and handled in the guts of the operating system (paraphrasing from what I remember of IRC discussion).  Also, in a comment on the LWN thread, Michael states that Foresight, if spinning off with Fedora, would still make use of “Conary, rMake, rBuilder, rBuild, and other rPath technology” and would still use Conary as its package manager which means…it wouldn’t leverage rpm and yum to keep things up to date on it.

An independent project that Foresight maintains sounds like a HUGE undertaking…(even though I’m assured repeatedly by developers from Foresight that it won’t be because it’s “automatic”).  I’ve seen automagic things in the past that won’t cause a lot of work turn out to be quite a bit of work-that-is-not-work.  I find this especially odd when the main complaint is that there aren’t enough OS specialists around…it sounds a bit too large to undertake.  This project actually sounds like it possibly would usurp Foresight Main (Foresight Proper…Foresight Linux…whatever you call it) which is based on the stable rPath Linux and not on cutting edge Fedora like the “boots remix” would be.  Therein lies the problem.  The”boots, a fedora remix” would consistently be ahead of Foresight in development if the project is started and makes progress.  Foresight will continually lag behind it.  Can a 100% guarantee be given that Foresight can snipe packages from “boots, a fedora remix” that would always work?  If not, what does Foresight gain by maintaining the project/spinoff?

I think Foresight won’t be able to maintain an independent project based on Fedora along side of the main Foresight Linux project.  Sure, they may be able to at first…but then what happens when things break?  Is one person responsible? 2? more than 2?  I think instead of having a separate project, Foresight might want to completely base off of Fedora.  This topic is extremely unpopular with Foresight developers though.

Whether or not Foresight adopts “boots a Fedora remix”  is yet to be decided.  It will be set before the Foresight Linux Council at their next meeting.  Hopefully, they take into consideration the amount of manpower a separate project like this would encompass and maybe consider the benefits of adopting Fedora completely as a base for Foresight.

On a similar note, António Meireles, a lead developer for Foresight Linux, has posted what direction he would like to see for Foresight Linux 3…the future major release for Foresight.  With improved underlying architecture that is more inline with Fedora…he may be looking along the same lines that my post here is.  Whatever the case may be, it’s obvious that Foresight is starting to show a flurry of both interest and activity which is a benefit to it.

So where does this leave Fedora?  They’ll benefit from having a lot of knowledgeable developers in Foresight and a few engineers from rPath working with a Fedora based project.  Foresight has a great upstream relationship with the projects it encompasses…like Gnome and rPath.  I would imagine this continued professionalism and cooperation will continue should Foresight base on Fedora.

ClarkConnect Becomes ClearOS

In other news, some of you may or may not know that ClarkConnect will become ClearOS and will be completely open source.  The Clear Foundation will be sponsoring the development of ClearOS which is ClarkConnect re-branded with improvements.  See the full announcement hereAlso, a Forum Announcement Here.  This brings a lot to the table including renewed commitments to documentation, community, and the operating system as a whole.  The change is set to happen in the late part of 2009.

So what does this have to do with Yet Another Linux Blog?  A few years ago, I wrote a review of ClarkConnect 3.2 for home users.  It was well received and still gets many hits even today.  Since I’ve used ClarkConnect since version 2.1 and continue to use it today for my home network…who better to take a look at how ClearOS will measure up?

With this in mind, I contacted the guys over at the Clear Foundation and they agreed to let me blog a bit about some of the changes and improvements that will be happening with ClearOS over the next few months.  So look for more exclusive information from ClearOS in the near future.  They’ve also asked if I’d be interested in helping out with some community endeavors they will have going for ClarkConnect and ClearOS users.  Exciting stuff!  ClarkConnect has really needed this shot in the arm for about the last 2 versions…they lost a couple of really good websites with FAQ’s on them.  It’ll be great to get the community involved with this fantastic Home Server distribution.

An Open Letter to Foresight Linux

Theoden is a guest blogger writing his first post for Yet Another Linux Blog. The views expressed inside this post are part of his personal experience and opinions regarding Foresight Linux. I’d like to thank him for taking the time to make Linux better with constructive criticism as well as the many bug reports and fixes he contributed to the Foresight Linux community. Click Theoden’s name above for more information on him.

I have decided – after running Foresight for two months – to no longer use Foresight Linux on my systems. Let me say however that I found the experience interesting and dare I say – challenging. Everyone in the IRC channel was great – very friendly – and most tried to be helpful.

I thought it might be helpful and instructive to provide an explanation as to why I am not going to use Foresight any longer, rather than just disappear. Hopefully, in doing so I may contribute to Foresight becoming a better distro that I might want to run in the future. So, here goes ….

Concerns With Foresight Linux

Conary: When you read about conary it all sounds very exciting and innovative with many really good features. However – when you install Foresight and actually use conary – it doesn’t take too long to realize that unless you are a developer or very involved packager – very little of conary’s goodies really touch you or help you (with the exception of rollback).

However – it’s negatives do impact you as a user:

  1. It is very complex and difficult for the average user to understand and use with any effect
  2. It is hard to locate individual packages and make sure you have what you need when things are failing to work right
  3. The idea of ‘group’s puts numerous things together making it somewhat confusing to sort out when a dependency is not met for an app you really need.

Development and QA: To be very honest – the development of this distro ‘seems’ from my perspective to be done as a fun project – almost a ‘toy’ if you will – for the creator and a couple of his ‘close’ friends. Everything seems to be about advancing to the next version of things – the constant cutting edge challenge of adding in the latest or something really new – without ever really QA’ing and stablizing the existing released code. So problems users are having never really get fixed properly. And this leads to the next concern ….

JIRA: This is the issue tracker for Foresight.  By and large – it appears that issues that don’t personally effect the developers are ignored. I personally have an issue in the tracker concerning sound – which has been there for over 30 days and no one has done anything with it. I finally figured out what was causing the break – but it requires the devs to fix the code. But they have not – and ignore the issue because it works fine for them. Many people have complained about sound issues – but the developers are concerned always with developing the latest code for the next cutting edge release instead of stopping to fix the broken code and solve problems. Poor QA – poor response to user problems.

Conclusion: So – Why Use Foresight? Given the above issues that concern me, I must ask the inevitable question – “Why use Foresight then?” And frankly – I can come up with no compelling reason to do so. Outside of cutting edge gnome – it offers me nothing I cannot get elsewhere – in debian or slackware or archlinux, etc. And those distros are more stable – address issues that are legitimate user concerns – work hard to QA their distros – and in general put out a more user friendly product. The truth is – it’s all linux. So what really counts then is product presentation – QA testing – responsiveness to user problems – and stability providing the ability for the users to do actual work with their linux systems without always trying figure out why something doesn’t work. These things all need real work in Foresight Linux.

The result for me then is that I have returned to Debian. I wish only the best for Foresight Linux and it’s developers and users. I hope some of the issues that have led to my decision will be addressed and that one day I might come back and give it another go. I believe there’s a lot here to like and a great deal of talent. Thank you for your patience with me.

Sincerely,

Theoden

Broken Sound in Foresight Linux 2.0.?

Sound is broken in Foresight Linux 2.0.4 and above.  This is a sporadic problem…but I know that most HDA Intel Sigmatel chipsets are having this problem (like the one on my Dell D630 Latitude).  It is my understanding that this is a kernel based problem…and if it is, the last 4 released kernels onto Foresight Linux 2 stable branch have not fixed sound.

I was able to backpedal to the 2.6.27.5-3 kernel and had all of my sound problems automagically fix.  I’m not sure what the problem is, nor how to fix it…but I do know that I’m not the only one with sound problems as of late.  I also know that no one is motivated to fix things right now…as a developer in Foresight, I have heard nothing about a fix for this problem and even my own bug postings have went without comment.

I am attempting to draw attention to this through this post and also by creating a rollup bug listing for all sound related problems in Foresight Linux 2.  If you have a problem, please visit http://issues.foresightlinux.org and file an issue there and drop a comment on my roll-up issue FL-1931 letting me know you’d like to link up to it.

Until that time, I’ve enjoyed the silence for 1 1/2 months.  Some users are going on 6 months.  I hope we can fix this major problem.

Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.