XLOCK(1)

NAME
xlock - Locks the local X display until a password is entered.

SYNOPSIS
xlock [ -help ] [ -version ] [ -resources ] [ -display displayname ] [ -visual visualname ] [ -name resourcename ] [ -mode modename ] [ -delay usecs ] [ -batchcount num ] [ -cycles num ] [ -saturation value ] [ -/+allowaccess ] [ -/+nolock ] [ -/+inwindow ] [ -/+inroot ] [ -/+remote ] [ -/+mono ] [ -/+allowroot ] [ -/+debug ] [ -/+echokeys ] [ -/+enablesaver ] [ -/+grabmouse ] [ -/+install ] [ -/+sound ] [ -/+timeelapsed ] [ -/+usefirst ] [ -/+verbose ] [ -nice level ] [ -lockdelay seconds ] [ -timeout seconds ] [ -font fontname ] [ -msgfont message-fontname ] [ -bg color ] [ -fg color ] [ -background color ] [ -foreground color ] [ -username string ] [ -password string ] [ -info string ] [ -validate string ] [ -invalid string ] [ -geometry geom ] [ -icongeometry geom ] [ -/+fullrandom ] [ -/+wireframe ] [ -/+use3d ] [ -delta3d value ] [ -none3d color ] [ -right3d color ] [ -left3d color ] [ -both3d color ] [ -program programname ] [ -messagesfile formatted-filename ] [ -messagefile filename ] [ -message string ] [ -mfont mode-fontname ] [ -imagefile filename ] [ -neighbors num ] [ -cpasswd crypted-password ] [ -forceLogout minutes ] [ -logoutButtonLabel textstring ] [ -logoutButtonHelp textstring ] [ -logoutFailedString textstring ] [ -/+dtsaver ] [ -locksound string ] [ -infosound string ] [ -validsound string ] [ -invalidsound string ]

DESCRIPTION
xlock locks the X server till the user enters their password at the keyboard. While xlock is running, all new server connections are refused. The screen saver is disabled. The mouse cursor is turned off. The screen is blanked and a changing pattern is put on the screen. If a key or a mouse button is pressed then the user is prompted for the password of the user who started xlock. If the correct password is typed, then the screen is unlocked and the X server is restored. When typing the password Control-U and Control-H are active as kill and erase respectively. To return to the locked screen, click in the small icon version of the changing pattern. In the lower part of the password screen a message is displayed. This message is taken from the first file of the following that exists: $HOME/.xlockmessage, $HOME/.plan, or $HOME/.signature. On systems which support new BSD style authentication, the password may be prefixed by an authentication style followed by a colon (i.e. "style:password"). See the login.conf(5) for more information on authentication styles.

NOTE ON ETIQUETTE
Xlock should not be used on public terminals when there is a high demand for them. If you find a public terminal that has been locked by another user and there are no other terminals available, and the terminal appears to have been left idle for a while (normally more than 15 minutes), it is fair to try to reset the session in some manner.

OPTIONS

-help
    Print options and a brief description to standard output.

-version
    Print version number (if >= 4.00) to standard output.

-resources
    Print default resource file to standard output.

-display displayname
    The display option sets the X11 display to lock. xlock locks all available screens on a given server, and restricts you to locking only a local server such as unix:0, localhost:0, or :0 unless you set the -remote option.

-visual visualname
    visualname which is one of "StaticGray", "GrayScale", "StaticColor", "PseudoColor", "TrueColor", or "DirectColor". May not be available depending on how it is initially configured. This is under construction.

-name resourcename
    resourcename is used instead of XLock when looking for resources to configure xlock.

-mode modename
    As of this writing there are over 60 display modes supported (plus one more for random selection of one of these).

ant Shows Langton's and Turk's generalized ants.

ball
    Shows bouncing balls.

bat Shows bouncing flying bats.

blot
    Shows Rorschach's ink blot test.

bouboule
    Shows Mimi's bouboule of moving stars.

bounce
    Shows bouncing footballs.

braid
    Shows random braids and knots.

bug Shows Palmiter's bug evolution and a garden of Eden.

cartoon
    Shows bouncing cartoons. Not compiled in by default.

clock
    Shows Packard's oclock.

daisy
    Shows a meadow of daisies.

dclock
    Shows a floating digital clock.

demon
    Shows Griffeath's cellular automata.

drift
    Shows cosmic drifting flame fractals.

eyes
    Shows eyes following a bouncing grelb.

flag
    Shows a flying flag of your operating system.

flame
    Shows cosmic flame fractals.

forest
    Shows binary trees of a fractal forest.

fract
    Shows fractals.

galaxy
    Shows crashing spiral galaxies.

gears
    Shows GL's gears. May not be available depending on how it was configured.

geometry
    Shows morphing of a complete graph.

grav
    Shows orbiting planets.

helix
    Shows string art.

hop Shows real plane iterated fractals.

hyper
    Shows a spinning tesseract in 4D space.

ico Shows a bouncing polyhedra.

ifs Shows a modified iterated function system.

image
    Shows randomly appearing logos.

julia
    Shows the Julia set.

kaleid
    Shows a kaleidoscope.

laser
    Shows spinning lasers.

life
    Shows Conway's game of life.

life1d
    Shows Wolfram's game of 1D life.

life3d
    Shows Bays' game of 3D life.

lightning
    Shows Keith's fractal lightning bolts.

lisa
    Shows animated lisajous loops.

lissie
    Shows lissajous worms.

loop
    Shows Langton's self-producing loops.

marquee
    Shows messages.

maze
    Shows a random maze and a depth first search solution.

morph3d
    Shows GL morphing polyhedra. May not be available depending on how it was configured.

mountain
    Shows Papo's mountain range.

nose
    Shows a man with a big nose runs around spewing out messages.

pacman
    Shows Pacman(tm).

pipes
    Shows a selfbuilding pipe system. May not be available depending on how it was configured.

penrose
    Shows Penrose's quasiperiodic tilings.

petal
    Shows various GCD Flowers.

puzzle
    Shows a puzzle being scrambled and then solved.

pyro
    Shows fireworks.

qix Shows spinning lines a la Qix(tm).

roll
    Shows a rolling ball.

rotor
    Shows Tom's Roto-Rooter.

shape
    Shows stippled rectangles, ellipses, and triangles.

slip
    Shows slipping blits.

sphere
    Shows a bunch of shaded spheres.

spiral
    Shows helixes of dots.

spline
    Shows colorful moving splines.

sproingies
    Shows Sproingies! Nontoxic. Safe for pets and small children. May not be available depending on how it was configured.

star
    Shows a star field with a twist.

strange
    Shows strange attractors.

superquadrics
    Shows 3D mathematical shapes. May not be available depending on how it was configured.

swarm
    Shows a swarm of bees following a wasp.

swirl
    Shows animated swirling patterns.

tri Shows a Sierpinski's triangle.

triangle
    Shows a triangular mountain range.

tube
    Shows an animated tube.

turtle
    Shows turtle fractals.

wator
    Shows Dewdney's Water-Torus planet of fish and sharks.

wire
    Shows a random circuit with 2 electrons.

world
    Shows spinning Earths.

worm
    Shows wiggly worms.

blank
    Shows nothing but a black screen. Does not show up in random mode.

bomb
    Shows a bomb and will autologout after a time. Does not show up in random mode and may be available depending on how it was configured.

random
    Shows a random mode from above except blank (and bomb).

-delay usecs
    The delay option sets the speed at which a mode will operate. It simply sets the number of microseconds to delay between batches of animations. In blank mode, it is important to set this to some small number of seconds, because the keyboard and mouse are only checked after each delay, so you cannot set the delay too high, but a delay of zero would needlessly consume cpu checking for mouse and keyboard input in a tight loop, since blank mode has no work to do.

-batchcount num
    The batchcount option sets number of things to do per batch to num . In ant mode this refers the number of ants. In ball mode it is the number of balls. In bat mode it is the number of bats, could be less because of conflicts. In blot mode this refers to the number of pixels rendered in the same color. In bouboule mode it is the number of stars. In bounce mode it is the number of balls, could be less because of conflicts. In braid mode it is the upper bound number of strands. In bug mode it is the number of bugs, could be less because of conflicts. In cartoon mode it means nothing. In clock mode it is the percentage of the screen, but less than 100%. In daisy mode it is the number flowers that make a meadow. In dclock mode it means nothing. In demon mode this refers the number of colors. In drift mode it is the number of levels to recurse (larger = more complex). In eyes mode it is the number of eyes. In flame mode it is the number of levels to recurse (larger = more complex). In forest mode it is the number trees that make a forest. In fract mode it is means nothing. In galaxy mode it means the number of galaxies. In gears mode it is means nothing. In geometry mode it is the number of vertices. In grav mode it is the number of planets. In helix mode it means nothing. In hop mode this refers to the number of pixels rendered in the same color. In hyper mode it means nothing. In ico mode it is the ith plantonic solid. In ifs mode it means nothing. In image mode it means it is the number of logos on screen at once. In julia mode it is the depth of recursion. In kaleid mode it means nothing. In laser mode it is the number lasers. In life mode it is the number of generations before a glider is introduced. In life1d mode it means nothing. In life3d mode it is the number of generations before a glider is introduced. In lisa mode it is the number of loops. In lissie mode it is the number of worms. In loop mode it means nothing. In marquee mode it means nothing. In maze mode it means nothing. In morph3d mode it is the ith plantonic solid. In mountain mode it is the number of mountains. In nose mode it means nothing. In qix mode it is the number of lines rendered in the same color. In pacman mode it means the number of ghosts. In penrose mode it means nothing. In petal mode it the greatest random number of petals. In pipes mode it shows different joints, 0 random, 1 spherical, 2 elbow, and 3 alternating. In puzzle mode it the number of moves. In pyro mode it is the maximum number flying rockets at one time. In rotor mode it is the number of points. In rotor mode it is the number of rotor thingys which whirr... In shape mode it means nothing. In slip mode it means nothing. In sphere mode it means nothing. In spiral mode it is the number of spirals. In spline mode it is the number of points "splined". In sproingies mode it is the number of sproingies. In star mode it is the number of stars on the screen at once. In strange mode it means nothing. In superquadrics mode its the number of horizontal and vertical lines in the superquadric. In swirl mode it means the number of "knots". In swarm mode it is the number of bees. In tri mode it is the number of points. In triangular mode it is the number of mountains. In tube mode it means nothing. In turtle mode it means nothing. In wator mode it means the breed time for the fish. In wire mode it means the length of the circuit. In world mode it is the number of worlds. In worm mode it is the number of worms. In blank mode it means nothing. In bomb mode it means the number of minutes to autologout. A negative batchcount allows for randomness. The range from the minimum allowed nonnegative batchcount for a particular mode to the ABS( batchcount ) (or maximum allowed batchcount , whichever is less).

-cycles num
    The cycles option sets the number of cycles until time out for ant, blot, braid, bug, clock, daisy, demon, eyes, flag, forest, galaxy, helix, hop, hyper, ico, kaleid, laser, life, life1d, life3d, lisa, lissie, loop, mountain, petal, shape, spline +erase, tri, triangle, tube, wator, and wire. For worm it is the length of the lines, for julia and spiral it is the length of the trail of dots, for qix it is the number of lines, for spline -erase it means the number of splines * 64 (for compatibility with +erase), for pipes it is the number of systems to draw before clearing the screen, for superquadrics it is not number of frames it takes to morph from one shape to another. For others it means nothing.

-size num
    The size option sets the size maximum size of a star in bouboule, pyro and star, size of ball in ball and bounce, size of bat in bat, size of clock in clock, size of polyhedron in ico, size of lissie in lissie, size of dots of flag, width of maze hallway, size of side of penrose tile, radius of loop in lisa, radius of ball in roll, size of tube in tube, width of worm in worm, size of cells in ant, bug, life, life1d, pacman, wator, and wire. In pipes it is the maximum length of a system. In sproingies it is the size of the screen. A negative number allows for randomness, similar to batchcount.

-saturation value
    The saturation option sets saturation of the color ramp used to value . 0 is grayscale and 1 is very rich color. 0.4 is a nice pastel.

+/-nolock
    The nolock option causes xlock to only draw the patterns and not lock the display. A key press or a mouse click will terminate the screen saver.

-/+inwindow
    Runs xlock in a window, so that you can iconify, move, or resize it and still use your screen for other stuff. When running in a window, xlock no longer locks your screen, it just looks good.

-/+inroot
    Runs xlock in your root window. Like the inwindow option it no longer locks the screen, it just looks good.

-/+remote
    The remote option tells xlock to not stop you from locking remote X11 servers. This option should be used with care and is intended mainly to lock X11 terminals which cannot run xlock locally. If you lock someone else's workstation, they will have to know your password to unlock it. Using +remote overrides any resource derived values for remote and prevents xlock from being used to lock other X11 servers. (Use `+' instead of `-' to override resources for other options that can take the `+' modifier similarly.)

-/+mono
    The mono option causes xlock to display monochrome, (black and white) pixels rather than the default colored ones on color displays.

-/+allowaccess
    This option is required for servers which do not allow clients to modify the host access control list. It is also useful if you need to run x clients on a server which is locked for some reason... When allowaccess is true, the X11 server is left open for clients to attach and thus lowers the inherent security of this lock screen. A side effect of using this option is that if xlock is killed -KILL, the access control list is not lost.

-/+allowroot
    The allowroot option allows the root password to unlock the server as well as the user who started xlock. May not be able to turn this on and off depending on your system and how xlock was configured.

-/+debug
    Allows xlock to be debugged by doing all but locking the screen.

-/+echokeys
    The echokeys option causes xlock to echo '?' characters for each key typed into the password prompt. Some consider this a security risk, so the default is to not echo anything.

-/+enablesaver
    By default xlock will disable the normal X server's screen saver since it is in effect a replacement for it. Since it is possible to set delay parameters long enough to cause phosphor burn on some displays, this option will turn back on the default screen saver which is very careful to keep most of the screen black.

-/+grabmouse
    The grabmouse option causes xlock to grab the mouse and keyboard, this is the default. xlock can not lock the screen without this.

-/+install
    Allows xlock to install its own colormap if xlock runs out of colors. May not work on with some window managers (fvwm) and does not work with the -inroot option.

-/+sound
    Allows you to turn on and off sound if installed with the capability.

-/+timeelapsed
    Allows you to find out how long a machine is locked so you can complain to an administrator that someone is hogging a machine.

-/+usefirst
    The usefirst option causes xlock to use the keystroke which got you to the password screen as the first character in the password. The default is to ignore the first key pressed.

-/+verbose
    Verbose mode, tells what options it is going to use.

-nice nicelevel
    The nice option sets system nicelevel of the xlock process to nicelevel .

-lockdelay seconds
    The lockdelay option sets the number of seconds before the screen needs a password to be unlocked. Good for use with an autolocking mechanism like xautolock(1).

-timeout seconds
    The timeout option sets the number of seconds before the password screen will time out.

-font fontname
    The font option sets the font to be used on the prompt screen.

-msgfont fontname
    option sets the font to be used for the message that is displayed in the lower part of the password screen.

-fg color
    The fg option sets the color of the text on the password screen to color .

-bg color
    The bg option sets the color of the background on the password screen to color .

-foreground color
    The foreground option sets the color of the text on the password screen to color .

-background color
    The background option sets the color of the background on the password screen to color .

-username string
    Text string is shown in front of user name, defaults to "Name: ".

-password string
    Text string is the password prompt string, defaults to "Password: ".

-info string
    Text string is an informational message to tell the user what to do, defaults to "Enter password to unlock; select icon to lock.".

-validate string
    Text string is a message shown while validating the password, defaults to "Validating login..."

-invalid string
    Text string is a message shown when password is invalid, defaults to "Invalid login."

-geometry geom
    The geometry option sets geom the size and offset of the lock window (normally the entire screen). The entire screen format is still used for entering the password. The purpose is to see the screen even though it is locked. This should be used with caution since many of the modes will fail if the windows are far from square or are too small (size must be greater than 0x0). This should also be used with -enablesaver to protect screen from phosphor burn.

-icongeometry geom
    The icongeometry option sets geom the size of the iconic screen (normally 64x64) seen when entering the password. This should be used with caution since many of the modes will fail if the windows are far from square or are too small (size must be greater than 0x0). The greatest size is 256x256. There should be some limit so users could see who has locked the screen. Position information of icon is ignored.

-/+fullrandom
    Turn on/off randomness options within modes. Not implemented on all mode options.

-/+wireframe
    Turn on/off wireframe, available on gears and superquadrics. Other modes should use this in the future as well (e.g. daisy, life3d, sproingies, triangle).

-/+use3d
    Turn on/off 3d view, available on bouboule, pyro, star, and worm.

-delta3d value
    Space between the center of your 2 eyes for 3d mode.

-none3d color
    Color used for empty size in 3d mode.

-right3d color
    Color used for right eye in 3d mode.

-left3d color
    Color used for left eye in 3d mode.

-both3d color
    Color used for overlapping images for left and right eye in 3d mode.

-program programname
    The program option sets the program to be used as the fortune generator. Currently used only for marquee and nose modes.

-messagesfile formatted-filename
    The messagesfile option sets the file to be used as the fortune generator. The first entry is the number of fortunes, the next line contains the first fortune. Fortunes begin with a "%%" on a line by itself. Currently used only for marquee and nose modes. If one exists, it takes precedence over the fortune program.

-messagefile filename
    The messagefile option sets the file where the contents are the message. Currently used only for marquee and nose modes. If one exists, it takes precedence over the fortune program and messagesfile.

-message textstring
    The message option sets the message. Currently used only for marquee and nose modes. If one exists, it takes precedence over the fortune program, messagesfile and messagefile.

-mfont mode-fontname
    The mfont option sets the font to be used in the mode. Currently used only for marquee and nose modes.

-imagefile filename
    The imagefile option sets the ras or xpm file to be displayed with image or puzzle mode. Raster files work with -install as well.

MORE OPTIONS (these may not be available)

-cpasswd crypted-password
    The cpasswd option sets the key to be this text string to unlock xlock instead of password file.

-forceLogout minutes
    The forceLogout option sets minutes to auto-logout.

-logoutButtonLabel string
    Text string is a message shown inside logout button when logout button is displayed. Defaults to "Logout".

-logoutButtonHelp string
    Text string is a message shown outside logout button when logout button is displayed. Defaults to "Click the \"Logout\" button to log out current\n user and make workstation available."

-logoutFailedString string
    Text string is a message shown when a logout is attempted and fails. Defaults to "Logout attempt FAILED.\n Current user could not be automatically logged out."

-/+dtsaver
    Turn on/off CDE Saver Mode.

-locksound string
    Text string references sound to use at lock time. Default sound, male voice: "Thank you, for your cooperation."

-infosound string
    Text string references sound to use for information. Default sound, male voice: "Identify please."

-validsound string
    Text string references sound to when a password is valid. Default sound, female voice: "Complete."

-invalidsound string
    Text string references sound to when a password is invalid. Default sound, female voice: "I am not programmed to give you that information."

SPECIAL MODE DEPENDENT OPTIONS

-/+truchet
    Turn on and off Truchet lines (trail) in ant.

-/+grow
    Turn on and off growing fractals (else they are animated) for drift.

-/+liss
    Turn on and off using lissojous figures to get points for drift.

-/+decay
    Turn on and off decaying orbits for grav.

-/+trail
    Turn on and off decaying trail of dots for grav.

-rule num
    Allows one to set life parameters <living_min><living_max><birth_min><birth_max>. For example, Conway's rule is 2333. Unfortunately, this requires the rule to be contiguous.

-/+totalistic
    Turn on and off totalistic rules for life1d. If this is off then it follows rules of the LCAU collection. These rules may not be symmetric and are more general.

-rule3d num
    Allows one to set life3d parameters <living_min><living_max><birth_min><birth_max>. For example, Bay's 4 rules are 4555, 5766, 5655, and 6767. Unfortunately, this requires the rule to be contiguous.

-/+ammann
    Turn on and off lines for penrose.

-/+erase
    Turn on and off erasing for spline. If this option is on, cycles should probably be set to around 10 or so else it should be much larger, around 2000. -trek num If its a high number you will see the space ship all the time in star.

-/+rock
    Turn on and off rocks for star. If this is off, stars will be seen instead.

-/+straight
    Turn on if star gets you motion sick.

-duration seconds
    Allows one to set a duration for a mode in random. Duration of 0 is defined as infinite.

-modelist textstring
    Allows one to pass a list of files to randomly display to random. "all" will get all files but blank (and bomb if compiled in). "all,blank" will get all modes. "all,-image bounce,+blank" will get all modes but image and bounce. "bug wator" will get only bug and wator. "allstable" will weed out hackers modes if compiled in, "allstandard will weed out the GL modes (as well as hackers modes) if compiled in ("allgl" will get only these modes as well as "allstable-allstandard), "allnice" will weed out high cpu usage modes (as well as hackers and gl modes). "random" can not be referenced.

-/+sequential
    Turn on non-random random option.

**WARNING**
xlock can appear to hang if it is competing with a high-priority process for the CPU. For example, if xlock is started after a process with 'nice -20' (high priority), xlock will take considerable amount of time to respond.

SHADOW PASSWORDS
If the machine is using a shadow password system, then xlock may not be set up to get the real password and so must be given one of its own. This can be either on the command line, via the -cpasswd option, or in the file $HOME/.xlockrc, with the first taking precedence. In both cases an encrypted password is expected (see makekey(8)). If neither is given, then xlock will prompt for a password and will use that, also storing an encrypted version of it in $HOME/.xlockrc for future use.

BUGS
"kill -KILL xlock " causes the server that was locked to be unusable, since all hosts (including localhost) were removed from the access control list to lock out new X clients, and since xlock could not catch SIGKILL, it terminated before restoring the access control list. This will leave the X server in a state where "you can no longer connect to that server, and this operation cannot be reversed unless you reset the server."
        -From the X11R4 Xlib Documentation, Chapter 7.
NCD terminals do not allow xlock to remove all the hosts from the access control list. Therefore you will need to use the "-remote" and "-allowaccess" switches. If you happen to run without "-allowaccess" on an NCD terminal, xlock will not work and you will need to reboot the terminal, or simply go into the SETUP menus, under 'Network Parameters', and turn off TCP/IP access control.

SEE ALSO
X(1), Xlib Documentation.

AUTHOR
Maintained by:
 David A. Bagley (bagleyd@bigfoot.com)
 The latest version is currently at:
 ftp.x.org in /contrib/applications/xlockmore-4.??.tar.gz

Original Author:
 Patrick J. Naughton     (naughton@eng.sun.com)
 Mailstop 21-14
 Sun Microsystems Laboratories, Inc.
 Mountain View, CA 94043
 415/336-1080

with many additional contributors.

COPYRIGHT
Copyright (c) 1988-91 by Patrick J. Naughton
Copyright (c) 1993-97 by David A. Bagley

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation.
The original BSD daemon is Copyright (c) 1988 Marshall Kirk McKusick. All Rights Reserved.
Sun, HP, and SGI icons have their respective copyrights.