# Example profile
#
# Note we try hard not to define any variables or functions
# here so we don't polute the users enviroment too much.
#
# When this script finishes it execs rio and starts the $user/bin/rcstartup
# script which places the users initial windows; this is mine.
#
#############################
# #!/bin/rc
#
# auth/fgui &
# if(~ $service terminal)
# window -r 0 0 200 120 stats -lmei $sysname $cpu
# if not
# window -r 0 0 200 120 stats -lmei
#
# window -r 201 0 845 120 faces -i
# window -r 1159 0 1279 120 clock
# window -r 95 212 921 734 logwin
#
##############################
#
# $user/bin/rc/startup then runs the script $user/bin/rc/logwin
# here again is mine:
#
##############################
#
# #!/bin/rc
# fortune
# calendar -y
# news
# echo
# exec rc -i
#
##############################
#my homepage for mothra
url=http://www.quintile.net/index.html
# for cvs
CVS_RSH=ssh
CVS_PASSFILE=$home/lib/cvspass
# BSD indent
INDENT_PROFILE=$home/lib/indent.pro
bind -c $home/tmp /tmp
bind -b $home/bin/rc /bin
bind -b $home/bin/$cputype /bin
# get sysname as set by ip/ipconfig
if (~ $#sysname 0)
sysname=`{cat /dev/sysname}
# no ether found (ether less laptop)
if (~ $#sysname 0)
sysname=local
# default printer whilest at home
LPDEST=canonbjc2000
# if we are at work
ndb/ipquery sys $sysname ipnet | grep -s snellwilcox && {
# use work's printer
LPDEST=slp_a3
# tell Active Directory I'am here
# see /n/sources/contrib/steve/inform.tgz
ndb/inform
}
switch($service){
case terminal
# speed up mouse
echo -n accelerated > '#m/mousectl'
echo -n 'res 3' > '#m/mousectl'
# my prefered font
font=/lib/font/bit/pelm/unicode.9.font
# use a small font on small screens, NB $spec is a local var
spec=`{cat '#i/dev/new' >[2]/dev/null} {
if (test $spec(12) -lt 1024)
font=/lib/font/bit/pelm/unicode.8.font
}
# set a function with the same name as the prompt
# so you can select a command and prompt and 'send' it
prompt=($sysname'% ' ' ')
fn $sysname%{ $* }
# stand alone (disk full) terminal will not
# have loaded factotum yet.
if(! grep -s key /mnt/factotum/ctl){
# chose where secstore data comes from
echo -n 'secstore from (secstore, floppy, none)[secstore]: '
switch(`{read}){
case secstore ''
# load up factotum from secstore
auth/secstore -G factotum >> /mnt/factotum/ctl
case floppy
# get factotum contents from floppy (if secstore is offline)
# It is stored AES encrypted on the floppy
a:
auth/aescbc -d < /n/a:/factotum | read -m >> /mnt/factotum/ctl
unmount /n/a:
eject
case none
# no network
;
}
}
If main work terminal
if(~ $sysname larch){
# attach work CIFS server
9fs dfs
}
# for abaco
webfs
# start plumber early
plumber
# for abaco and hget
webcookies
# mail
upas/fs
# start rio with scroll off
exec rio -s -i startup
case cpu
# if rio is running we have cpu'ed in
if (test -e /mnt/term/env/wsys){
# use terminal's rio
wsys = /mnt/term^`{cat /mnt/term/env/wsys}
bind -a /mnt/term/mnt/wsys /dev
# tell the terminal's rio our name (used when window hidden)
if (test -w /dev/label)
echo -n $sysname > /dev/label
# use terminal's factotum
bind /mnt/term/mnt/factotum /mnt/factotum
}
# use terminal's console driver
bind /mnt/term/dev/cons /dev/cons
bind /mnt/term/dev/consctl /dev/consctl
bind -a /mnt/term/dev /dev
# my prefered font
font=/lib/font/bit/pelm/unicode.9.font
# small font if small screen, NB $spec is a local var
spec=`{cat /dev/draw/new >[2]/dev/null} {
if (test $spec(12) -lt 1024)
font=/lib/font/bit/pelm/unicode.8.font
}
# set a function with the same name as the prompt
# so you can select a command and prompt and 'send' it
prompt=($sysname'% ' ' ')
fn $sysname%{ $* }
# true if the connection is from drawterm
if (! test -e /mnt/term/mnt/wsys){
# if its a modern drawterm with a secstore
if (test -e /mnt/term/dev/secstore){
# start a factotum
auth/factotum -n
# populate factotum from drawterm's secstore copy
cat /mnt/term/dev/secstore | read -m > /mnt/factotum/ctl
# destroy dtawterm's secstore copy for security
echo > /mnt/term/dev/secstore
}
# otherwise its an old style drawterm
if not {
# factotum will pompt for a secstore password
# and populate itself from there.
auth/factotum
}
# for abaco
webfs
# plumber early
plumber
# for hget and abaco
webcookies
# mail server
upas/fs
# start rio with scroll off
exec rio -s -i startup
}
case con
prompt=($sysname'% ' ' ')
}
|