whereami(8) System Manager's Manual whereami(8)
NAME
whereami -- non-interatively ascertain the location of the computer and reconfigure the system appropriately.
SYNOPSIS
whereami [--debug ] [--scriptdebug ] [--syslog ] [--noactions ] [--nolocking ] [--mapping ] [--basedir directory ] [--statedir
directory ] [--from location_list ] [--run_from calling_program_tag ] [location_list]
DESCRIPTION
`whereami' provides a configurable and extensible framework for automatic location-detection and reconfiguration of computers, typically
laptops.
Detection
Detection is handled through the use of various network and hardware probing tools. These tools have been wrapped in small shell scripts
to interface them to whereami, but the end-user with different requirements may wish to extend these in some situations.
whereami processes the file /etc/whereami/detect.conf performing the tests specified in there in order to decide which location the com-
puter is currently located at.
For full detail on the discovery process, you should read the detect.conf (5) manpage.
Configuration
Configuration is handled through standard shell scripting. A variety of small utility scripts are provided and the author is always will-
ing to accept more.
The file /etc/whereami/whereami.conf is parsed and a script built containing the actions specified there which are associated with the
locations found during the detection phase. Actions may be configured for when leaving, remaining, or arriving at a location.
Once the script has been built, it is run to effect the necessary changes to the system configuration.
OPTIONS
This program follows the modern command-line syntax preceding each option with a double dash (`--'). Short form options are also avail-
able, but are not documented (RTFC :-)
--debug Run in debugging mode. A verbose output is provided and the resulting script is output to the screen and not executed.
--scriptdebug
Run in script debugging mode. Each script supplied with `whereami' will `set -o xtrace' if the environment variable `DEBUGWHERE-
AMI' is set to non-blank. This parameter will set that variable. The script which is built by whereami will also respond to the
environment variable.
--syslog Output some logging information to syslog. The 'user' facility is used for this, and it provides an insight into which locations
whereami has chosen, and why.
In combination with --scriptdebug above, this can be very useful for debugging your configuration. Also note that the default
installation turns this on for apm and init actions.
--noactions
Just do the detection and print the location name. Don't build and run the script from whereami.conf.
You might do this if you wanted to use whereami's detection, but use something else for configuration. Perhaps you could achieve
the same end with a very simple whereami.conf, but there should always be two ways to do anything :-).
--nolocking
whereami won't normally let two copies of whereami run at the same time. Use this option if you can come up with a scenario
where you should allow this to happen!
--mapping This will persuade whereami to do only the detection stage, and output a list of the detected locations, suitable for use as a
mapping script with ifupdown.
--hint locations
Provides some hints to the detection process. The locations set by this parameter (a comma-delimited list) may be referenced by
rules in your detect.conf.
--basedir directory
Specifies the base directory which will contain both the detect.conf and whereami.conf. The default is `/etc/whereami' which
should be right for normal use.
--statedir directory
Specifies the state directory in which whereami will write files indicating the current and previous locations (iam , iwas) and
the script which is run for this environment (whereiam.sh).
--from location_list
Overrides whereami's knowledge of where you have come from. The location_list will be a comma-separated list of the locations
which you are leaving.
Normally `whereami' maintains a history of locations, so that it knows where you have come from (and what might consequently have
to be de-configured) as well as knowing that your location has changed.
--run_from calling_program_tag
This provides a mechanism for calling software, such as init scripts, pcmcia startup or apm events, to pass some of that source
information to whereami, where it is promptly ignored, at present.
I have a possibly misguided idea that this might be useful somehow, but I can't think of any application of it at this point!
location_list
Overrides whereami's testing of where you are. The location_list will be a comma-separated list of the locations which you are
now at.
You might use this if you wished to bypass the detection phase, using some other package to handle that.
SEE ALSO
detect.conf (5), whereami.conf (5)
There is some further documentation in HTML available in /usr/share/doc/whereami/manual
FILES
/etc/whereami/detect.conf
Defines the process of detection.
/etc/whereami/whereami.conf
Defines the actions performed as a result of entering, leaving, or remaining within a particular location.
KNOWN BUGS
This man page only documents the current perl version of whereami. For backward compatibility with people's setups, it is possible to con-
figure your system to run the older shell-script, which is currently undocumented.
If you wish to switch from the shell script to the new perl program you will need to create an appropriate `detect.conf' file to define
your location detection parameters. Your existing whereami.conf file should be compatible with this version. Once you have created a
detect.conf file in /etc/whereami you should run `dpkg-reconfigure whereami' and respond to the questions.
AUTHOR
This manual page was written by Andrew McMillan <debian@mcmillan.net.nz> for the Debian GNU/Linux system (but may be used by others). Per-
mission is granted to copy, distribute and/or modify this document under the terms of the GPL version 2.
whereami(8)