Plan 9 from Bell Labs’s /usr/web/sources/contrib/nemo/sys/man/8/env

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


.TH ENV 8
.SH NAME
ctxrc, getrole, locate, mail2who, mkwhat, pc2who, setrole, terms, uam2who, update, who, who2uam, who2web, x10outside
\- environment and context processing
.SH SYNOPSIS
.B env/ctxrc
.PP
.B env/getrole
[
.I machine
]
.PP
.B env/locate
[
.B -n
]
[
.I newlocation
]
.PP
.B env/mail2who
.PP
.B env/mkwhat
.PP
.B env/pc2who
.PP
.B env/setrole
.PP
.B env/terms
.PP
.B env/uam2who
.PP
.B env/update
.PP
.B env/who
.PP
.B env/who2uam
.PP
.B env/who2web
.PP
.B env/x10outside
.SH DESCRIPTION
Collectivelly, these programs provide context awareness and
context handling for Plan B. Most of them are expected to be customized
by the space administrators and/or by the users to reflect the local conventions
of the environment. The programs provided reflect the setting at URJC.
.PP
Some of the programs extract
context information for users, places, and things from various sources and place the
information within
.BR /who ,
.BR /where, 
and
.BR /what .
Some other programs  use that information to
automate the environment, customize it, and generate new information.
.PP
Context information for most places, users in the environment but not
using this system, and administrative users, is extracted by executing some
of these programs in CPU servers. Context information for users is not
extracted. They are expected to arrange for some of these programs to
run on their name at any machine in the environment, and to customize
them to make them more appropriate for their particular behaviour.
Using context to automate the environment is done in the same way.
.PP
.I Ctxrc
is a script that starts all the relevant environment tools, to update context
and relevant environment devices as things change. This is run by the space
administrator at a central machine.
.PP
.I Uam2who
imports context from users at UAM, where a different, XML based, system
is run. This program updates our context file trees.
.PP
.I Pc2who
updates user status for those who are usually close to their laptop, and
use to be available when the laptop is running.
.PP
.I Mail2who
imports real world mail status from a digital image processing system, to
update information about unread mail in (real world) mail cabinets.
.PP
.I X10outside
switches on/off corridor terminals depending on the state of the motion
detectors close to them.
.PP
.I Who2uam
expors part of our local context information to a foreign, XML based, system.
This is the counterpart of
.IR uam2who .
.PP
.I Who2web
updates the
.B http://lsub.org/who
page to reflect part of our context.
.PP
.I Who
starts a
.IR ofaces (1)
program to display the face of those whose status is not
.BR away ,
i.e., of those who are in the environment.
.PP
.IR Locate
sets
.B $location
if not set, by asking the user for a suitable value. It obtains the
location from
.IR hxfs (4)
or the
.B loc
attribute in the
.IR ndb (6)
database by default.  It also updates context information at
.BR /who ,
.BR /what ,
and
.B /where
if such directories exist. Option
.B -n
assumes that there is a new location and ignores any previous
value for
.BR $location .
This program is run from
.I brc (8)
during system start up.
.PP
.I Terms
prints  the name of terminals (machines if flag
.B -a
is given)
and its role for the user if
option
.B -r
is given.
When called only with flag
.B -k
.I terms
prints the list of machines and addresses for their
.I kbdfs
keyboard redirectors. Flag
.B -m
can be used in the same way to print addresses for mouse
redirectors.
Flag
.B -a
shows not just terminals, but all machines for the user.
.PP
To help users automate how to use their (multiple) machines, different
roles are assigned to different terminals depending on their properties.
This is heavily dependent on the user preferences and the local installation.
.PP
.I Getrole
prints the role of
.I machine
(or
.B $sysname
by default) for the user who makes the call. The role is defined by a
.IR gofer (1)
program according to the location and list of devices for the machines
involved. Common roles are
.B server
for CPU servers and shared machines,
.B main
for wall sized displays,
.B remote
for machines not co-located with the user,
.B primary
for the best display available for editing,
and
.B other
for everything else.
.PP
.I Setrole
assigns a role for the machine while booting, and updates context
information to reflect that. If the
.B $role
variable is set, that value is used, otherwise
.I Getrole
determines the role for the machine.
.PP
.I Mkwhat
creates the tiny file system to contain
.B /what/$sysname
for the machine. This is used on machines that are not always
avail. Permanent stationary machines have their
.B /what
directories in the main file servers (together with
.B /who
and
.B /where
hierarchies).
.PP
.I Update
updates context for the user. This is usually run from the user's
profile. It polls the devices in the environment to determine user's
location and other standard context. Besides, part of the automation
of the environment for the user (e.g., updating the user's web page
to reflect the status) is done here as well.
.SH FILES
.TP
.BR /who ,
.BR /where ,
.BR /what .
.SH SOURCE
.B /rc/bin/env
.SH SEE ALSO
.IR x10 (1)
and 
.IR hxfs (4).
.SH BUGS
Most tools are specific and assume a setup similar
to the one at the Laboratorio de Sistemas at URJC. There is no
such thing as a generic-context-toolset.




Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.