I'm now replacing it with a new machine running Solaris 10, which
has the JDS3 desktop, as well as CDE. With JDS3, automatic login
can be accomplished in a much nicer way.
The first step is to make gdm the login manager, rather than dtlogin:
# /usr/dt/bin/dtconfig -d
# sh /etc/init.d/dtlogin stop
# svcadm enable gdm2-login
Now, the file /etc/X11/gdm/gdm.conf needs to be modified to enable
automatic login. One way is to make these additions:
AutomaticLoginEnable=false
AutomaticLogin=oper
This causes an immediate login of the specified user. I decided to
do it this way instead:
TimedLoginEnable=true
TimedLogin=oper
This adds a 30-second delay to the automatic login, giving time to
log in as a different user, if necessary.
In any case, two lines also have to be added to /etc/pam.conf:
gdm-autologin auth required pam_unix_cred.so.1
gdm-autologin auth sufficient pam_allow.so.1
The file /usr/lib/security/pam_allow.so.1 is not currently included
with Solaris 10. It can be copied from one of the Nevada releases,
for the appropriate platform, and installed in /usr/lib/security.
With these changes, automatic login almost works, but the oper session
displays a message saying that the session lasted less than ten
seconds. These errors appear in ~oper/.xsession-errors:
/etc/X11/gdm/Xsession: Cannot find Xclients
/etc/X11/gdm/Xsession: Setup done, will execute: /usr/bin/ssh-agent -- xsm
xsm: No such file or directory
The problem seemed to be that gdm did not select the correct default
desktop session, likely because `oper' had never logged in to this
machine before. I tried a few changes to /etc/X11/gdm/gdm.conf to
correct that, but to no avail. However, creating ~oper/.dmrc with
these contents did the trick:
[Desktop]
Session=gnome
After a 30-second delay, oper is automatically logged in on the graphic
console and gets the typical JDS3 desktop for a new user.
--
-Gary Mills- -Unix Support- -U of M Academic Computing and Networking-