GFINGER(1)

NAME
gfinger - Local GNU finger system

SYNOPSIS
gfinger [options] [name ...]

DESCRIPTION
This site is running a customized version of the GNU finger system, which replaces the Berkeley finger(1) command. Its main advantage is that it keeps track of all machines and users on the local network, dispensing with the need to know a particular person's workstation name.

There are two basic usages. Without a name argument, information about all currently logged-in users is displayed. With one or more name specified, finger displays information about people known to the system and matching those names. The default output format is to display a one-line summary about the most recent login(s) of people (one for each machine). This gives enough information to quickly determine if somebody is currently on the system and where to reach him/her (including room number and phone extension if known).

Of course name can be of the form user@host to request finger information from any host on the Internet. In this case, however, the output format will depend entirely on the finger system running on the remote host. (Chances are that it will be something closer to the traditional Berkeley finger.) Note that user@host should be unnecessary as long as host is another local machine and user is not the special .local name (see below).

OPTIONS
A few options allow modifying the output format.

-info
    Display full information about a user, including office location, office and home phone numbers (if available), home directory and login shell, mail disposition (when last read or where forwarded), project and plan information.

-face
    Display a users face bitmap, if available. The special .faces name (see below) allows you to obtain a list of all publicly listed faces. Faces can only be displayed on Sun consoles or under the X window system. This option applies only to the name immediately following; repeat it before each user name you want a face for.

-width spec
    Changes the output width of the fields "Name", "What", "Host" and "Where" in short finger output. spec is a comma-separated list of width specifiers. A width specifier is a integer which may be preceded by `+' or `-'. Without preceeding `+' or `-' this specifier sets the width to the given number. `+' or `-' increments or decrements the width accordingly. A specifier making the width less or equal to zero supresses the field.

-l  The same as -info for backward compatibility with Berkeley finger.

SPECIAL NAMES
Several special actions by finger can be invoked by specifying one of the following strings for name:

.all
    Lists all logins. The same as not specifying any name.

.users
    Lists a one-line summary about every known user's last login (even if not currently on the system).

.local
    Lists local logins only, i.e., only for the local machine or the one specified by @host.

.faces
    Lists all available face bitmap names.

.free
    Lists all machines deemed not to be currently in use. Don't take this as an invitation to hog somebody else's workstation.

.clients
    Lists the status of all machines on the network (as far as known to finger).

.help
    Prints a short usage summary.

.site
    Prints site identification.

.version
    Gives version information.

OUTSIDE FINGERS
When the local finger system is contacted from a `non-local' host (as defined by the system administrator), .users, .free and .clients are disabled for security reasons. Note that -info and -face on a remote system require a GNU finger installed on that system.

FACE DISPLAY
Faces requested with the -face option can be displayed under either X11 or SunView. For each name a window containing the face bitmap is popped up. Several buttons request additional action.

finger
    starts an ordinary (textual) finger request to the address corresponding to the displayed face, and shows the result in a popup window.

Save
    dumps the bitmap to a file in the same directory the finger daemon uses to lookup local bitmaps. This may not be very useful for the ordinary user. Define the environment variable MUGSHOT_PATH to use a different directory instead.

Print
    sends a PostScript rendering of the face to the printer. To use a non-default printer set the environment variable PRINTER.

Quit
    pops down the window.

CUSTOMIZING FINGER INFO
You are encouraged to keep the information displayed by finger up-to-date to maximize usefulness of the system. The office and phone information displayed in the header of the long listing can be modified using the chfn(1) command. On SunOS machines, when asked for the `Name', enter a line of items separated by commas, using the format:
real name,office number,phone extension ,home phone
On Ultrix systems, chfn prompts for each of these items separately so you don't have to worry about the format.

To change what is displayed as your `Project' and `Plan' edit the files .project and .plan in your home directory, respectively. It is customary for .project to contain a one-line summary or your group or project affiliation, and to have other useful information like mailing address and travel plans in your .plan file.

The file .face in your home directory can be used to deposit a face bitmap in a site-dependent format (usually as an X11 bitmap). However, to be included in the global face listing produced by finger .faces the bitmap needs to be installed in /usr/local/images/finger.

FINGERRC SCRIPTS
The ultimate in personalized finger response is possible through the use of a .fingerrc file in your home directory. This script or program, if present and executable, is expected to generate the text you want presented in response to a `long' finger request. The file has to be an executable owned by you, not be group or world writable, and have no set user/group id flags. It is executed in your home directory, as user "nobody" to prevent accidentally giving out private information.

To make it easy to modify the default output format, the regular long finger text is given as the script's standard input. Also, three arguments are provided: the fingerer's host name or address, the word local or remote depending on where the finger request originated, and the fingerer's user name (an empty string if the name cannot be determined). If .fingerrc terminates with a non-zero exit status it is assumed to have failed. The default output is generated in this case.

FILES
~/.project
    Project description.
~/.plan
    Plan description.
~/.fingerrc
    Personalized finger info script.
~/.face
    Private face bitmap.
/usr/ucb/finger
    Original BSD finger program.
/var/spool/fingerdir//hostconfig
    Name of finger server host.
/var/spool/fingerdir//ttylocs
    List of machine and terminal locations.
/var/spool/fingerdir//targets
    Special target implementation scripts.
/usr/local/images/finger
    Public face bitmap repository.

SEE ALSO
chfn(1), finger(1), gfingerd(8), cfingerd(8), hostconfig(5), Emacs Info on finger.

BUGS
The login information for -info output is for the local machine only.

-face requires name to be the login name exactly.

Berkeley finger options other than -l are not recognized.

The .fingerrc script is executed with only a minimal environment, meaning that it has to set up a suitable PATH and other environment variables itself if needed.

.fingerrc is simply ignored on hosts where the user has no valid login shell; arguably the request should be passed on to another machine in this case.