So here is one of those topics I've just never felt comfortable enough with to give it a page on my site... modifying the Rhapsody login interface. But now I've finally decided to give it a go.

There are a few options to changing the look of the login on Rhapsody systems. The first is within the abilities of a Rhapsody beginner, the second (along with the first) is a little more advanced as you have to make use of the terminal. The last is pretty advanced as it requires the use of Interface Builder.

All of these require logging in as root, so understand that you can screw up a system pretty badly if you aren't extremely careful.

Quick change
The login panel is actually a TIFF image which can be replaced with a different TIFF image as long as it has exactly the same name, and the image is the same size (pixel for pixel).

You can find the images in:

/System/Library/CoreServices/loginwindow.app/Resources/English.lproj/

If you are using Rhapsody 5.1 you should find an image that looks like this:

which should look like this when you see it normally:

Developer Release 2 login
(click
here for larger version)
If you are using Rhapsody 5.3 or later (Mac OS X Server 1.x) you should find an image that looks like this:

In my case, I happen to like the look of the Server image, so I made this replacement for my ThinkPad (which is exactly the same size as the original 5.1 image):

And this is what it looks like when in use...

My modified Developer Release 2 login
(click
here for larger version)
A little bigger change
To take this s step further, you can change the background color of the login using the "default writes" like this...

defaults write NSGlobalDomain LoginBackgroundColor "1.0 1.0 1.0"

The colors are RGB values, but rather than going from 0 to 255, you go from 0 to 1.0 (so that "1.0 1.0 1.0" is white and "0.0 0.0 0.0" is black).


Advanced modifications
If you are really in need of modifying the look of the login screen, you'll need to resort to using Interface Builder.

As an example, Apple included an image of what the login screen was supposed to look like for the "Rhapsody Premiere Release".

The image is supplied as a GIF and is sort of low quality. Also, it is quite a bit larger than the original image that Rhapsody 5.1 uses.

As I didn't like the quality of the Apple supplied image, I recreated it in Stone Design's Create... with a few modifications. What I ended up with is this...

To do this as safely as possible, I created a copy of "login.nib" which I could modify with Interface Builder. I stored this copy at:

/Local/Library/login/login.nib

What I had to do was change the size of the login window and the position of the login GUI elements to match my image (
here is a shot of Interface Builder while I was working on my new login.nib).

I strongly suggest getting to know Interface Builder before attempting this because there really isn't a good way to talk anyone through this.

When done I saved my changes and fired up the terminal again. This time I had two commands to enter...

defaults write NSGlobalDomain LoginNIB '/Local/Library/login/login.nib'

and

defaults write NSGlobalDomain LoginBackgroundColor "1.0 1.0 1.0"

After that I restarted and this is what I was greeted with...

My modified "Premiere Release" login
(click
here for larger version)
If something isn't working right, you can restart and use single user mode or config=Default and reset the system back to the old login.nib with this command:

defaults delete NSGlobalDomain LoginNIB

Actually, even when it doesn't work (that is, it doesn't look right), usually it works enough to login as root again and start over or try to fix what was wrong.



Also, this was what Rhapsody 5.0 (Rhapsody Developer Release) login looks like...





Stone Design's Create(tm)
2006-10-09 01:46:17 -0500