xautolock(l)xautolock(l)NAMExautolock - fire up programs in case of user inactivity
under X
VERSION
This man page applies to xautolock version 2.1.
SYNOPSISxautolock [-help] [-version] [-time mins] [-locker locker]
[-killtime killmins] [-killer killer] [-notify
margin] [-notifier notifier] [-bell percent]
[-corners xxxx] [-cornerdelay secs] [-cornerre-
delay altsecs] [-cornersize pixels] [-secure]
[-resetsaver] [-nocloseout] [-nocloseerr]
[-noclose] [-disable] [-enable] [-toggle]
[-exit] [-locknow] [-unlocknow] [-nowlocker
locker] [-restart]
DESCRIPTION
Xautolock monitors the user activity on an X Window dis-
play. 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 pri-
mary name) but it really doesn't care what program you
make it start. For this reason, xautolock does not inter-
fere with the default X screen saver, unless the -reset-
saver 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:
o You can use the -notifier option to specify the command
to be issued to perform notification.
o 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, -cor-
nerredelay 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 acti-
vate within a very short time interval after they move the
mouse into a '+' corner. This can be achieved by specify-
ing 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 if 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 dis-
abled xautolock will still be emptying its event queue.
A running xautolock process can also be told to exit
(unless if 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 xau-
tolock (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 pre-
vents the locker from writing error messages to these
files in case you manually lock your display. The
-nocloseout, -nocloseerr and -noclose options cause xau-
tolock to not close stdout and/or stderr. On some plat-
forms 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.
OPTIONS-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 speci-
fied 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 typi-
cally 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 run-
ning, 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 speci-
fied 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 typi-
cally is a Bourne shell, ~ expansion most
likely will not work.
-notify Warn the user margin seconds before lock-
ing. 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 use-
ful 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 pro-
gram, 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 imune to
the effects of -enable, -disable, -toggle,
and -exit. The default is to honour these
actions.
-nocloseout Don't close stdout.
-nocloseerr Don't close stderr.
-noclose Close neither stdout nor stderr.
-disable Disables an already running xautolock pro-
cess (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 pro-
cess (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 pro-
cess (if there is one, and it does not
have -secure switched on) between its dis-
abled and enabled modes of operation. In
any case, the current invocation of xau-
tolock exits.
-exit Causes an already running xautolock pro-
cess (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 pro-
cess (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 pro-
cess (if there is one, if it does not have
-secure switched on, and is not currently
disabled) to unlock the display immedi-
ately (if it's locked) by sending the
locker a SIGTERM signal. In any case, the
current invocation of xautolock exits.
-nowlocker Specifies the locker to be used if the
lock is initiated with -locknow option.
The default is to use the locker program
given with -locker option, which defaults
to xlock.
-restart Causes an already running xautolock pro-
cess (if there is one and it does not have
-secure switched on) to restart. In any
case, the current invocation of xautolock
exits.
RESOURCES
time Specifies the primary timeout. Numerical.
locker Specifies the locker. No quotes are
needed, even if the locker command con-
tains multiple words.
killtime Specifies the secondary timeout. Numeri-
cal.
killer Specifies the killer. No quotes are
needed, even if the killer command con-
tains multiple words.
notify Specifies the notification margin. Numeri-
cal.
notifier Specifies the notifier. No quotes are
needed, even if the notifier command con-
tains 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 corre-
sponding (default) resource specification.
KNOWN BUGS
The -disable, -enable, -toggle, -exit, -locknow, -unloc-
know, and -restart options depend on access to the X
server to do their work. This implies that they will be
suspended in case some other application has grabbed the
server all for itself.
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 prop-
agation 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 always properly handle the secure key-
board 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.
SEE ALSOX(1), xset(1), xlock(1), xnlock(1), xscreensaver(1).
COPYRIGHT
Copyright 1990, 1992-1999, 2001-2002 by Stefan De Troch
and Michel Eyckmans.
Versions 2.0 and above of xautolock are available under
version 2 of the GNU GPL. Earlier versions are available
under other conditions. For more information, see the
License file.
AUTHORS
Xautolock was conceived, written, and performed by:
Michel Eyckmans (MCE)
Stefan De Troch
Please send queries for help, feature suggestions, bug
reports, etc. to eyckmans@imec.be.
SPECIAL THANKS TO
Kris Croes
January 16, 2002 xautolock(l)