Monday, March 31, 2008

CDE or JDS login error in Solaris 10 (Rev: 1.1)



Situation

After updating the Sun Ultra Enterprise 450 server Solaris 10 patches and performed a reboot, the users encountered the below pop up error message upon logging to the Common Desktop Environment (CDE):

The DT messaging system could not be started. To correct the problem:
1) Choose [OK] to return to the login screen
2) Select Failsafe Session from the login screen's option menu and log in.

3) Check to see that the hostname is correct in these locations:
/etc/src.sh
/etc/hosts
/usr/adm/inetd.sec

Check to see any magic cookie related error messages in these locations:
/var/adm/messages
$HOME/.dt/errorlog

For additional information, see the DT User's Guide.

After the user clicked the [OK] button in the error message, the system will immediately log out the user from the CDE desktop. If the user login to the Java Desktop System (JDS), the system will immediately log them out without showing the above error message.

Root login to CDE or JDS desktop has no problem. We did not use Network Information Service (NIS) or implement quota limitation in the Solaris 10 Operating System (OS). The root (/) file system still has about 1.8 GB of free space.


Solution

When I create the user account using the useradd command, I normally specify the user home directory as /home/username. However, the system actually create the user home directory at /export/home/username. This is because the automounter (autofs) in Solaris 10 OS defines both /home and /net as autofs mount points that is specified in the /etc/auto_master file. Since /home is an autofs mount point, you cannot create directories there.

For my login account jack, my home directory (/home/jack)files were at /export/home/jack directory. Below is my jack account in the /etc/passwd file:
jack:x:200:100:JackNg:/home/jack:/bin/tcsh

When I login to Solaris 10 as user jack, the system will auto mount my home directory as /export/home/jack. After updating the patches, it seems that the system failed to auto mount my home directory as /export/home/jack correctly. Instead, it tried to look for my home directory at /home/jack as specified in the /etc/passwd file. As the /home directory is empty, it failed with the "The DT messaging system could not be started" error message.

To solve the login problem, I login as root user and modified the user home directory from /home/username to /export/home/username in the /etc/passwd file. For example, I modified the user jack account in the /etc/passwd file as shown below:
jack:x:200:100:JackNg:/export/home/jack:/bin/tcsh

No comments:

Post a Comment