Table of Contents
xautolock - fire up programs in case of user inactivity under X
This
man page applies to xautolock patchlevel 15.
- xautolock
- [-help] [-version]
[-time mins] [-locker locker] [-killtime killmins] [-killer killer] [-notify
margin] [-notifier notifier] [-bell percent] [-corners xxxx] [-cornerdelay
secs] [-cornerredelay altsecs] [-cornersize pixels] [-secure] [-resetsaver]
[-nocloseout] [-nocloseerr] [-noclose] [-disable] [-enable] [-toggle] [-exit]
[-locknow] [-unlocknow] [-nowlocker locker]
Xautolock monitors
the user activity on an X Window display. If none is detected within mins
minutes, a program is started as specified by the -locker option. Xautolock
will typically be used to lock the screen (hence its primary name) but
it really doesn't care what program you make it start. For this reason, xautolock
does not interfere with the default X screen saver, unless the -resetsaver
option is used. This implies that it is the job of the locker or the user
to take the appropriate actions if the default screen saver is to be disabled.
The only real assumption made by xautolock is that a new countdown starts
as soon as the locker exits.
In the presence of the -notify option, a warning
signal will be issued margin seconds before starting the locker. Warning
signals come in two kinds:
·- You can use the -notifier option to specify
the command to be issued to perform notification.
·- Alternatively, you can
let xautolock ring the bell. In this case, the -bell option specifies the
loudness of the signal in percent, as described in the XBell man page.
You can tell xautolock to take special actions when you move the mouse
into one of the corners of the display and leave it there, by using the
-corners, -cornerdelay, -cornerredelay and -cornersize options. This works as
follows:
The xxxx argument to the -corners option must consist of exactly
4 characters from the following set: '0', '+', '-'. Each one of these specifies
what xautolock should do when the mouse enters a small square area located
in each of the corners of the screen. The corners are considered in the
following order: top left, top right, bottom left, bottom right. A '0' indicates
that xautolock should ignore the corner. A '+' indicates that xautolock should
start the locker after secs or altsecs seconds (see below for the difference
between both), unless the mouse is moved or keyboard input is received.
A '-' indicates that xautolock should not start the locker at all. The pixels
argument specifies the size in pixels of the corner areas.
Most users of
the -corners option want the locker to activate within a very short time
interval after they move the mouse into a '+' corner. This can be achieved
by specifying a small value for the -cornerdelay option. However, if the
mouse is subsequently left where it is, xautolock will almost immediately
start a new locker right after the user quits the current one. To prevent
this from happening, the -cornerredelay option can be used to specify the
time-out interval to be used if and only if the mouse is sitting in a `+'
corner and has not been moved since the previous locker exited.
A running
xautolock process can be disabled (unless the -secure option has been specified),
in which case it will not attempt to start the locker. To disable an already
running xautolock process, use the -disable option. To re-enable it, use -enable.
To toggle it between both states, use -toggle. Using this method is preferable
to using sending it SIGSTOP and SIGCONT signals, because while disabled
xautolock will still be emptying its event queue.
A running xautolock
process can also be told to exit (unless the -secure option has been specified).
To do this, use the -exit option.
The -killtime and -killer options allow,
amongst other things, to implement an additional automatic logout, on top
of the automatic screen locking. In the presence of one or both of these
options, a secondary timeout will be triggered killmins after starting
the locker (unless user activity is detected in the mean time). Upon expiration
of this secondary timer, the killer program is run. Note that, despite the
name of the options, xautolock really doesn't care what the killer does
in reality. If it doesn't (indirectly) cause xautolock to get killed, and
assuming that no user activity is detected, the secondary trigger will
periodically expire every killmins minutes for as long as the locker runs.
In combination with -killtime and -killer, the -secure option allows system
administrators to enforce xautolock as a part of their security procedures,
and to prevent people from locking shared displays for an excessive amount
of time. One way to achieve this is to start xautolock (using -secure and
optionally -killtime and -killer) from within XDM's Xsession file in such
a way that the session automatically ends if xautolock itself is killed.
By default xautolock closes stdout and stderr. This prevents the locker
from writing error messages to these files in case you manually lock your
display. The -nocloseout, -nocloseerr and -noclose options cause xautolock
to not close stdout and/or stderr. On some platforms users of xnlock will
need to use -nocloseout, in order to make xnlock's witty sayings show up.
These options can also be used for debugging cases in which locker invocation
is not successful.
Xautolock is capable of managing multi-headed displays.
- -help
- Print a help message and exit.
- -version
- Print the version number
and exit.
- -time
- Specifies the primary timeout interval. The default is 10
minutes, the minimum is 1 minute, and the maximum is 1 hour.
- -locker
- Specifies
the locker to be used. The default is xlock. Notice that if locker contains
multiple words, it must be specified between quotes. In order to use your
PATH to locate the program, xautolock feeds the locker command to /bin/sh,
so it should be understandable for whatever shell your /bin/sh is. Because
this typically is a Bourne shell, ~ expansion most likely will not work.
- -killtime
- Specifies the secondary timeout in minutes after starting the
locker. This timer is only active as long as the locker is running, and
is reset each time user activity is detected. If it expires before the
locker exits, the killer command is run. The default is 20 minutes, the
minimum is 10 minutes, and the maximum is 2 hours. This option is only useful
in conjunction with -killer.
- -killer
- Specifies the killer to be used. The default
is none. Notice that if killer contains multiple words, it must be specified
between quotes. In order to use your PATH to locate the program, xautolock
feeds the killr command to /bin/sh, so it should be understandable for
whatever shell your /bin/sh is. Because this typically is a Bourne shell,
~ expansion most likely will not work.
- -notify
- Warn the user margin seconds
before locking. The default is to not warn the user. If used in conjunction
with -cornerdelay or -cornerredelay, the notification margin iused is the
minimum of margin, secs and/or altsecs.
- -notifier
- Specifies the notifier
to be used. The default is none. This option is only useful in conjunction
with -notify. Notice that if notifier contains multiple words, it must be
specified between quotes. In order to use your PATH to locate the program,
xautolock feeds the notifier command to /bin/sh, so it should be understandable
for whatever shell your /bin/sh is. Because this typically is a Bourne
shell, ~ expansion most likely will not work.
- -bell
- Specifies the loudness
of the notification signal in the absence of the -notifier option. The default
is 40 percent. This option is only useful in conjunction with -notify.
- -corners
- Define special actions to be taken when the mouse enters one of the corners
of the display. The default is 0000, which means that no special action
is taken.
- -cornerdelay
- Specifies the number of seconds to wait before reacting
to the mouse entering a '+' corner. The default is 5 seconds.
- -cornerredelay
- Specifies the number of seconds to wait before reacting again if the current
locker exits while the mouse is sitting in a '+' corner. The default is for
altsecs to equal secs.
- -cornersize
- Specifies the size in pixels of the corner
areas. The default is 10 pixels.
- -resetsaver
- Causes xautolock to reset the
X screen saver after successfully starting the locker. This is typically
used in case the locker is not really intended to lock the screen, but
to replace the default X screen saver. Note that the default screen saver
is not disabled, only reset. Also note that using -resetsaver will inferfere
with the DPMS monitors, as the power down time out will also be also reset.
The default is not to reset the screen saver.
See the xset man page for
more information about managing the X screen saver.
- -secure
- Instructs xautolock
to run in secure mode. In this mode, xautolock becomes immune to the effects
of -enable, -disable, -toggle, and -exit. The default is `false'.
- -nocloseout
- Don't
close stdout.
- -nocloseerr
- Don't close stderr.
- -noclose
- Close neither stdout
nor stderr.
- -disable
- Disables an already running xautolock process (if there
is one, and it does not have -secure switched on). In any case, the current
invocation of xautolock exits.
- -enable
- Enables an already running xautolock
process (if there is one, and it does not have -secure switched on). In any
case, the current invocation of xautolock exits.
- -toggle
- Toggles an already
running xautolock process (if there is one, and it does not have -secure
switched on) between its disabled and enabled modes of operation. In any
case, the current invocation of xautolock exits.
- -exit
- Causes an already
running xautolock process (if there is one, and it does not have -secure
switched on) to exit. In any case, the current invocation of xautolock also
exits.
- -locknow
- Causes an already running xautolock process (if there is
one, if it does not have -secure switched on, and is not currently disabled)
to lock the display immediately. In any case, the current invocation of
xautolock exits.
- -unlocknow
- Causes an already running xautolock process (if
there is one, if it does not have -secure switched on, and is not currently
disabled) to unlock the display immediately (if it's locked). In any case,
the current invocation of xautolock exits.
- -nowlocker
- Specifies the locker
to be used if lock is initiated with -unlocknow option. The default is to
use the locker program given with -locker option, which defaults to xlock.
- time
- Specifies the primary timeout. Numerical.
- locker
- Specifies
the locker. No quotes are needed, even if the locker command contains multiple
words.
- killtime
- Specifies the secondary timeout. Numerical.
- killer
- Specifies
the killer. No quotes are needed, even if the killer command contains multiple
words.
- notify
- Specifies the notification margin. Numerical.
- notifier
- Specifies
the notifier. No quotes are needed, even if the notifier command contains
multiple words.
- bell
- Specifies the notification loudness. Numerical.
- corners
- Specifies the corner behaviour, as explained above.
- cornersize
- Specifies
the size of the corner areas. Numerical.
- cornerdelay
- Specifies the delay
of a '+' corner. Numerical.
- cornerredelay
- Specifies the alternative delay
of a '+' corner. Numerical.
- resetsaver
- Reset the default X screen saver. Boolean.
- nocloseout
- Don't close stdout. Boolean.
- nocloseerr
- Don't close stderr. Boolean.
- noclose
- Close neither stdout nor stderr. Boolean.
Resources can be specified
in your ~/.Xdefaults file, either for class Xautolock, or for whatever name
you renamed xautolock to. This can be useful in case xautolock is to be
used for other purposes than simply locking the screen. For example: if
you have two copies of xautolock, one called "xmonitor", and one called
"xlogout", then both will honour the following:
- Xautolock.corners: ++++
In addition, "xmonitor" will honour:
- xmonitor.cornersize: 10
while "xlogout"
will honour:
- xlogout.cornersize: 5
Each command line option takes precedence
over the corresponding (default) resource specification.
If, when
creating a window, an application waits for more than 30 seconds before
selecting KeyPress events on non-leaf windows, xautolock may interfere with
the event propagation mechanism. This effect is theoretical and has never
been observed in real life. It can only occur in case xautolock has been
compiled without support for both the Xidle and the MIT ScreenSaver extensions,
or in case the X server does not support these extensions.
xautolock does
not properly handle the secure keyboard mode of terminal emulators like
xterm, since that mode will prevent xautolock from noticing the keyboard
events occurring on the terminal. Therefore, xautolock sometimes thinks
that there is no keyboard activity while in reality there is. This can only
occur in case xautolock has been compiled without support for both the
Xidle and the MIT ScreenSaver extensions, or in case the X server does
not support these extensions.
xautolock does not check whether notifier
and/or locker are available.
The xautolock resources have dummy resource
classes.
X(1)
, xset(1)
, xlock(1)
, xnlock(1)
, xscreensaver(1)
.
Copyright
1990, 1992-1999 by S. De Troch and M. Eyckmans (MCE).
Permission to use, copy,
modify and distribute this software and the supporting documentation without
fee is hereby granted, provided that
- 1:
- Both the above copyright notice
and this permission notice appear in all copies of both the software and
the supporting documentation.
- 2:
- No commercial use is made out of it.
- THE
AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
THEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Xautolock
was conceived, written, and performed by:
Michel Eyckmans (MCE) eyckmans@imec.be
Stefan De Troch stefan@specs.philips.com
Kris Croes
croes@imec.be
Table of Contents