by Alen Peacock
latest release: 0.8, February 7 1999

What is TkWho?

TkWho is a general purpose graphical front-end to the who, ps, and finger commands.

Okay, why?

tkwho was originally developed as a solution for dual-boot PCs running some flavor of Unix (Linux, Free-BSD, SCO, Solaris, etc.) and any other operating system (Windows 9x, Windows NT, BeOS, etc.), the problem being that the PC might get innocently rebooted into the other operating system by another user while someone is remotely logged in to the PC under Unix.

tkwho can be configured to work in conjunction with an xdm style session manager, presenting a nice display of who is currently using the machine at the login dialog.

Of course, tkwho can be used without xdm as well, as a general purpose graphical front-end to the who, ps, and finger commands.

Screen Shot

Here is what it looks like:

Here is what it looks like running with the kdm session manager. Other session management programs (xdm, gdm, etc.) should work equally well.

Usage

tkwho pops up a window showing the names of users currently logged into the system and how long they've been logged in. If the user shown is inactive, it shows how long since any activity. If the user is active, it indicates that.

Left clicking on a user will show a list of processes owned by that user. Right clicking on a user will show more information on that user, via the finger command. Passing the mouse over a user will pop up a hint showing these two options.


Download

  • RPM - tkwho-0.8-1.noarch.rpm. Tested with Red Hat 5.2. Should work on any architecture.

  • SRPM - tkwho-0.8-1.src.rpm. Note that this is really just a token SRPM -- since tkwho is a wish script, the source is included with the noarch.rpm.

  • tar gzip - tkwho-0.8-1.tar.gz. Should work on any system that supports tcl/tk, ps, finger, and grep. Tested on Red Hat 5.2. (Minor modifications may be necessary for correct ps output on non-procps based systems. Please email the author with difficulties).

Options

-center places tkwho's window in the bottom center of the screen. This is useful for login dialog placement.

-quiet causes tkwho's window to disappear until at least one user is logged on. When no users are logged on, the window disappears again.

Additionally, all the options available for the wish shell are available, including -geometry.

Configuration

To run tkwho along with an xdm-style session manager, do the following:

Edit your DisplayManager._0.setup (Xsetup) file. On my system (RH5.2), this is located at /etc/X11/xdm/Xsetup_0. You can find which file functions as DisplayManager._0.setup by viewing the /etc/X11/xdm/xdm-config file and the man page for xdm.

         /usr/bin/tkwho -center &
An example Xsetup file is shown below:
         #!/bin/sh
         # $XConsortium: Xsetup_0,v 1.3 93/09/28 14:30:31
         /usr/bin/tkwho -center &
         /opt/kde/bin/kdmdesktop
If you would like tkwho to terminate when a user logs on locally, then you should also edit your DISPLAYMANAGER.startup file, which is usually called Xstartup. On my system (RH5.2), it is /etc/X11/xdm/GiveConsole (see /etc/X11/xdm/xdm-config and the man page on xdm if you are unsure which file is set as DISPLAYMANAGER.startup). Add a line similar to the following:
         kill `/sbin/pidof -x tkwho`

Security

There may be security concerns when running tkwho in conjunction with xdm as described above. No security holes are currently known, but you may wish to read the documentation on xdm if security is a concern.

Bugs

None known at this time.

Author

Alen Peacock < apeacock@cs.byu.edu >

Change Log

0.8 - Fixed background colors on pop-ups. Added "-quiet" option.

0.7 - Pre-1.0 release candidate. Left and right click bring up user processes (ps) and user info (finger), respectively. A scrollbar is added and removed on demand.

0.6 - Again, changed the event model. (never released).

0.5 - Added 'ps' and 'finger' front-ends. (never released).

0.4 - Simplified the event model, eliminating zombie 'who' commands and "stuck" state.

0.3 - First public release.