samoht.com home
This Old Sparc Archives
My SETI@Home Stats
SunHelp.org
SolarisGuide.com
Suns-at-home Mailing List
geekish.com

This Old SPARC

The story of a geek and his Sun SPARCstations (and UltraSPARCs), and the trials, tribulations, and small victories that go with the care and feeding of such a menagerie.

Monday, January 29, 2001

114 Days!!

That's how long "buzz", my Ultra 1 200E, has been up.

119 Days!!

That's how long "sparky", my dual-processor Sparc10, has been up.

Solaris rules!


posted by Mike Thomas 1/29/2001 09:47:39 PM

Downloaded and built "EveryBuddy" tonight. It's a multi-protocol chat client that supports AOL IM, ICQ, Yahoo Messenger, and MSN. Pretty damn nice looking too. The install went without a hitch, and I was online within about 10 minutes. No more crappy Java applet to do my YM stuff.
posted by Mike Thomas 1/29/2001 09:45:23 PM

Sunday, January 28, 2001

Alternate Window Managers
This weekend I got re-interested in trying to run alternate window managers on Solaris. The Linux screenshots I see on the themes pages have been making me jealous. At first, I thought, "I'm going to get me an Intel machine and run Linux on it so that all these neato packages are easily available to me". Then it hit me that I'm just being a wimp. Most decent open source software these days comes with a decent "autoconf" compilation approach (see my earlier post about building gzip), so there's little reason to worry about getting binaries. Following is the saga, "Mike installs a new window manager".

Window Maker
This is the first one I tried, on Friday night, basically because sunhelp.org mentions it as a favorite. I'll try to make a very long story short here. WindowMaker doesn't come with an autoconf script, so building it is a bit more difficult than it needs to be. I spent hours trying to get it to build. It expects 'cc', which is incorrectly configured on my machine. I do have 'gcc', but apparently its command line is a bit different than 'cc'. After a couple of hours jacking around with things, trying to get the thing compiled, I gave up. I decided that I'd only attempt to compile source that comes with an 'autoconf' script from now on.

AfterStep
The next attempt was with AfterStep, which does come with an 'autoconf' script. The build went swimmingly. However, I couldn't get the executable to run. It kept complaining that it couldn't find libjpeg.so.1, which I assume is a shared libarary for JPEG stuff. I messed about for a couple of hours, recompiling with different settings, etc., all to no avail. I gave up at this point, vowing to return and try again soon.

I recently bought a couple of Unix books, one of which is Think Unix. It's a pretty good book, and luckily includes a section on X. After reading the first couple of chapters I skipped ahead to the X section, and got re-interested in getting AfterStep working. The book had a couple of paragraphs about how X works (I have a good theoretical understanding, but this was practical information that I was missing) that led me to try starting a session with no window manager. In Solaris, this is done by using the "failsafe" mode. This starts X with a console window instantiated, but doesn't start any window manager. I quickly learned that I could execute any old window manager in the foreground from the console, and then terminate it with Control-C, which would revert back to the "flat" control-less failsafe mode. I played around a bit with starting olwm (OpenLook Window Manager), twm (Tab Window Manager), and mwm (Motif Window Manager), all of which were already on my machine.

Having thus gotten comfortable with general window manager operation and their interactions with the presentation of X applications, I went back to AfterStep. It occured to me that perhaps libjpeg.so.1 was there after all, but that AfterStep just couldn't see it. I searched for libjped.so.1, and indeed found it. It hit me that perhaps putting the path where the library lives into LD_LIBRARY_PATH would fix my problem (seems obvious now, doesn't it?). I did so, and lo and behold, when I ran '/usr/local/bin/afterstep' from the command line in failsafe mode, AfterStep loaded up just fine. To say that I was excited would be understatement for sure!

Adding an Alternate Window Manager to the Login Screen
OK, that's half the battle really. What good is being able to run an alternate window manager if you can't have it automagically execute as part of your X login? Oh, I suppose I could have always started in failsafe mode in order to execute my window manager of choice, but that would be cowardly at best.

So, I started digging through man pages trying to figure out how to add another window manager to the graphical login window that pops up in Solaris. Turns out it's called the desktop login window (DtLogin). Though I learned quite a bit about how the login window can be configured, the level of indirection in the scripts left my head spinning. There was really nothing that said "to add a new window manager to the login screen do these steps". But that's what I needed. Just a half hour ago, I did discover what I needed, and in an unexpected place: the WindowMaker FAQ. So, without further ado, I present...

To Add a New Window Manager to the DtLogin Screen Do These Steps

  1. Become root.
  2. Navigate to /usr/dt/config/C/Xresources.d (geez, isn't it obvious??).
  3. Create an Xresources file. You'll probably find a file already there, and it's most likely called Xresources.ow. This is the resource file that makes OpenWindows desktop available from the dtLogin screen. Naturally, you'll want one for your window manager. I was using Afterstep, so I copied this file to Xresources.as (from here on out I'll use AfterStep as the example).
  4. Edit the new Xresources file. Basically, you just hunt around for stuff particular to a given window manager and change it to your desired one.
    • I changed "OpenWindows" to "AfterStep" wherever I found it.
    • I changed the key Dtlogin*altDtKey line, which that points to "/usr/openwin/bin/olwm" to point to "/usr/local/bin/afterstep".
    • I changed the key Dtlogin*altDtStart line, which that points to "/usr/dt/config/Xsession.ow" to point to "/usr/dt/config/Xsession.as".
  5. Navigate to /usr/dt/config and copy the Xsession.ow file to an Xsession.as file (this is the file that the Dtlogin*altDtStart resource points to, as configured above). I honestly didn't know what to change here, so I basically just changed "OpenWindows" to "AfterStep" in a line that obviously just generates a message.
  6. Restart X. Upon redisplay of the DtLogin screen, you'll be able to select your alternate window manager. Schweeeet!!

posted by Mike Thomas 1/28/2001 01:28:22 PM


Powered by Blogger