Table of Contents
xautolock - fire up programs in case of user inactivity under X
This
man page applies to xautolock version 2.1.
- 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] [-restart]
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 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 disabled 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 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 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 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) 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 process (if there is
one and it does not have -secure switched on) to restart. In any case, the
current invocation of xautolock exits.
- 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.
The -disable, -enable, -toggle, -exit, -locknow,
-unlocknow, 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
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 always
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, 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.
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.
Kris Croes
Table of Contents