On Oct 15, 2004, at 2:52 PM, Jamie McParland wrote:
Hey Everyone,
I'm having the Ldap login window problem. Basically all my users are
stored
in LDAP. When the machine boots up and you try to login right away it
shakes
it's head at you. If you wait awhile it will let you in.
So to keep my service calls down what i was thinking is i need some
way to
make the computer to wait for an amount of time before it shows the
login
window. This way it can make it's directory connection before the login
window pops up.
This way the end users are just thinking that the computer is working
on
starting up. So when it gets to the login window it will log them in ;)
Any ideas on how to accomplish this?
You can fiddle with the LoginWindow startup item some. The LoginWindow
startup item just drops a crumb for SystemStarter to find to know if
she can start the login window or not. Make it run later and put a
delay in it. I just tested this out.
Two steps to a nice delay...
1. For good measure add DirectoryServices to the list of required
services in /S/L/StartupItems/LoginWindow/StratupParameters.plist to
make it run a bit later.
Requires =("Disks", "SecurityServer");
became
Requires =("Disks", "SecurityServer", "DirectoryServices");
2. Add some sleeps to the/S/L/StartupItems/LoginWindow/LoginWindow. I
used ConsoleMessages to give some feedback in the SystemStarter window
StartService ()
{
# leave cookie for Login Window
ConsoleMessage "Starting LoginWindow in 3"
sleep 1
ConsoleMessage "Starting LoginWindow in 2"
sleep 1
ConsoleMessage "Starting LoginWindow in 1"
sleep 1
/usr/bin/touch /var/run/.systemStarterRunning
}
Obviously add as much time as you think you need.
Now the LoginWindow startup item will start later and when it does
start it will wait as long as you like. The countdown will make the
users not panic when it "hangs". SystemStarter won't launch the login
window until this guy drops the 'cookie'.
Really though, why is your DS connection taking so long? Is it a Mac
OS X Server or some other LDAP solution?