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 computer 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 willing 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 available, 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 `DEBUGWHEREAMI' 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 configure 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). Permission
is granted to copy, distribute and/or modify this document under the terms of
the GPL version 2.