UI(1)

NAME
ui - show information about local users

SYNOPSIS
ui [-hvVL] [-F separator] [-m separator] [-t format] [-d] [[-xXO] module1.so [options] [-- [-xXO] module2.so [options] [...]]] [-c filename] [user] | [-f filename] [...]

DESCRIPTION
ui uses loadable modules to display various information about a local user. Multiple usernames or filenames (see -f) may be specified. If no arguments are given or a username or filename is ‘-’, then arguments are read via standard input.

-d  Load the default modules (passwd.so, mail.so and login.so). This can be used anywhere in the module list.

-t format
    Specify an alternate time format for modules which have time values. See the strftime(3) manual page for format syntax.

-c filename
    Load a configuration file. May be used more than once. See below for details.

-O filename
    Load a module. The remaining switches are to be options for this module. End options for this module by specifying --. This option may by used more than once. Due to the way module chaining is implemented, the same module may be loaded more than once.

-x filename
    Like -O but chain module1.so output to module2.so input. This will only work if the module is chainable. You can specify this option more than once for unlimited chaining.

-X filename
    The same as -x but don't output module1.so info, only pass the strings to module2.so for processing.

-F separator
    Alternate character used to separate fields. Standard escape sequences are supported.

-m separator
    Alternate character used to separate multi string values. Standard escape sequences are supported.

-f  Get information for the owners of the specified files.

-L  If the -f option is specified and the file is a symbolic link, get owner information for the file the link points to and not the link itself.

-v  Be verbose when possible. Some modules may limit their display. This should show everything available. This is reset for each loaded module unless specified twice.

-h  Display help text. A module must be specified either with the -O command line option or loaded via configuration file -c for a modules help text to be displayed.

-V  Version information.

RETURN VALUES
Returns 1 on failure and 0 on success. Note that a modules return value affects this exit status.

FILES
PREFIX/lib/userinfo Default location of loadable modules.

EXAMPLES
The following will load two modules, specify module options and load a configuration file. Module options end when -- is reached.

ui -O module.so -switches -- -O another.so -- -c filename `users`

SEE ALSO
strftime(3), passwd(5), aliases(5), forward(5), utmp(5), lastlog(5), ld.so(8) dlopen(3)

CONFIGURATION FILE SYNTAX
There is no default configuration file that will be loaded so you'll have to create one and load it with the -c command-line option. Empty lines and everything to the right of a '#' are ignored. If you need a '#' in your options, escape it with a '\'. This file should contain any modules you want loaded and their options separated by one or more whitespace characters on one line per module.

Each module should have a .so filename extension. If a module filename begins with a ~, it will be expanded to your home directory. Some module options may require quoting. Single and double quotes are supported and may also be escaped with a backslash character. Multiple configuration files may be specified and may also be used with the -O command-line option. The order of module loading and output is dependent on the order of the module stack and any module options.

If you want module chaining, put a '>' or '-' at the beginning of the module name before any '~'. This is the same as specifying -x or -X on the command line, respectively. The following module, which may also be chained, will be chained to this module.

AUTHORS
Ben Kibbey <bjk@luxsci.net>