Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
boot_camp_9p_resource [2022/07/13 19:19] – [default 9p lib/profile] hc9 | boot_camp_9p_resource [2024/02/18 22:04] – [9p html directory example] ref m( hc9 |
---|
====== Boot Camp 9p resource ====== | ====== Boot Camp 9p resource ====== |
| |
|x| https://9p.sdf.org //(an amd64 plan9front<sup>1</sup> complement to the SDF Plan 9 Boot Camp<sup>2</sup>)//| | |x| https://9p.sdf.org //(an amd64 plan9front <sup>1</sup> complement to the SDF Plan 9 Boot Camp <sup>2</sup>)//| |
|x|SDF Plan 9 [[vps_-_9front#communication_resources|Boot Camp 9p communication resources]] (please ask for help)| | |x|SDF Plan 9 [[vps_-_9front#communication_resources|Boot Camp 9p communication resources]] (please ask for help)| |
| |
The [[https://9p.sdf.org|9p.sdf.org]] rio rc prompt is accessable with [[:vps_-_9front#front_drawterm|9front Drawterm]] or [[:vps_-_9front#a_9front_rcpu_application|an rcpu connection]]. A //9p.sdf.org// user name (-u USER) is required. | The [[https://9p.sdf.org|9p.sdf.org]] rio rc prompt is accessable with [[vps_-_9front#front_drawterm|9front Drawterm]] or [[vps_-_9front#a_9front_rcpu_application|an rcpu connection]]. A //9p.sdf.org// user name (-u USER) is required. |
| |
<code> | <code> |
| |
$ ./drawterm -a 9p.sdf.org -h 9p.sdf.org -u USER | $ ./drawterm -a 9p.sdf.org -h 9p.sdf.org -u USER |
</code> | </code> |
| |
|//Optional:// ''drawterm -h 9p.sdf.org -u USER''| | |//Optional:// ''drawterm -h 9p.sdf.org -u USER''||| |
|//[[:vps_-_plan9front_-_drawterm_rio_and_stats#drawterm|Optional]]:// ''drawterm -a 9p.sdf.org -h 9p.sdf.org **-p** -u USER''| | |//[[plan9front_-_drawterm_rio_and_stats#drawterm|Optional]]:// ''drawterm -a 9p.sdf.org -h 9p.sdf.org **-p** -u USER''|//[[plan9front_-_drawterm_rio_and_stats#persistent_network|persistent network]]//|| |
| |
A Drawterm rc prompt (without rio; //teletype only//): | A Drawterm rc prompt (without rio; //teletype only//): |
| |
<code> | <code> |
| |
$ ./drawterm -G -h 9p.sdf.org -u USER | $ ./drawterm -G -h 9p.sdf.org -u USER |
</code> | </code> |
| |
|x|A Drawterm [[:vps_-_9front#drawterm_and_file_transfer|file transfer]] hint:|''% lc /mnt/term''| | |x|A Drawterm [[vps_-_9front#drawterm_and_file_transfer|file transfer]] hint:|''% lc /mnt/term''| |
| |
| |x|//Please use the chmod(1) command to restrict file permissions in your home directory (/usr/USERNAME)//.| |
| |
| <code> |
| |
| % lc -l /usr | grep rwxr-xr-x |
| </code> |
| |
| | The ''%%9p.sdf.org%%'' server is shared with other users. The **//restrict file permissions//**\\ usage may vary depending on the user application. Please apply **caution** if testing\\ a different [[boot_camp_9p_resource#p_mail_example|email]] configuration. | |
| |
=== Possible "Tea Note" Presentation commands from the 9p rio rc prompt (%). === | === 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| | |bboard:|''bboard [-nps] [-r n]''|9p contrib directory| |
|broke:|''broke [ user ]'' - broken processes go away|http://man.9front.org/1/kill| | |broke:|''broke [ user ]'' - broken processes go away|http://man.9front.org/1/kill| |
|castor:|''castor [address]'' - A Gemini browser for Plan 9| | | |castor:|''castor [address]'' - A Gemini browser for Plan 9| | |
| |chmod:|chmod - change mode|http://man.9front.org/1/chmod| |
|com:|com - An early version of commode|9p contrib directory| | |com:|com - An early version of commode|9p contrib directory| |
| |delkey:|delkey - [[plan9front_-_factotum_delkey_pw|delete keys]] from factotum|http://man.9front.org/1/delkey| |
|df:|''df'' - disk usage|9p contrib directory| | |df:|''df'' - disk usage|9p contrib directory| |
|dircp:|tar, dircp - archiver|http://man.9front.org/1/tar| | |dircp:|tar, dircp - archiver|http://man.9front.org/1/tar| |
|auth/factotum:|factotum, fgui, userpasswd - authentication agent<sup>3</sup>|http://man.9front.org/4/factotum| | |auth/factotum:|factotum, fgui, userpasswd - authentication agent <sup>3</sup>|http://man.9front.org/4/factotum| |
|figlet:|FIGlet - display large characters made up of ordinary screen characters| | | |figlet:|FIGlet - display large characters made up of ordinary screen characters| | |
|find:|''find [-1dfq] [path ...]''|9p contrib directory| | |file: |file - determine file type|http://man.9front.org/1/file| |
| |find:|''find [-1dfq] [path <nowiki>...</nowiki>]'' - recursively list files.|9p contrib directory; https://man.cat-v.org/9atom/1/find| |
|finger:|''toe'' - A very basic finger client for plan9/9front.| | | |finger:|''toe'' - A very basic finger client for plan9/9front.| | |
| |fmt: |fmt, htmlfmt - simple text formatters|http://man.9front.org/1/fmt| |
| |lookman: |man, lookman, sig - print or find pages of this manual|http://man.9front.org/1/man| |
|mkhomepg:| |9p contrib directory| | |mkhomepg:| |9p contrib directory| |
|mug:|''mug'' - convert an image to a face icon|http://man.9front.org/1/mug| | |mug:|''mug'' - convert an image to a face icon|http://man.9front.org/1/mug| |
|p:|''p'' - paginate|http://man.9front.org/1/p| | |p:|''p'' - paginate|http://man.9front.org/1/p| |
| |paint:|''paint'' - create image files by drawing with a mouse or other pointing device|http://man.9front.org/1/paint| |
| |spell:|spell, sprog - find spelling errors|http://man.9front.org/1/spell| |
|src:|src, Bfn - find source code for executable|http://man.9front.org/1/src| | |src:|src, Bfn - find source code for executable|http://man.9front.org/1/src| |
|top:| |9p contrib directory| | |top:| |9p contrib directory| |
|tweak:|''tweak'' - edit image files, subfont files, face files, etc.|http://man.9front.org/1/tweak| | |tweak:|''tweak'' - edit image files, subfont files, face files, etc.|http://man.9front.org/1/tweak| |
|upas/fs -f:|upasfs - mail file server|http://man.9front.org/4/upasfs| | |upas/fs -f:|upasfs - mail file server|http://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| | |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 path|http://man.9front.org/1/walk| | |walk:|walk - walk a path|http://man.9front.org/1/walk| |
|who:|who, whois - who is using the machine|http://man.9front.org/1/who| | |who:|who, whois - who is using the machine|http://man.9front.org/1/who| |
| |
| |x|A related VPS //[[vps_-_9front#command_reminder|command reminder]]// list.| |
| |
===== bboard example ===== | ===== bboard example ===== |
| |
A [[:vps_-_plan9front_-_bboard_and_castor#p_bboard_acme_example|bboard acme example]]. | A [[plan9front_-_bboard_and_castor#p_bboard_acme_example|bboard acme example]]. |
| |
===== date and time example ===== | ===== date and time example ===== |
| |
|x|A scheduled Plan 9 Boot Camp [[:vps_-_plan_9_9front#tea_note_guide|TEA NOTE]]| | |x|A scheduled Plan 9 Boot Camp [[plan_9_9front#tea_note_guide|TEA NOTE]]| |
|x|Start the clock in a rio rc window.| | |x|Start the clock in a rio rc window.| |
| |
<code> | <code> |
| |
cpu% cp /adm/timezone/US_Pacific /env/timezone && clock.amber | cpu% cp /adm/timezone/US_Pacific /env/timezone && clock.amber |
</code> | </code> |
| |
<code> | <code> |
| |
cpu% psu -a | grep Broke | cpu% psu -a | grep Broke |
</code> | </code> |
| |
<code> | <code> |
| |
cpu% broke | cpu% broke |
</code> | </code> |
| |
<code> | <code> |
| |
cpu% broke $user | cpu% broke $user |
</code> | </code> |
| |
===== commode example ===== | ===== commode example ===== |
| |
| |**1.**|Avoid using a "**:**" (colon) in the 9p com //emote// text.|| |
| |a.|//The sequence for entering// ☺ //on an IBM keyboard is// ''ALT-:-%%)%%''.|[[plan9front_-_unicode_utf_and_fontviewer#keyboard|keyboard]]| |
| |
<code> | <code> |
| |
cpu% com | cpu% com |
| |
===== face example ===== | ===== face example ===== |
| |
A [[:vps_-_plan9front_-_mailing_and_faces|face (create and install) example]]. | A [[plan9front_-_mailing_and_faces|face (create and install) example]]. |
| |
===== castor example ===== | ===== castor example ===== |
| |
A [[:vps_-_plan9front_-_bboard_and_castor#p_castor_example|castor example]]. | A [[plan9front_-_bboard_and_castor#p_castor_example|castor example]]. |
| |
<code> | <code> |
| |
cpu% castor gemini://sdf.org | cpu% castor gemini://sdf.org |
</code> | </code> |
| |
| |
===== 9p rio rc prompt example ===== | ===== 9p rio rc prompt example ===== |
| |
<code> | <code> |
| |
cpu% echo $prompt | cpu% echo $prompt |
cpu% | cpu% |
===== 9p html directory example ===== | ===== 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 [[https://9p.sdf.org/who/|9p.sdf.org]] for a static review of the //''mkhomepg''// results. | //''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 [[https://9p.sdf.org/who/|9p.sdf.org]] for a static review of the //''mkhomepg''// results <sup>4</sup>. |
| |
|<del>''cpu% mkdir /usr/$user/html''</del>| | | <del>''cpu% mkdir /usr/$user/html''</del> | **Avoid** ''//mkdir//''; the //Strike-through Text// is a reference. | |
| |
<code> | <code> |
| |
cpu% mkhomepg | cpu% mkhomepg |
</code> | </code> |
| |
<code> | <code> |
| |
cpu% touch /usr/$user/html/index.html | cpu% touch /usr/$user/html/index.html |
</code> | </code> |
| |
<code> | <code> |
| |
cpu% sed 10q /usr/$user/html/example.html | cpu% sed 10q /usr/$user/html/example.html |
<html> | <html> |
</body> | </body> |
</html> | </html> |
cpu% | cpu% |
</code> | </code> |
| |
| ^ 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 <nowiki>https://9p.sdf.org/who/$user/index.html</nowiki>''| | |''mothra -k <nowiki>https://9p.sdf.org/who/$user/index.html</nowiki>''| |
| |
<code> | <code> |
| |
cpu% touch /usr/$user/html/index.gem | cpu% touch /usr/$user/html/index.gem |
</code> | </code> |
| |
|''castor <nowiki>gemini://9p.sdf.org/who/$user/index.gem</nowiki>''| | ^ Further 9p //gemini// functionality detail, or inquiry, may occur during the upcoming Plan 9 Boot Camp. ^^ |
| |<del>''castor <nowiki>gemini://9p.sdf.org/who/$user/index.gem</nowiki>''</del>|SDF Plan 9 Boot Camp [[plan_9_9front#plan_9_boot_camp|event and information]]| |
| |
<sup>1</sup> plan9front running natively on hardware. <sup>2</sup> NetBSD Xen [] running Plan 9 Boot Camp participants' VMs, during the announced Plan 9 Boot Camp occurrences. <sup>3</sup> [[https://9p.io/sys/doc/auth.html|Security in Plan 9]]; //The user may or may not have a secure store in which all his keys are kept.// | <sup>1</sup> plan9front running natively on hardware. <sup>2</sup> NetBSD Xen [] running Plan 9 Boot Camp participants' VMs, during the announced Plan 9 Boot Camp occurrences. <sup>3</sup> [[https://9p.io/sys/doc/auth.html|Security in Plan 9]]; //The user may or may not have a secure store in which all his keys are kept.// <sup>4</sup> The process may take longer, a few hours, or days. |
| |
===== 9p mail example ===== | ===== 9p mail example ===== |
| |
A detailed [[:vps_-_plan9front_-_mailing_and_faces#p_mail|9p mail example]]. | A detailed [[plan9front_-_mailing_and_faces#p_mail|9p mail example]]. |
| |
===== default 9p lib/profile ===== | ===== default 9p lib/profile ===== |
bind -qa $home/bin/$cputype /bin | bind -qa $home/bin/$cputype /bin |
font=/lib/font/bit/vga/unicode.font | font=/lib/font/bit/vga/unicode.font |
| touch $home/lastlogin |
switch($service){ | switch($service){ |
case terminal | case terminal |
| |
font=/lib/font/bit/vga/unicode.font | font=/lib/font/bit/vga/unicode.font |
| touch $home/lastlogin |
switch($service){ | switch($service){ |
case terminal <= THIS IS THE CASE TERMINAL LINE; no need to edit this line. | case terminal <= THIS IS THE CASE TERMINAL LINE; no need to edit this line. |
|x|Optional: the $user can omit the //webcookies//, //webfs//, //plumber//, and //upas/fs// lines to reduce number of processes initially, starting programs manually when needed.| | |x|Optional: the $user can omit the //webcookies//, //webfs//, //plumber//, and //upas/fs// lines to reduce number of processes initially, starting programs manually when needed.| |
| |
^program^combined commands^^ | ^ program ^ grouping commands ^^ |
|//abaco//|''webfs;abaco''|| | |//abaco//|''webfs;abaco''|| |
|//acme//|''plumber;upas/fs;acme''|| | |//acme//|''plumber;upas/fs;acme''|| |
|//webcookies//|''webcookies''|| | |//webcookies//|''webcookies''|| |
| |
|x|Optional: the $user can view the number of processes initially, then later after starting or stopping applications manually.| | |x|Optional: the $user can view the number of processes (numberofprocesses) initially, then later after starting or stopping applications manually.| |
| |
<code> | <code> |
| |
cpu% ps | awk '$1 !~ /^(glenda|none|upas)$/ { print $1 }' | sort | uniq -c | sort -n | cpu% ps | awk '$1 !~ /^(glenda|none|upas)$/ { print $1 }' | sort | uniq -c | sort -n |
| </code> |
| |
| ===== vt and ssh example ===== |
| |
| ^ Command ^ Option ^ Manual ^ |
| |SSH:|''ssh user@sdf.org''|http://man.9front.org/1/ssh| |
| |VT:|''vt [-f font]''|http://man.9front.org/1/vt| |
| |
| <code> |
| |
| cpu% vt |
| </code> |
| |
| === From a vt window: === |
| |
| |x|There is the possibility of entering the [[plan9front_-_factotum_delkey_pw|incorrect password]].| |
| |
| <code> |
| |
| cpu% ssh USER@sdf.org |
| |
| !Adding key: proto=pass server=sdf.org service=ssh thumb=XoXoXoXoXoXoXoXoXo user=USER |
| password: |
| ! |
| </code> |
| |
| ^ 24x80 ^ <= select 24x80 ^ |
| | crnl | | |
| | nlcr | | |
| | cooked | | |
| | blocksel | | |
| | exit | | |
| |
| |x|Press the right mouse button, while the pointer is over a vt window. Select "24x80" to toggle the vt window size.|| |
| |1.|OPTIONAL – Avoid using the //<= select 24x80// 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''//| |
| |
| <code> |
| |
| $ stty -a |
| </code> |
| |
| <file config; A snippet from the stty -a output.> |
| speed 9600 baud; 0 rows; 0 columns; queue = 1024; line = termios; |
| </file> |
| |
| <code> |
| |
| $ stty rows 24 columns 80 |
| $ stty -a |
| </code> |
| |
| <file config; A snippet from the stty -a output.> |
| speed 9600 baud; 24 rows; 80 columns; queue = 1024; line = termios; |
| </file> |
| |
| <code> |
| |
| $ exit |
| </code> |
| |
| <code> |
| |
| cpu% |
| </code> |
| |
| | 24x80 | | |
| | crnl | | |
| | nlcr | | |
| | cooked | | |
| | blocksel | | |
| ^ exit ^ <= select exit ^ |
| |
| |x|Press the right mouse button, while the pointer is over a vt window. Select "exit" to exit the vt window.| |
| |
| <code> |
| |
| cpu% |
</code> | </code> |
| |
===== Reference book ===== | ===== Reference book ===== |
| |
|x|Introduction to Operating Systems Abstractions [[https://archive.org/details/plan9designintro|Using Plan 9 from Bell Labs]] (pdf; external archive)| | |**1.**|Introduction to Operating Systems Abstractions [[https://archive.org/details/plan9designintro|Using Plan 9 from Bell Labs]] (pdf; external archive)| |
|x|Previous dedicated links are located at the [[:vps_-_plan_9_9front#links|VPS Plan 9 / 9front]] tutorial. (wiki)| | |//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 [[https://archive.org/details/plan9designintro|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| |
| |
| === Reference search === |
| |
| ^ Topic / Subject ^^^ |
| |AWK|[[https://archive.org/search.php?query=title%3A%28AWK%20programming%29|title:(AWK programming)]]|<sup>archive.org</sup>| |
| |
| |x|Previous dedicated links are located at the [[plan_9_9front#links|VPS Plan 9 / 9front]] tutorial. (wiki)| |
| |
===== Conclusion or close ===== | ===== Conclusion or close ===== |