SUMMARY : screenblank equivalent on SOLARIS 2.1

From: Leclerc Francois (
Date: Tue Jan 19 1993 - 01:13:53 CST

Dear sun-managers,
thanks for your help.

Initial question
I just have set up an IPX, 64 Mb, Solaris 2.1 with 19" inch gray scale monitor
as boot and NFS server for diskless workstations in the computer room.
It provides boot for SUNOS 4.1.3 (current) and SOLARIS 2.1 (coming).

It is replacing an old 4/280, with a vt100 compatible console.

The machine is adapted to NFS service (maxusers=128,maximum memory 64Mb,
limited logins admited). I order to limit memory usage, I would like not to use
Openwin on the grey scale console, and just keep an eye on the messages. In rare occasions (Answerbook reading, network breakdown, crises ...), I want to have
the full possibilities of Openwin. So the vt100 solution as a console is no more the best solution (moreover, vt100 are getting old).

The question is : According to Answerbook, screenblank has got no equivalent
under SOLARIS 2.1 without openwin. Have you got a solution to save the screen ? (public domain software, sources, workaround ...).

Summary of the answers
3 kind of proposals :

-without a X server :
.use /usr/bin/screenblank from SUNOS 4.1.X in compatibility mode on SOLARIS 2.1
and complain to SUN as this will not last in the future releases.

.turn off the screen

-with a X server like xnews :
.run xdm client and xset -s
.run xswarm (Public Domain)
.run xlock or xautolock (Public Domain)

-try to write your own code : you may face some problems

Personal solution

/usr/bin/screenblank is the solution I am using :
.I avoid to run xnews and use 1-2 Megabytes which are better used by kernel buffers for NFS cache.
.The operator knows when some messages come on screen as it is visible

The only simple workaround is to copy /usr/bin/screenblank from a SunOS
4.1.x machine to your Solaris 2.1 machine, and run it in backwards
compatibility mode. Also, complain to Sun, because this temporary
solution may not work in the next release.

If you're an X whiz and don't mind an adventure, you can try to get
xdm to work instead.
The OpenWindows server includes screenblank functionality. Uncortunately,
I think that Sun decided that meant they didn't need the separate program.
Therefore, when there's no window server running, there's no program to
blank the screen.

Two ways around it: one is to re-write screenblank. It's really trivial,
just watch the access times on /dev/kbd and /dev/mouse, and if they exceed
a certain period of time (say, five minutes), do an ioctl on the frame
buffer. The code to do so could probably be extracted from the MIT window

Another is to use xdm, but that would involve the window server running
continuously, even when no one is logged in, and you wanted to avoid that.

With 64 MB though, I doubt you'll ever notice an impact on performance, as
long as you're not running things like a clock, perfmeter, etc., that update
the screen frequently.
I asked this at the recent Sun UK User Group conference. The answer from Sun
was, basically, screenblank was a SunView program, and is no longer supported.
OpenWindows does have a blanking option (as you no doubt found), but it's not
much use to you.

I tried implementing my own version: I replicated the functionality on
SunOS 4.1, then tried porting. No good: they've changed the console devices,
so I'm not getting anything from the keyboard (either that, or the poll()
call isn't working the way I expect it to).

I've posted a similar message to the uksun mailing list (since it isn't really
in the sun-managers policy), but I've yet to get any decent relies. I suspect
all you'll get back is "use xdm", which, again, probably isn't much use to you.

Me, I just turn the monitor off for now:-).
how about the monitor on/off switch .... always works for me
I have an IPC and a SparcClassic on my network, and we use a PD program
called 'xswarm', which can timeout after n minutes, and shows a small swarm
of lines buzzing around the screen. Mouse actiojn, keyboard action will
restore the screen.

Run an archie search to find it...
Try xlock and xautolock from You
do need to be running X of course :-)
The only solution i have come across is to use the old 4.1.x screenblank
which works fine under the Binary Compatibilty Package...

In the Solaris 2.1 answerbook, it states that you should use the xset -s command.
The man page looked relatively simple. (I found it on page 1-60 in the answerbook.
It's with the list of 4.1.X commands)

Thanks to :

LECLERC Francois Etudes et Productions SCHLUMBERGER
 UNIX System engineer 26, rue de la cavee
                                         92140 Clamart
Tel : 33-1 4537-2924 France
Fax : 33-1 4537-2021
Internet :

This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:07:23 CDT