I've filed the following ARC fasttrack case with LSARC today (the Sun ARC
which normally reviews the desktop software in Solaris). They'll be
considering it for the next week, so if anyone here has comments, please
feel free to send to desktop-discuss, arc-discuss, and/or directly to me.
(This case does not include the "Really Slick Screensavers" that were in the
prototype build I put out a couple of months ago - those will come later,
once the ImageMagick library in the SFW consolidation is upgraded to the
version those require.)
-Alan Coopersmith- alan.coopersmith at sun.com
Sun Microsystems, Inc. - X Window System Engineering
-------- Original Message --------
Subject: xscreensaver upgrade to version 5.0 [LSARC/2006/446 Timeout:
07/28/2006]
Date: Fri, 21 Jul 2006 15:20:28 -0700 (PDT)
From: Alan Coopersmith <[email protected]>
Template Version: @(#)sac_nextcase 1.56 10/26/05 SMI
1. Introduction
1.1. Project/Component Working Name:
xscreensaver upgrade to version 5.0
1.2. Name of Document Author/Supplier:
Author: Alan Coopersmith
1.3 Date of This Document:
21 July, 2006
4. Technical Description
This project upgrades the xscreensaver code base from the open source upstream
from 4.05 to 5.0. The increment in major version number is not due to major
incompatibilities but to the major feature addition of native MacOS X support.
It also includes a couple of other updates that have been accumulating.
Sun's xscreensaver uses the display modes from the open source xscreensaver
mostly unmodified (a bit of censorship is applied for some things that users
may find offensive or which our lawyers may find risky), but modifies the core
driver program quite a bit to add support for accessibility via a GTK+ UI, to
correct the PAM implementation, and make several other changes not accepted by
the upstream maintainer.
This ARC review also converts xscreensaver stability statements to the new
taxonomy and incorporates several additional changes being made to xscreensaver
as well. This case requests a minor release binding for all portions except
the few noted as applying to a patch release.
---------------------------------------------------------------------------
Changes from upstream:
The xscreensaver-command CLI has been modified to remove the commands
-throttle and -unthrottle.
The man page description of these commands was:
-throttle
Temporarily switch to ``blank screen'' mode, and
don't run any display modes at all, until the
screensaver is next de-activated. This is useful if
you're using a machine remotely, and you find that
some display modes are using too much CPU.
(If you want to do this permanently, that is, you
want the screen saver to only blank the screen and
not run demos at all, then set the programs resource
to an empty list: See xscreensaver(1) for details.)
-unthrottle
Turn `-throttle' mode off and resume normal
behavior.
The replacement functionality listed in the new man page is:
If xscreensaver is running, but you want it to stop running
screen hacks (e.g., if you are logged in remotely, and you
want the console to remain locked but just be black, with no
graphics processes running) you can accomplish that by sim-
ply powering down the monitor remotely. In a minute or so,
xscreensaver will notice that the monitor is off, and will
stop running screen hacks. You can power off the monitor
like so:
xset dpms force off
See the xset(1) manual for more info.
xscreensaver-demo no longer supports the --crapplet flag for embedding in
the GNOME 1.x Control Center. Use as a GNOME 2.x preference panel continues
to work unchanged.
A number of new display "hacks" have been added - since those are
architectually uninteresting and Project Private, they are not detailed here.
---------------------------------------------------------------------------
Installation location:
This case follows the precedent set in PSARC 2004/187 and migrates xscreensaver
from /usr/openwin to /usr/X11. Symbolic links will be left in
/usr/openwin/bin for the xscreensaver commands and from
/usr/openwin/lib/xscreensaver to /usr/X11/lib/xscreensaver (though nothing
outside the xscreensaver project should be using the private interfaces in
that directory).
---------------------------------------------------------------------------
Smartcard support:
xscreensaver currently uses the SCF API to detect smartcard removal and perform
a screen lock at that time. PSARC 2004/678 has EOF'ed the SCF API so this
functionality will be removed from xscreensaver. By agreement with the
smartcard development team, the SCF replacement project will be responsible
for calling xscreensaver-command -lock to lock the screen when needed,
instead of modifying xscreensaver to monitor the smartcard. (The Sun Ray
smartcard framework already does this.)
This case declares the smartcard support Obsolete in a Patch Release, and
removes it in a Minor Release. (Under the new taxonomy, I am calling
this "Obsolete Uncommitted" though there was no specific stability given to
the smartcard functionality in past cases.)
Since the proposed replacement and a number of other consumers use or will
use xscreensaver-command -lock to lock the screen, but none have requested
contracts, this case accepts the obvious conclusion that this functionality
is an interface that needs to be provided at a higher stability level than
External/Volatile and raises it to Uncommitted.
---------------------------------------------------------------------------
Auditing:
Xscreensaver will audit screen lock and unlock in the same manner as xlock
already does. A contract will be signed with the audit group using the
same terms as the xlock/audit contract PSARC/2000/517/contract-03.
---------------------------------------------------------------------------
Root ability to unlock:
Xscreensaver has previously hardcoded allowing the user named "root" to
unlock the system. A resource will be added to the xscreensaver
configuration file named "allowRoot" which takes a value of True to allow
this, or False to only allow the logged-in user to unlock. The default
value of this resource will be set to False, requiring users who need the
current behaviour to change the default setting. This is explictly tied
to a Minor Release binding and a separate case will have to be filed to
discuss correct handling if a Patch/Micro Release is ever desired.
---------------------------------------------------------------------------
Future direction:
Long term, the stated goal of the Desktop C-Team is to move from xscreensaver
to gnome-screensaver for the JDS screen lock functionality. However, since
gnome-screensaver does not yet work on Solaris, xscreensaver remains the JDS
desktop screen lock provider for the near-term.
---------------------------------------------------------------------------
Imported interfaces:
Interface Stability Comments
---------- --------- --------
xscreensaver CLI (see man page) External LSARC 2001/121
xscreensaver-command CLI (see man page) External LSARC 2001/121
xscreensaver-demo CLI (see man page) External LSARC 2001/121
xscreensaver graphics applications External LSARC 2001/121
/usr/openwin/lib/xscreensaver Stable LSARC 2001/121
Auditing interfaces Contracted
Proj. Private PSARC 2000/517
/usr/X11 hierarchy Stable PSARC 2004/187
GTK+, Glib, Pango, ATK Evolving LSARC 2004/713
at-spi, login-helper External LSARC 2004/713
Exported interfaces:
--------------------
xscreensaver CLI Volatile was External
xscreensaver-command -lock Uncommitted was External
rest of xscreensaver-command CLI Volatile was External
xscreensaver-demo CLI Volatile was External
xscreensaver graphics applications Project Private was External
/usr/openwin/bin/xscreensaver* Obsolete External Replaced by symlink
/usr/X11/bin/xscreensaver* Stable Pathnames only
/usr/openwin/lib/xscreensaver Obsolete Stable Replaced by symlink
/usr/X11/lib/xscreensaver Stable Pathname only
/usr/X11/lib/xscreensaver Project Private Contents
SCF smartcard support in xscreensaver Obsolete
Uncommitted Patch Release binding
SCF smartcard support in xscreensaver Removed Minor Release binding
allowRoot Uncommitted
6. Resources and Schedule
6.4. Steering Committee requested information
6.4.1. Consolidation C-team Name:
X Consolidation / Desktop C-Team
6.5. ARC review type: FastTrack