Copyright 1994, 1998 The Open Group

Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, 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 above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of The Open Group shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization
from The Open Group.

SESSREG __appmansuffix__ 2025-03-22 __xorgversion__
NAME
sessreg - manage __utmp_manpage__/__wtmp_manpage__ entries for non-init clients
SYNOPSIS
sessreg \
[-w __wtmp_manpage__-file] \
[-u __utmp_manpage__-file] \
[-L lastlog-file]
 [-l line-name] \
[-h host-name] \
[-s slot-number]
 [-x Xservers-file] \
[-t ttys-file] \
[-V] \
[-a] \
[-d] \
user-name
DESCRIPTION
Sessreg is a simple program for managing __utmp_manpage__/__wtmp_manpage__ and lastlog entries for xdm sessions. __BEGIN_UTMP_ONLY__

System V has a better interface to utmp than BSD; it dynamically allocates entries in the file, instead of writing them at fixed positions indexed by position in __ttys_file__ .

To manage BSD-style utmp files, sessreg has two strategies. In conjunction with xdm, the -x option counts the number of lines in __ttys_file__ and then adds to that the number of the line in the Xservers file which specifies the display. The display name must be specified as the "line-name" using the -l option. This sum is used as the "slot-number" in the utmp file that this entry will be written at. In the more general case, the -s option specifies the slot-number directly. If for some strange reason your system uses a file other than __ttys_file__ to manage init, the -t option can direct sessreg to look elsewhere for a count of terminal sessions.

Conversely, System V managers will not ever need to use these options (-x, -s, and -t). To make the program easier to document and explain, sessreg accepts the BSD-specific flags in the System V environment and ignores them.

BSD and Linux also have a host-name field in the utmp file which doesn't exist in System V. This option is also ignored by the System V version of sessreg. __END_UTMP_ONLY__
__BEGIN_UTMPX_ONLY__

This version of sessreg is built using the modern POSIX pututxline (3c) interfaces, which no longer require the slot-number, ttys-file, or Xservers-file mappings. For compatibility with older versions and other operating systems, the -s, -t, and -x flags are accepted, but ignored. __END_UTMPX_ONLY__

USAGE
In Xstartup, place a call like:
 sessreg -a -l $DISPLAY -x /etc/X11/xdm/Xservers $USER
and in Xreset:
 sessreg -d -l $DISPLAY -x /etc/X11/xdm/Xservers $USER
OPTIONS
"-w __wtmp_manpage__-file"
This specifies an alternate __wtmp_manpage__ file, instead of __wtmp_file__ . The special name "none" disables writing records to the __wtmp_manpage__ file.
"-u __utmp_manpage__-file"
This specifies an alternate __utmp_manpage__ file, instead of __utmp_file__ . The special name "none" disables writing records to the __utmp_manpage__ file.
"-L lastlog-file"
This specifies an alternate lastlog file, instead of __lastlog_file__ , if the platform supports lastlog files. The special name "none" disables writing records to the lastlog file.
"-l line-name"
This describes the "line" name of the entry. For terminal sessions, this is the final pathname segment of the terminal device filename (e.g. ttyd0). For X sessions, it should probably be the local display name given to the users session (e.g. :0). If none is specified, the terminal name will be determined with ttyname (__libmansuffix__) and stripped of leading components.
"-h host-name"
This is set to indicate that the session was initiated from a remote host. In typical xdm usage, this options is not used.
"-s slot-number"
__BEGIN_UTMP_ONLY__
Each potential session has a unique slot number in BSD systems, most are identified by the position of the line-name in the __ttys_file__ " file." This option overrides the default position determined with ttyslot (__libmansuffix__). This option is inappropriate for use with xdm, the -x option is more useful. __END_UTMP_ONLY__
__BEGIN_UTMPX_ONLY__
This option is accepted for compatibility, but does nothing in this version of sessreg. __END_UTMPX_ONLY__
"-x Xservers-file"
__BEGIN_UTMP_ONLY__
As X sessions are one-per-display, and each display is entered in this file, this options sets the slot-number to be the number of lines in the ttys-file plus the index into this file that the line-name is found. __END_UTMP_ONLY__
__BEGIN_UTMPX_ONLY__
This option is accepted for compatibility, but does nothing in this version of sessreg. __END_UTMPX_ONLY__
"-t ttys-file"
__BEGIN_UTMP_ONLY__
This specifies an alternate file which the -x option will use to count the number of terminal sessions on a host. __END_UTMP_ONLY__
__BEGIN_UTMPX_ONLY__
This option is accepted for compatibility, but does nothing in this version of sessreg. __END_UTMPX_ONLY__
"-V, --version"
This option causes the command to print its version and exit.
"-a"
This session should be added to __utmp_manpage__/__wtmp_manpage__.
"-d"
This session should be deleted from __utmp_manpage__/__wtmp_manpage__. One of -a / -d must be specified.
"SEE ALSO"
xdm (__appmansuffix__), __utmp_manpage__ (__filemansuffix__), __wtmp_manpage__ (__filemansuffix__)
AUTHOR
Keith Packard, MIT X Consortium