I was switching back and forth between a Sun Solaris SPARC workstation and a Knoppix Linux LiveCD system and placed the keyboard for the Sun system against the side of the desk when I switched to the Linux system. I then inadvertently knocked over the Sun keyboard. It fell face down and the keyboard button that will power off the Sun must have been depressed, since it shut itself down. After it shut down, I hit the button again to power it up, hoping I would find my desktop just as it was when the system shut down.
When the system, which is running Solaris 2.7, powered back on, I got my Common
Desktop Environment (CDE) login prompt informing me I needed to unlock the
screen. I logged into the regular user account I had been using only to find a
white desktop with none of the many windows that had been open previously
visible. I had a lot of information I didn't want to lose, so I tried pinging
the system from another system, which worked. I was also able to establish an
So I went back to the Sun's console and tried some key combinations to see if I could get to any of the windows I had open previously. I found that just as on a Windows-based PC, I could hit the Alt and tab keys simultaneously to cycle through the open windows. When I did so, I saw a small icon for each window, which I could then open fully by hitting Alt-space and then choosing "Maximize" from the menu that appeared (Alt-F10 will also maximize the window). I was then able to save information in windows I had open previously.
Since I had a lot of windows open and I really wanted to just pick up from
where I had been when the system powered down, I searched for an alternative
means of restoring the
SPARC only: restore from sys-suspend Sometimes Does Not Restore CDE (4174133)
sys-suspend(1M) may hang and not refresh the screen on some slow systems. After a system is resumed, Screen Lock is in effect by default. This problem occurs after you enter a user password. A white screen is displayed instead of a Common Desktop Environment (CDE) screen. Although you can gain access to the system remotely, you cannot enter anything because the screen is still locked. If this problem occurs, you can recover the CDE session by remotely logging on the system as superuser and then killing the sys-suspend process.
Workaround: If this problem has occurred as a result of executing autoshutdown, use the dtpower(1M) application to disable autoshutdown. The problem does not occur if you execute sys-suspend without the Screen Lock option.
Refer to "Disabling the Screen Lock" in Using Power ManagementSolaris 7 Reference Manual Collection for a description on how to disable the Screen Lock for sys-suspend invoked by the keyboard's power key. To disable the Screen Lock for the sys-suspend command that is invoked from the CDE Workspace Menu:
Become superuser.
Create the following dtaction file /etc/dt/appconfig/types/locale/sunOW.dt. The locale is the name of the language option that is selected when you start CDE.
Copy the ACTION SDTsuspend { ... } definition from /usr/dt/appconfig/types/locale/sunOW.dt to /etc/dt/appconfig/types/locale/sunOW.dt.
Add the -x flag to sys-suspend command in the /etc/dt/appconfig/types/locale/sunOW.dt file.
Exit the CDE session and log in again.
I didn't follow those instructions, but they provided me with the clue I needed to get my desktop to reappear with all of its windows visible again. From the terminal window I had open where I had established the SSH session, I became root and then searched for the sys-suspend process. When I found it I tried to kill it with kill -HUP, but that didn't kill it, though kill -9 did produce a prompt to suspend, shutdown, or cancel on the screen of the Sun workstation.
# ps -ef | grep suspend
root 12233 20298 0 17:15:39 pts/12 0:00 grep suspend
root 20868 20867 0 16:18:40 ? 0:13 /usr/openwin/bin/sys-suspend
# kill -HUP 20868
# ps -ef | grep suspend
root 12452 20298 0 17:16:16 pts/12 0:00 grep suspend
root 20868 20867 0 16:18:40 ? 0:13 /usr/openwin/bin/sys-suspend
# kill -9 20868
When I used the kill -9 followed by the