Provided by: xscreensaver_5.15-2ubuntu1_amd64 bug

NAME

       xscreensaver-command - control a running xscreensaver process

SYNOPSIS

       xscreensaver-command  [-display host:display.screen] [-help | -demo | -prefs | -activate |
       -deactivate | -cycle | -next | -prev | -select n | -exit | -restart | -lock |  -version  |
       -time | -watch]

DESCRIPTION

       The  xscreensaver-command  program  controls  a running xscreensaver process by sending it
       client-messages.

       xscreensaver(1) has a client-server model: the xscreensaver process is a daemon that  runs
       in  the  background;  it  is controlled by other foreground programs such as xscreensaver-
       command and xscreensaver-demo(1).

       This   program,   xscreensaver-command,   is    a    command-line-oriented    tool;    the
       xscreensaver-demo(1).  program is a graphical tool.

OPTIONS

       xscreensaver-command accepts the following command-line options:

       -help   Prints a brief summary of command-line options.

       -demo   This  just  launches the xscreensaver-demo(1) program, in which one can experiment
               with the various graphics hacks available, and edit parameters.

       -demo number
               When the -demo option is followed by an integer,  it  instructs  the  xscreensaver
               daemon  to  run  that  hack,  and  wait  for  the  user  to click the mouse before
               deactivating (i.e., mouse motion does not deactivate.)  This is the  mechanism  by
               which  xscreensaver-demo(1)  communicates  with  the xscreensaver(1) daemon.  (The
               first hack in the list is numbered 1, not 0.)

       -prefs  Like the no-argument form of -demo, but brings up that program's Preferences panel
               by default.

       -activate
               Tell  xscreensaver  to  turn  on immediately (that is, blank the screen, as if the
               user had been idle for long enough.)  The screensaver will deactivate as  soon  as
               there is any user activity, as usual.

               It is useful to run this from a menu; you may wish to run it as
               sleep 5 ; xscreensaver-command -activate
               to  be  sure  that  you  have  time  to  take  your  hand off the mouse before the
               screensaver comes on.  (Because if you jiggle the mouse, xscreensaver will notice,
               and deactivate.)

       -deactivate
               This  tells  xscreensaver to pretend that there has just been user activity.  This
               means that if the screensaver is active (the screen is blanked), then this command
               will cause the screen to un-blank as if there had been keyboard or mouse activity.
               If the screen is locked, then the password dialog will pop up first, as usual.  If
               the  screen  is  not  blanked, then this simulated user activity will re-start the
               countdown (so, issuing the -deactivate command periodically is one way to  prevent
               the screen from blanking.)

       -cycle  If  the  screensaver  is  active  (the  screen  is blanked), then stop the current
               graphics demo and run a new one (chosen randomly.)

       -next   This is like either -activate or -cycle, depending on which is  more  appropriate,
               except  that  the  graphics  hack  that  will  be run is the next one in the list,
               instead of a randomly-chosen one.  In other words, repeatedly executing -next will
               cause the xscreensaver process to invoke each graphics demo sequentially.  (Though
               using the -demo option is probably an easier way to accomplish that.)

       -prev   This is like -next, but cycles in the other direction.

       -select number
               Like -activate, but runs the Nth element in the list of hacks.  By knowing what is
               in  the  programs  list,  and  in  what  order,  you  can use this to activate the
               screensaver with a particular graphics demo.  (The first element in  the  list  is
               numbered 1, not 0.)

       -exit   Causes  the  xscreensaver  process  to  exit gracefully.  This does nothing if the
               display is currently locked.

               Warning: never use kill -9 with xscreensaver while the screensaver is active.   If
               you  are  using  a  virtual  root  window  manager,  that  can  leave things in an
               inconsistent state, and you may need to restart your window manager to repair  the
               damage.

       -lock   Tells  the  running  xscreensaver process to lock the screen immediately.  This is
               like -activate, but forces locking as well, even if locking  is  not  the  default
               (that  is,  even  if  xscreensaver's  lock  resource  is  false,  and  even if the
               lockTimeout resource is non-zero.)

               Note that locking doesn't work unless the xscreensaver process is running as  you.
               See xscreensaver(1) for details.

       -version
               Prints  the version of xscreensaver that is currently running on the display: that
               is, the actual version number of  the  running  xscreensaver  background  process,
               rather  than  the  version  number  of  xscreensaver-command.  (To see the version
               number of xscreensaver-command itself, use the -help option.)

       -time   Prints the time at which the screensaver last activated or  deactivated  (roughly,
               how  long  the  user has been idle or non-idle: but not quite, since it only tells
               you when the screen became blanked or un-blanked.)

       -restart
               Causes the screensaver process to exit and then restart with the same command line
               arguments  as last time.  You shouldn't really need to do this, since xscreensaver
               notices when the .xscreensaver file has changed and re-reads it as needed.

       -watch  Prints a line each time the screensaver changes state:  when  the  screen  blanks,
               locks,  unblanks, or when the running hack is changed.  This option never returns;
               it is intended for use by shell scripts that want to react to the  screensaver  in
               some way.  An example of its output would be:
               BLANK Fri Nov  5 01:57:22 1999
               RUN 34
               RUN 79
               RUN 16
               LOCK Fri Nov  5 01:57:22 1999
               RUN 76
               RUN 12
               UNBLANK Fri Nov  5 02:05:59 1999
               The  above  shows  the screensaver activating, running three different hacks, then
               locking (perhaps because the lock-timeout went off) then unblanking  (because  the
               user  became  active, and typed the correct password.)  The hack numbers are their
               index in the `programs' list (starting with 1, not 0, as for the -select command.)

               For example, suppose you want to run a program that turns down the volume on  your
               machine  when  the  screen blanks, and turns it back up when the screen un-blanks.
               You could do that by running a Perl program like the following in the  background.
               The  following  program  tracks  the  output  of  the  -watch  command  and reacts
               accordingly:
               #!/usr/bin/perl

               my $blanked = 0;
               open (IN, "xscreensaver-command -watch |");
               while (<IN>) {
                   if (m/^(BLANK|LOCK)/) {
                       if (!$blanked) {
                           system "sound-off";
                           $blanked = 1;
                       }
                   } elsif (m/^UNBLANK/) {
                       system "sound-on";
                       $blanked = 0;
                   }
               }
               Note that LOCK might come either with or without a preceding BLANK  (depending  on
               whether the lock-timeout is non-zero), so the above program keeps track of both of
               them.

STOPPING GRAPHICS

       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 simply 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.

       You can also use xscreensaver-demo(1) to make the monitor power down after  a  few  hours,
       meaning  that xscreensaver will run graphics until it has been idle for the length of time
       you specified; and after that, the monitor will power off,  and  screen  hacks  will  stop
       being run.

DIAGNOSTICS

       If  an  error  occurs  while  communicating with the xscreensaver daemon, or if the daemon
       reports an error, a diagnostic message will be printed to stderr, and xscreensaver-command
       will  exit  with a non-zero value.  If the command is accepted, an indication of this will
       be printed to stdout, and the exit value will be zero.

ENVIRONMENT

       DISPLAY to get the host and display number of the screen whose saver is to be manipulated.

       PATH    to find the executable to restart (for the  -restart  command).   Note  that  this
               variable  is  consulted  in  the  environment of the xscreensaver process, not the
               xscreensaver-command process.

UPGRADES

       The  latest  version  of  xscreensaver(1)  and  related  tools  can  always  be  found  at
       http://www.jwz.org/xscreensaver/

SEE ALSO

       X(1), xscreensaver(1), xscreensaver-demo(1), xset(1)

COPYRIGHT

       Copyright  ©  1992,  1993,  1997,  1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 by Jamie
       Zawinski.  Permission to use, copy, modify, distribute, and sell  this  software  and  its
       documentation  for  any  purpose  is  hereby  granted without fee, provided that the above
       copyright notice appear in all copies  and  that  both  that  copyright  notice  and  this
       permission  notice  appear in supporting documentation.  No representations are made about
       the suitability of this software for any purpose.  It is provided "as is" without  express
       or implied warranty.

AUTHOR

       Jamie Zawinski <jwz@jwz.org>, 13-aug-92.

       Please let me know if you find any bugs or make any improvements.