User Tools

Site Tools


boot_camp_9p_resource

Boot Camp 9p resource

x https://9p.sdf.org (an amd64 plan9front 1) complement to the SDF Plan 9 Boot Camp 2))
xSDF Plan 9 Boot Camp 9p communication resources (please ask for help)

The 9p.sdf.org rio rc prompt is accessable with 9front Drawterm or an rcpu connection. A 9p.sdf.org user name (-u USER) is required.

  $ ./drawterm -a 9p.sdf.org -h 9p.sdf.org -u USER
Optional: drawterm -h 9p.sdf.org -u USER
Optional: drawterm -a 9p.sdf.org -h 9p.sdf.org -p -u USERpersistent network

A Drawterm rc prompt (without rio; teletype only):

  $ ./drawterm -G -h 9p.sdf.org -u USER
xA Drawterm file transfer hint:% lc /mnt/term
xPlease use the chmod(1) command to restrict file permissions in your home directory (/usr/USERNAME).
  % lc -l /usr | grep rwxr-xr-x
[:!:] 3) The 9p.sdf.org server is 4) shared with other users. The restrict file permissions
usage may vary depending on the user application. Please apply, and caution if
testing a modified email configuration.

Possible "Tea Note" Presentation commands from the 9p rio rc prompt (%).

battleship:bts, btsd - multi-user on-line battleship (sink the fleet)9p man page battleship(1)
bboard:bboard [-nps] [-r n]9p contrib directory
broke:broke [ user ] - broken processes go awayhttp://man.9front.org/1/kill
castor:castor [address] - A Gemini browser for Plan 9
chmod:chmod - change modehttp://man.9front.org/1/chmod
com:com - An early version of commode9p contrib directory
delkey:delkey - delete keys from factotumhttp://man.9front.org/1/delkey
df:df - disk usage9p contrib directory
dircp:tar, dircp - archiverhttp://man.9front.org/1/tar
auth/factotum:factotum, fgui, userpasswd - authentication agent 5)http://man.9front.org/4/factotum
figlet:FIGlet - display large characters made up of ordinary screen characters
file: file - determine file typehttp://man.9front.org/1/file
find:find [-1dfq] [path ...] - recursively list files.9p contrib directory; https://man.cat-v.org/9atom/1/find
finger:toe - A very basic finger client for plan9/9front.
fmt: fmt, htmlfmt - simple text formattershttp://man.9front.org/1/fmt
lookman: man, lookman, sig - print or find pages of this manualhttp://man.9front.org/1/man
mkhomepg: 9p contrib directory
mug:mug - convert an image to a face iconhttp://man.9front.org/1/mug
p:p - paginatehttp://man.9front.org/1/p
paint:paint - create image files by drawing with a mouse or other pointing devicehttp://man.9front.org/1/paint
spell:spell, sprog - find spelling errorshttp://man.9front.org/1/spell
src:src, Bfn - find source code for executablehttp://man.9front.org/1/src
top: 9p contrib directory
tweak:tweak - edit image files, subfont files, face files, etc.http://man.9front.org/1/tweak
upas/fs -f:upasfs - mail file serverhttp://man.9front.org/4/upasfs
uptime:uptime - show how long system has been running
vdir:vdir [-r] [directory] If the -r flag is passed, delete will recursively delete directories. (A minimalistic visual directory browser for Plan9.)9p contrib directory
walk:walk - walk a pathhttp://man.9front.org/1/walk
who:who, whois - who is using the machinehttp://man.9front.org/1/who
xA related VPS command reminder list.

bboard example

date and time example

xA scheduled Plan 9 Boot Camp TEA NOTE
xStart the clock in a rio rc window.
  cpu% cp /adm/timezone/US_Pacific /env/timezone && clock.amber

The command will pick up the new timezone, but nothing already running or not sharing the environment will be affected.

broke example

  cpu% psu -a | grep Broke
  cpu% broke
  cpu% broke $user

commode example

1.Avoid using a “:” (colon) in the 9p com emote text.
a.The sequence for enteringon an IBM keyboard is ALT-:-).keyboard
  cpu% com
  
  @help
  commode version 6
  
  @h  help
  @f  finger user
  @l  list rooms
  @p  peek into a room
  @g  goto a room
  @w  who
  @i  idlers
  @r  review 50 lines
  @R  review N lines
  @u  post a shortened url
  @a  aNONradio schedule
  @q  quit
  :   emote
  !   run a command
  

Run com in a rio rc window, rather than a vt, to benefit from the Plan 9 I/O.

face example

castor example

A castor example.

  cpu% castor gemini://sdf.org

9p rio rc prompt example

  cpu% echo $prompt
  cpu%
  cpu% prompt='9p: '
  9p:
  9p: echo $prompt
  9p:
  9p: prompt='⑨p: '
  ⑨p:

9p html directory example

mkhomepg is used to automate the process. The process includes a 5 to 10 minute wait after mkhomepg & touch, once a background task is preformed. Review 9p.sdf.org for a static review of the mkhomepg results 6).

cpu% mkdir /usr/$user/html Avoid mkdir; the Strike-through Text is a reference.
  cpu% mkhomepg
  cpu% touch /usr/$user/html/index.html
  cpu% sed 10q /usr/$user/html/example.html
  <html>
   <body>
  <h6>1st example</h6>
  
  <pre>
  2nd example
  </pre>
  
   </body>
  </html>
  cpu%
optional
1. A <title>title</title> is not necessary for the default.
a. Although, <title>a_title_that_speaks_completely</title>
must have contiguous characters.
i. A request to repair the <title></title> was acknowledged
during the Tea Note.
mothra -k https://9p.sdf.org/who/$user/index.html
mothra -k https://9p.sdf.org/~$user
https://9p.sdf.org/who/ links to all of the active homepages.

9p gemini index location

  cpu% touch /usr/$user/html/index.gem
Further 9p gemini functionality detail, or inquiry, may occur during the upcoming Plan 9 Boot Camp.
castor gemini://9p.sdf.org/who/$user/index.gemSDF Plan 9 Boot Camp event and information

9p mail example

A detailed 9p mail example.

default 9p lib/profile

The mentioned default profile may look slightly different than the SDF 9p profile.

$home/lib/profile.default
bind -qa $home/bin/rc /bin
bind -qa $home/bin/$cputype /bin
font=/lib/font/bit/vga/unicode.font
touch $home/lastlogin
switch($service){
case terminal
	webcookies
	webfs
	plumber
	echo -n accelerated > '#m/mousectl'
	echo -n 'res 3' > '#m/mousectl'
	prompt=('term% ' '	')
	fn term%{ $* }
	rio
case cpu
	bind /mnt/term/dev/cons /dev/cons
	bind -q /mnt/term/dev/consctl /dev/consctl
	>[2] /dev/null {
		cp /dev/sysname /mnt/term/dev/label
		if(wsys=`{cat /mnt/term/env/wsys} && ~ $#wsys 1) {
			wsys=/mnt/term^$wsys
		}
		if not {
			wsys=()
		}
	} 
	bind -a /mnt/term/dev /dev
	prompt=('cpu% ' '	')
	fn cpu%{ $* }
	if(! test -e /mnt/term/dev/wsys){
		# call from drawterm
		if(test -e /mnt/term/dev/secstore){
			auth/factotum -n
			read -m /mnt/term/dev/secstore >/mnt/factotum/ctl
			echo >/mnt/term/dev/secstore
		}
		if not
			auth/factotum
		webcookies
		webfs
		plumber
		rio
	}
case con
	prompt=('cpu% ' '	')
}

Useful modifications of the lib/profile above the case terminal statement.

lib/profile snippet from above "case terminal"
bind -qa $home/bin/rc /bin
bind -qa $home/bin/$cputype /bin
bind -qa /usr/sdf/bin /bin
upasname=$user@9p.sdf.org
 
font=/lib/font/bit/vga/unicode.font
touch $home/lastlogin
switch($service){
case terminal <= THIS IS THE CASE TERMINAL LINE; no need to edit this line.
xOptional: the $user can omit the upasname=$user@9p.sdf.org line if using the account without E-mail.

Useful modification of the lib/profile below the case cpu statement. Include upas/fs after plumber.

lib/profile snippet from below "case cpu"
		if not
			auth/factotum
		webcookies
		webfs
		plumber <= THIS IS THE PLUMBER LINE; no need to edit this line.
		upas/fs
		rio
xOptional: the $user can omit the webcookies, webfs, plumber, and upas/fs lines to reduce number of processes initially, starting programs manually when needed.
program grouping commands
abacowebfs;abaco
acmeplumber;upas/fs;acme
faces -iplumber;upas/fs;faces -i
comwebfs;comhget needs webfs to pull the aNONradio schedule; @a
mothra -kwebfs;mothra -k
neinbookplumber;neinbook
netsurfwebfs;netsurf
sshauth/factotum;ssh
webcookieswebcookies
xOptional: the $user can view the number of processes (numberofprocesses) initially, then later after starting or stopping applications manually.
  cpu% ps | awk '$1 !~ /^(glenda|none|upas)$/ { print $1 }' | sort | uniq -c | sort -n

vt and ssh example

Command Option Manual
SSH:ssh user@sdf.orghttp://man.9front.org/1/ssh
VT:vt [-f font]http://man.9front.org/1/vt
  cpu% vt

From a vt window:

xThere is the possibility of entering the incorrect password.
  cpu% ssh USER@sdf.org
  
  !Adding key: proto=pass server=sdf.org service=ssh thumb=XoXoXoXoXoXoXoXoXo user=USER
  password:
  !
24×80 ⇐ select 24×80
crnl
nlcr
cooked
blocksel
exit
xPress the right mouse button, while the pointer is over a vt window. Select “24×80” to toggle the vt window size.
1.OPTIONAL – Avoid using the ⇐ select 24×80 to toggle the vt.
a.$ stty rows 50 columns 100 The mentioned option requires a larger rio rc and vt window
b.$ stty rows 42 columns 86 The mentioned option requires a larger rio rc and vt window
I.cpu% wloc A wloc output example for b.: window -r 555 56 1276 745 vt100
  $ stty -a
A snippet from the stty -a output.
speed 9600 baud; 0 rows; 0 columns; queue = 1024; line = termios;
  $ stty rows 24 columns 80
  $ stty -a
A snippet from the stty -a output.
speed 9600 baud; 24 rows; 80 columns; queue = 1024; line = termios;
  $ exit
  cpu%
24×80
crnl
nlcr
cooked
blocksel
exit ⇐ select exit
xPress the right mouse button, while the pointer is over a vt window. Select “exit” to exit the vt window.
  cpu%

Reference book

1.Introduction to Operating Systems Abstractions Using Plan 9 from Bell Labs (pdf; external archive)
a.execute[d] in the background; page 97, 102, 155, 184, 247
b.mount table; page 161-164, 167-168, 327
2.Introduction to Operating Systems Abstractions Using Plan 9 from Bell Labs (pdf; external archive)
a.5.8. The file descriptor bulletin board; page 123-125
b.7.6. Local name space tricks; page 164-166
c.7.7. Device files; 166-167
d.7.8. Unions; page 167-169
e.7.11. Sand-boxing; 172-173
f.7.12. Distributed computing revisited; page 174-177
g.9 — More tools; 201
i.9.1. Regular expressions; 201-205
ii.9.2. Sorting and searching; 205-210
iii.9.3. Searching for changes; 210-214
iv.9.4. AWK; 214-219
v.9.5. Processing data; 219-224
vi.9.6. File systems; 224-228
h.14.2. The local machine; 358-359
i.14.3. Distributed security and authentication; page 359-362
j.14.4. Authentication agents; 362-367
Topic / Subject
AWKtitle:(AWK programming)archive.org
xPrevious dedicated links are located at the VPS Plan 9 / 9front tutorial. (wiki)

Conclusion or close

The wiki formatting used in this tutorial was reviewed with the SDF Plan 9 Boot Camp plan9front mothra browser, and the mothra option '-k': % mothra -k. The intention was to support those SDF Plan 9 Boot Camp participants who may participate (in the Boot Camp) with a low-speed Internet connection. The outcome of the mentioned formatting decision is pending the approval of future wiki editors. Have fun.


This wiki page was reviewed with the Plan 9 abaco, and mothra, browsers.

1)
plan9front running natively on hardware.
2)
NetBSD Xen [] running Plan 9 Boot Camp participants' VMs, during the announced Plan 9 Boot Camp occurrences.
3)
The [:!:] is interchangeable with a [CAUTION], for the abaco, and mothra browsers. :!:
4)
SDF members may avoid this [Plan 9] server‚ if seeking parity with the mentioned references: reference or reference. [:!:] external links
5)
Security in Plan 9; The user may or may not have a secure store in which all his keys are kept.
6)
The process may take longer, a few hours, or days.
boot_camp_9p_resource.txt · Last modified: 2024/02/28 20:59 by hc9