Both sides previous revisionPrevious revisionNext revision | Previous revision |
vps_-_9front [2023/11/01 02:36] – hc9 | vps_-_9front [2024/11/30 06:31] (current) – [Discoveries or Challenges] /r8 hc9 |
---|
====== 9front on an SDF VPS ====== | ====== 9front on an SDF VPS ====== |
| |
:!: 1.) Move to the [[boot_camp_9p_resource|notes regarding 9p.sdf.org]], where the __Plan 9 Boot Camp challenges__ are taking place. 2.) A redirect to the SDF [[plan_9_9front|Plan 9 / 9Front]] home, and user contributed //Self Guided Discoveries//. :!: | |[%%:!:%%] ((The [%%:!:%%] is interchangeable with a //[CAUTION]//, for the [[plan9front_-_acme_sam_abaco_mothra_and_man#abaco|abaco]], and [[plan9front_-_acme_sam_abaco_mothra_and_man#mothra|mothra]] browsers. :!:)) 1.) Move to the [[boot_camp_9p_resource|notes regarding 9p.sdf.org]], where the __Plan 9 Boot Camp\\ challenges__ are taking place. 2.) A redirect to the SDF [[plan_9_9front|Plan 9 / 9Front]] home,\\ and user contributed //Self Guided Discoveries//. [%%:!:%%] ((The [%%:!:%%] is interchangeable with a //[CAUTION]//, for the [[plan9front_-_acme_sam_abaco_mothra_and_man#abaco|abaco]], and [[plan9front_-_acme_sam_abaco_mothra_and_man#mothra|mothra]] browsers. :!:))| |
| |
<file config /contrib/???/9front-notes> | <file config /contrib/???/9front-notes> |
=== About === | === About === |
| |
This is the tutorial for setting-up the 9front<sup>1</sup> operating system in a VPS slice on SDF. The tutorial is aimed at participants in the SDF [[:plan_9_9front#plan_9_boot_camp|Plan 9 Boot Camp]]<sup>3</sup>, but should be useful to other SDF VPS users. The //Boot Camp// participants will study virtualized //amd64 9front//. [[plan_9_9front#activities_of_the_sdf_plan_9_boot_camp_include|Previous activities of the SDF Plan 9 Boot Camp.]] | This is the tutorial for setting-up the 9front<sup>1</sup> operating system in a VPS slice on SDF. The tutorial is aimed at participants in the SDF [[plan_9_9front#plan_9_boot_camp|Plan 9 Boot Camp]]<sup>3</sup>, but should be useful to other SDF VPS users. The //Boot Camp// participants will study virtualized //amd64 9front//. [[plan_9_9front#activities_of_the_sdf_plan_9_boot_camp_include|Previous activities of the SDF Plan 9 Boot Camp.]] |
| |
|x|An //amd64 9front// [[:vps_-_9front#sdf_boot_camp_9p_resource|complement]] to the SDF Plan 9 Boot Camp arrived in 2021.| | |x|An //amd64 9front// [[vps_-_9front#sdf_boot_camp_9p_resource|complement]] to the SDF Plan 9 Boot Camp arrived in 2021.| |
| |
<sup>1</sup> [[http://fqa.9front.org/fqa1.html|Plan9front]] (or //9front//) is a fork of the //Plan 9// from [[ https://9p.io/plan9/index.html|Bell Labs operating system]]; [[wp>Plan_9_from_Bell_Labs#Derivatives_and_forks|Plan 9 Derivatives and forks]]. <sup>3</sup> [[wp>Booting|Booting]] | <sup>1</sup> [[http://fqa.9front.org/fqa1.html|Plan9front]] (or //9front//) is a fork of the //Plan 9// from [[ https://9p.io/plan9/index.html|Bell Labs operating system]]; [[wp>Plan_9_from_Bell_Labs#Derivatives_and_forks|Plan 9 Derivatives and forks]]. <sup>3</sup> [[wp>Booting|Booting]] |
|x|[[https://sdf.org/tutorials/VPS_Plan9.html#install|Machine identity #]] (Top line of the VPS Maintenance Shell menu)| | |x|[[https://sdf.org/tutorials/VPS_Plan9.html#install|Machine identity #]] (Top line of the VPS Maintenance Shell menu)| |
|x|[[vps_-_9front#shutdown_and_restart|An 's' reminder, and other options.]] (9front VPS Maintenance Shell commands)| | |x|[[vps_-_9front#shutdown_and_restart|An 's' reminder, and other options.]] (9front VPS Maintenance Shell commands)| |
|x|[[:plan9front_-_drawterm_rio_and_stats|What Drawterm am I using? Do I need another?]] ''$ ./drawterm --help'' (A 9front Drawterm comparison.)| | |x|[[plan9front_-_drawterm_rio_and_stats|What Drawterm am I using? Do I need another?]] ''$ ./drawterm --help'' (A 9front Drawterm comparison.)| |
|x|The [[http://drawterm.9front.org/|9front Drawterm]] files.| | |x|The [[http://drawterm.9front.org/|9front Drawterm]] files.| |
| |
| |
After receiving notification of an allocated VPS slice, connect by '''$ ssh //<SDF member ID>//@//<VPS slice>//.sdf.org'''. The password<sup>1</sup> is the same as your SDF member login. At the VPS Maintenance Shell menu, type '**x**' for a //Clean Install//. | After receiving notification of an allocated VPS slice, connect by '''$ ssh //<SDF member ID>//@//<VPS slice>//.sdf.org'''. The password<sup>1</sup> is the same as your SDF member login. At the VPS Maintenance Shell menu, type '**x**' for a //Clean Install//. |
| |
| |
<code> | <code> |
| |
Do you wish to continue? (yes/no) yes | Do you wish to continue? (yes/no) yes |
| |
</code> | </code> |
| |
| |
% Copying a fresh plan9 image [PLEASE WAIT] | % Copying a fresh plan9 image [PLEASE WAIT] |
| |
</code> | </code> |
| |
% Copying a fresh plan9 image [PLEASE WAIT] [COMPLETE] | % Copying a fresh plan9 image [PLEASE WAIT] [COMPLETE] |
(continue) | (continue) |
| |
</code> | </code> |
| |
bootargs is (tcp, tls, il, local!device)[local!/dev/sdC0/fscache] | bootargs is (tcp, tls, il, local!device)[local!/dev/sdC0/fscache] |
user[glenda]: | user[glenda]: |
| |
</code> | </code> |
| |
| |
<sup>1</sup> A VPS password change option is available from the VPS Maintenance Shell, after login. | <sup>1</sup> A VPS password change option is available from the VPS Maintenance Shell, after login. |
| |
==== Networking ==== | ==== Networking ==== |
| |
| |
term% cat /usr/glenda/start | term% cat /usr/glenda/start |
| |
</code> | </code> |
| |
| |
$ ./drawterm -a YOUR_IP -h YOUR_IP -u glenda | $ ./drawterm -a YOUR_IP -h YOUR_IP -u glenda |
| |
</code> | </code> |
| |
|2|Type your Drawterm password, then press [**Enter**].| | |2|Type your Drawterm password, then press [**Enter**].| |
| |
^Plan 9 Console^ Keyboard activity^ | ^ Plan 9 Console ^ Keyboard activity ^ |
|**auth[your.IP.exhibt.here]:**| <= Press [**Enter**] once.| | |**auth[your.IP.exhibt.here]:**| <= Press [**Enter**] once.| |
|**glenda@plan9 dp9ik password:**| <= Type your **Drawterm password**, then press [**Enter**]| | |**glenda@plan9 dp9ik password:**| <= Type your **Drawterm password**, then press [**Enter**]| |
=== From rio: === | === From rio: === |
| |
^ New ^ <= release the button here^ | ^ New ^ <= release the button here ^ |
| Resize | | | | Resize | | |
| Move | | | | Move | | |
| Resize | | | | Resize | | |
| Move | | | | Move | | |
^ Delete ^<= delete a window gracefully^ | ^ Delete ^ <= delete a window gracefully ^ |
| Hide | | | | Hide | | |
| |
| Move | | | | Move | | |
| Delete | | | | Delete | | |
^ Hide ^<= hide a window^ | ^ Hide ^ <= hide a window ^ |
| |
|There is a “Hide” option in addition to the “New” option.| | |There is a “Hide” option in addition to the “New” option.| |
=== A 9front Drawterm note: === | === A 9front Drawterm note: === |
| |
^Command^ 9front Drawterm output^ | ^ Command ^ 9front Drawterm output ^ |
|''$ ./drawterm <nowiki>--</nowiki>help''|''usage: drawterm [-GBO] [**-h** host] [**-u** user] [-a authserver] [-s secstore] [-e 'crypt hash'] [-k keypattern] [-p] [-t timeout] [-r root] [-g geometry] [-c cmd <nowiki>...</nowiki>]''| | |''$ ./drawterm <nowiki>--</nowiki>help''|''usage: drawterm [-GBO] [**-h** host] [**-u** user] [-a authserver] [-s secstore] [-e 'crypt hash'] [-k keypattern] [-p] [-t timeout] [-r root] [-g geometry] [-c cmd <nowiki>...</nowiki>]''| |
| |
[/path/to/local/directory] | [/path/to/local/directory] |
[/path/to/local/directory] mdkir foobar | [/path/to/local/directory] mdkir foobar |
| |
</code> | </code> |
| |
/mnt/term/foobar | /mnt/term/foobar |
cpu% touch screenshot.challenge.txt | cpu% touch screenshot.challenge.txt |
| |
</code> | </code> |
| |
=== local os: === | === local os: === |
| |
^Drawterm^ application^ | ^ Drawterm ^ application ^ |
|Quit|<= select quit| | |Quit|<= select quit| |
| |
| Delete | | | | Delete | | |
| Hide | | | | Hide | | |
^ Exit ^<= exit ''rio''^ | ^ Exit ^ <= exit ''rio'' ^ |
| |
| **1.** |At the rio grey screen, press the right button of your mouse. A menu (above) should appear.\\ Then, release the button over the ''Exit'' option. A //skull face// pointer (☠) will appear.| | | **1.** |At the rio grey screen, press the right button of your mouse. A menu (above) should appear.\\ Then, release the button over the ''Exit'' option. A //skull face// pointer (☠) will appear.| |
| i. |Confirm the ''Exit'' with a mouse button 3 press.| | | i. |Confirm the ''Exit'' with a mouse button 3 press.| |
| b. |Press the ''Enter'' key once to locate the prompt (%).| | | b. |Press the ''Enter'' key once to locate the prompt (%).| |
| i. |At the prompt (%) type ''exit'', then press the ''Enter'' key, to **exit drawterm**. :!: The mentioned //''exit''//\\ is intended as a topic for Boot Camp [[vps_-_9front#communication_resources|discussion]]. Review [[vps_-_9front#closing_drawterm|closing drawterm]], the way to quit Plan 9 drawterm.| | | i. |At the prompt (%) type ''exit'', then press the ''Enter'' key, to **exit drawterm**. [%%:!:%%] ((The [%%:!:%%] is interchangeable with a //[CAUTION]//, for the [[plan9front_-_acme_sam_abaco_mothra_and_man#abaco|abaco]], and [[plan9front_-_acme_sam_abaco_mothra_and_man#mothra|mothra]] browsers. :!:)) The mentioned //''exit''//\\ is intended as a topic for Boot Camp [[vps_-_9front#communication_resources|discussion]]. Review [[vps_-_9front#closing_drawterm|closing drawterm]], the way to quit Plan 9 drawterm.| |
| ii. |At the prompt (%) type ''rio'', then press the ''Enter'' key, to start rio.| | | ii. |At the prompt (%) type ''rio'', then press the ''Enter'' key, to start rio.| |
| **2.** |Try item **1.**, or ''Exit'', while running ''rio'' inside another ''rio'' window.| | | **2.** |Try item **1.**, or ''Exit'', while running ''rio'' inside another ''rio'' window.| |
| |
=== Binary Executables === | === Binary Executables === |
| |
Pre compiled Drawterm executables can be downloaded from the following links: | Pre compiled Drawterm executables can be downloaded from the following links: |
* https://9p.sdf.org/drawterm **(OS X, Debian, Win 10)** | * https://9p.sdf.org/drawterm **(OS X, Debian, Win 10)** |
| |
=== Building from Source (Linux and UNIX) === | === Building from Source (Linux and UNIX) === |
| |
If you have "git" installed, you can grab a copy by running something like the following in a terminal. | If you have "git" installed, you can grab a copy by running something like the following in a terminal. |
| |
| |
% echo 'auth=9p.sdf.org authdom=9sdf' >> /lib/ndb/local | % echo 'auth=9p.sdf.org authdom=9sdf' >> /lib/ndb/local |
| |
</code> | </code> |
| |
term% ps | grep factotum | term% ps | grep factotum |
glenda 130 0:00 0:00 168K Pread factotum | glenda 130 0:00 0:00 168K Pread factotum |
| |
</code> | </code> |
| |
| |
term% auth/factotum | term% auth/factotum |
| |
</code> | </code> |
| |
password: | password: |
! | ! |
| |
</code> | </code> |
| |
| |
cpu% cd $home | cpu% cd $home |
| |
</code> | </code> |
| |
| |
cpu% rio | cpu% rio |
| |
</code> | </code> |
| |
|x|Start ''[[:vps_-_9front#command_reminder|stats -lmisce]]'' in a new rio<sup>1</sup><sup>,</sup><sup>2</sup> rc window:| | |x|Start ''[[vps_-_9front#command_reminder|stats -lmisce]]'' in a new rio<sup>1</sup><sup>,</sup><sup>2</sup> rc window:| |
| |
<code> | <code> |
| |
cpu% stats -lmisce | cpu% stats -lmisce |
| |
</code> | </code> |
| |
% echo 'delkey proto=dp9ik dom=9sdf user=USER' > /mnt/factotum/ctl | % echo 'delkey proto=dp9ik dom=9sdf user=USER' > /mnt/factotum/ctl |
% | % |
| |
</code> | </code> |
| |
<sup>1</sup> [[:vps_-_9front#from_rio|More about rio]] <sup>2</sup> [[:plan9front_-_drawterm_rio_and_stats|More details about rio]] | <sup>1</sup> [[vps_-_9front#from_rio|More about rio]] <sup>2</sup> [[plan9front_-_drawterm_rio_and_stats|More details about rio]] |
| |
===== 9front VPS update tasks ===== | ===== 9front VPS update tasks ===== |
| |
IV.) Your system should boot completely up-to-date. | IV.) Your system should boot completely up-to-date. |
| |
</file> | </file> |
| |
5. cd /sys/src | 5. cd /sys/src |
6. mk install | 6. mk install |
| |
</file> | </file> |
| |
OR //([[:vps_-_9front#clean_or_nuke|only if necessary]])// | OR //([[vps_-_9front#clean_or_nuke|only if necessary]])// |
| |
|x|This __will__ take time.| | |x|This __will__ take time.| |
5. cd /sys/src | 5. cd /sys/src |
6. mk install | 6. mk install |
| |
</file> | </file> |
| |
5. cd /sys/src | 5. cd /sys/src |
6. mk install | 6. mk install |
| |
</file> | </file> |
| |
OR //([[:vps_-_9front#clean_or_nuke|only if necessary]])// | OR //([[vps_-_9front#clean_or_nuke|only if necessary]])// |
| |
|x|This may take time.| | |x|This may take time.| |
5. cd /sys/src | 5. cd /sys/src |
6. mk install | 6. mk install |
| |
</file> | </file> |
| |
| |
% lc -l /mnt/term | % lc -l /mnt/term |
| |
</code> | </code> |
| |
| look | | | | look | | |
| send | | | | send | | |
^ scroll ^<= toggle window scroll^ | ^ scroll ^ <= toggle window scroll ^ |
| |
|x|Press the middle mouse button, while the pointer is over a rio window. Select "scroll" to toggle the window scroll (on/off).| | |x|Press the middle mouse button, while the pointer is over a rio window. Select "scroll" to toggle the window scroll (on/off).| |
hit.html | hit.html |
% | % |
| |
</code> | </code> |
| |
| |
% cat /usr/$user/lib/profile | grep rio | % cat /usr/$user/lib/profile | grep rio |
| |
</code> | </code> |
| |
| |
|x|Riostart is located here: $home/bin/rc/riostart| | |x|Riostart is located here: $home/bin/rc/riostart| |
|x|rio [[:plan9front_-_drawterm_rio_and_stats#rio|customization details]]| | |x|rio [[plan9front_-_drawterm_rio_and_stats#rio|customization details]]| |
| |
{{::wloc.png?800|}} | {{::wloc.png?800|}} |
|x|Some 9front plumber rules are located in /sys/lib/plumb/basic| | |x|Some 9front plumber rules are located in /sys/lib/plumb/basic| |
|x|Some 9front plumber rules are located in /mnt/plumb/rules| | |x|Some 9front plumber rules are located in /mnt/plumb/rules| |
| |
| === plumb to web: === |
| |
| An existing ''/mnt/plumb/rules'' example. <file config #plumb to web> |
| |
| type is text |
| data matches 'https?://[^ ]+' |
| plumb to web |
| plumb client window $browser |
| </file> |
| |
| |x| Users connecting with linux Drawterm may find this plumber rule useful. | |
| |
| A user created profile ''/usr/$user/lib/plumbing'' example. [%%:FIXME:%%] ((The [%%:FIXME:%%] is interchangeable with a //[%%FIXME%%]//, for the [[plan9front_-_acme_sam_abaco_mothra_and_man#abaco|abaco]], and [[plan9front_-_acme_sam_abaco_mothra_and_man#mothra|mothra]] browsers. FIXME)) <file config #Webstuff goes to linux Drawterm> |
| |
| type is text |
| data matches 'https?://[^ ]+' |
| plumb to web |
| plumb start os firefox $0 |
| </file> |
| |
=== At the rio rc prompt: === | === At the rio rc prompt: === |
@{echo kill>/proc/612/ctl} # webfs | @{echo kill>/proc/612/ctl} # webfs |
@{echo kill>/proc/683/ctl} # webfs | @{echo kill>/proc/683/ctl} # webfs |
| |
</code> | </code> |
| |
| plumb | | | | plumb | | |
| look | | | | look | | |
^ send ^<= release the middle mouse button here^ | ^ send ^ <= release the middle mouse button here ^ |
| noscroll | | | | noscroll | | |
| |
cpu% touch test.edit | cpu% touch test.edit |
cpu% sam test.edit | cpu% sam test.edit |
| |
</code> | </code> |
| |
bind -c /n/other/usr/glenda/tmp /usr/glenda/tmp | bind -c /n/other/usr/glenda/tmp /usr/glenda/tmp |
bind -c /n/other/usr/glenda/tmp /tmp | bind -c /n/other/usr/glenda/tmp /tmp |
| |
</code> | </code> |
| |
==== Editors ==== | ==== Editors ==== |
| |
|x|The "Plan 9 on an SDF VPS" [[:plan9front_-_acme_sam_abaco_mothra_and_man|applications]] tutorial (Sam, Ed, and Acme) applies to this tutorial.| | |x|The "Plan 9 on an SDF VPS" [[plan9front_-_acme_sam_abaco_mothra_and_man|applications]] tutorial (Sam, Ed, and Acme) applies to this tutorial.| |
| |
|x|SAM:|sam<sup>1</sup>, B, sam.save, samterm - screen editor with structural regular expressions|http://man.9front.org/1/sam| | |x|SAM:|sam<sup>1</sup>, B, sam.save, samterm - screen editor with structural regular expressions|http://man.9front.org/1/sam| |
% cp /usr/glenda/lib/profile /usr/glenda/lib/EDprofile | % cp /usr/glenda/lib/profile /usr/glenda/lib/EDprofile |
% sam /usr/glenda/lib/EDprofile | % sam /usr/glenda/lib/EDprofile |
| |
</code> | </code> |
| |
| write | | | | write | | |
| ~~sam~~ | | | | ~~sam~~ | | |
^ - /lib/EDprofile ^<= release the right mouse button here^ | ^ - /lib/EDprofile ^ <= release the right mouse button here ^ |
| |
|A few words about '**w**' writing the file, and how to '**q**' quit sam.| | |A few words about '**w**' writing the file, and how to '**q**' quit sam.| |
| plumb | | | | plumb | | |
| look | | | | look | | |
^ <rio> ^<= toggle cut&paste buffer^ | ^ <rio> ^ <= toggle cut&paste buffer ^ |
| send | | | | send | | |
| |
|''% sam -d''| Editing will be done with the command language only, as in //ed//.| | |''% sam -d''| Editing will be done with the command language only, as in //ed//.| |
| |
^Command^ Option^ Quick Reference^ | ^ Command ^ Option ^ Quick Reference ^ |
|SAM:|''sam -d''|http://sam.cat-v.org/cheatsheet/| | |SAM:|''sam -d''|http://sam.cat-v.org/cheatsheet/| |
| |
Ed is a text editor, and similar to 'sam -d'. | Ed is a text editor, and similar to 'sam -d'. |
| |
|x|ed Cheat Sheet|[[:ed Cheat Sheet|]] tutorial. (wiki)| | |x|ed Cheat Sheet|[[ed Cheat Sheet|]] tutorial. (wiki)| |
|x|ed Cheat Sheet|[[http://sdf.org/?tutorials/ed|]] (tutorials, compatible with Plan 9 abaco, or mothra)| | |x|ed Cheat Sheet|[[http://sdf.org/?tutorials/ed|]] (tutorials, compatible with Plan 9 abaco, or mothra)| |
| |
| |
% acme | % acme |
| |
</code> | </code> |
| |
^Newcol Kill Putall Dump Exit^ | ^ Newcol Kill Putall Dump Exit ^ |
|**New Cut Paste Snarf Sort Zerox Delcol**| | |**New Cut Paste Snarf Sort Zerox Delcol**| |
| |
| |
% acme SDF_User_Contributed_Tutorials.html | % acme SDF_User_Contributed_Tutorials.html |
| |
</code> | </code> |
| |
^Newcol Kill Putall Dump Exit^^^ | ^ Newcol Kill Putall Dump Exit ^^^ |
|**New Cut Paste Snarf Sort Zerox Delcol**|:::|| | |**New Cut Paste Snarf Sort Zerox Delcol**|:::|| |
|**//SDF_User_Contributed_Tutorials.html//** **Del Snarf : Look**|:::|<= Replace //Look// with //Edit ,s/Booting/Rowing/g//| | |**//SDF_User_Contributed_Tutorials.html//** **Del Snarf : Look**|:::|<= Replace //Look// with //Edit ,s/Booting/Rowing/g//| |
| |
^Newcol Kill Putall Dump Exit^ | ^ Newcol Kill Putall Dump Exit ^ |
|**New Cut Paste Snarf Sort Zerox Delcol**| | |**New Cut Paste Snarf Sort Zerox Delcol**| |
|**//SDF_User_Contributed_Tutorials.html//** **Del Snarf : Edit ,s/Booting/Rowing/g**| | |**//SDF_User_Contributed_Tutorials.html//** **Del Snarf : Edit ,s/Booting/Rowing/g**| |
<sup>1</sup><a href="https://en.wikipedia.org/wiki/ASCII_art" class="interwiki iw_wp" title="https://en.wikipedia.org/wiki/ASCII_art">ASCII art</a> <sup>2</sup> <a href="http://fqa.9front.org/fqa1.html" class="urlextern" title="http://fqa.9front.org/fqa1.html" rel="ugc nofollow">Plan9front</a> (or <em>9front</em>) is a fork of the <em>Plan 9</em> from <a href="https://9p.io/plan9/index.html" class="urlextern" title="https://9p.io/plan9/index.html" rel="ugc nofollow">Bell Labs operating system</a>; <a href="https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs#Derivatives_and_forks" class="interwiki iw_wp" title="https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs#Derivatives_and_forks">Plan 9 Derivatives and forks</a>. <sup>3</sup> <a href="https://en.wikipedia.org/wiki/Booting" class="interwiki iw_wp" title="https://en.wikipedia.org/wiki/Booting">Booting</a> | <sup>1</sup><a href="https://en.wikipedia.org/wiki/ASCII_art" class="interwiki iw_wp" title="https://en.wikipedia.org/wiki/ASCII_art">ASCII art</a> <sup>2</sup> <a href="http://fqa.9front.org/fqa1.html" class="urlextern" title="http://fqa.9front.org/fqa1.html" rel="ugc nofollow">Plan9front</a> (or <em>9front</em>) is a fork of the <em>Plan 9</em> from <a href="https://9p.io/plan9/index.html" class="urlextern" title="https://9p.io/plan9/index.html" rel="ugc nofollow">Bell Labs operating system</a>; <a href="https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs#Derivatives_and_forks" class="interwiki iw_wp" title="https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs#Derivatives_and_forks">Plan 9 Derivatives and forks</a>. <sup>3</sup> <a href="https://en.wikipedia.org/wiki/Booting" class="interwiki iw_wp" title="https://en.wikipedia.org/wiki/Booting">Booting</a> |
</p> | </p> |
| |
</file> | </file> |
| |
==== Mothra ==== | ==== Mothra ==== |
| |
|x|The "Plan 9 on an SDF VPS" [[:plan9front_-_acme_sam_abaco_mothra_and_man|Browsing the web]] tutorial (Abaco) applies to this tutorial.| | |x|The "Plan 9 on an SDF VPS" [[plan9front_-_acme_sam_abaco_mothra_and_man|Browsing the web]] tutorial (Abaco) applies to this tutorial.| |
| |
mothra - retrieve and display World-Wide Web files | mothra - retrieve and display World-Wide Web files |
| |
% mothra | % mothra |
| |
</code> | </code> |
| |
% webfs; mothra -k | % webfs; mothra -k |
% | % |
| |
</code> | </code> |
| |
| plumb | | | | plumb | | |
| look | | | | look | | |
^ send ^<= release the middle mouse button here^ | ^ send ^ <= release the middle mouse button here ^ |
| noscroll | | | | noscroll | | |
| |
| plumb | | | | plumb | | |
| search | | | | search | | |
^ save hit ^<= release the right mouse button here^ | ^ save hit ^ <= release the right mouse button here ^ |
| hit list | | | | hit list | | |
| exit | | | | exit | | |
<body><h1>Hit list</h1> | <body><h1>Hit list</h1> |
<p><a href="http://wiki.sdf.org/doku.php?id=plan_9_9front">http://wiki.sdf.org/doku.php?id=plan_9_9front</a> | <p><a href="http://wiki.sdf.org/doku.php?id=plan_9_9front">http://wiki.sdf.org/doku.php?id=plan_9_9front</a> |
| |
</file> | </file> |
| |
done halting | done halting |
cpu% | cpu% |
| |
</code> | </code> |
| |
done halting | done halting |
term% | term% |
| |
</code> | </code> |
| |
|x|From the VPS Maintenance Shell enter '**s**' - force shutdown, then enter '**r**' - reset or start, or '**q**' - disconnect. Enter '**l**' to list your status.| | |x|From the VPS Maintenance Shell enter '**s**' - force shutdown, then enter '**r**' - reset or start, or '**q**' - disconnect. Enter '**l**' to list your status.| |
| |
|x|From the VPS Maintenance Shell enter '**s**' - force shutdown before starting the SDF 9front VPS. Ping the SDF Plan 9 VPS IP address ([[:plan9front_-_ed_network_configuration|YOUR_IP]]) to determine if the VPS is running with networking.| | |x|From the VPS Maintenance Shell enter '**s**' - force shutdown before starting the SDF 9front VPS. Ping the SDF Plan 9 VPS IP address ([[plan9front_-_ed_network_configuration|YOUR_IP]]) to determine if the VPS is running with networking.| |
| |
<code> | <code> |
| |
$ ping YOUR_IP | $ ping YOUR_IP |
| |
</code> | </code> |
| |
|x|Previously mentioned commands from //Plan 9 on an SDF VPS//.| | |x|Previously mentioned commands from //Plan 9 on an SDF VPS//.| |
| |
^Command^ Option^ Manual^ | ^ Command ^ Option ^ Manual ^ |
|ABACO:| ''abaco''|http://man.9front.org/1/abaco| | |ABACO:| ''abaco''|http://man.9front.org/1/abaco| |
|ACME:| ''acme''|http://man.9front.org/1/acme| | |ACME:| ''acme''|http://man.9front.org/1/acme| |
% topng </dev/screen >screenshot.png | % topng </dev/screen >screenshot.png |
% png screenshot.png | % png screenshot.png |
| |
</code> | </code> |
| |
% topng </dev/window >window.png | % topng </dev/window >window.png |
% png window.png | % png window.png |
| |
</code> | </code> |
| |
% topng </dev/wsys/10/window >window.png | % topng </dev/wsys/10/window >window.png |
% png window.png | % png window.png |
| |
</code> | </code> |
| |
| |
% winwatch | % winwatch |
| |
</code> | </code> |
| |
^Command^ Example^ | ^ Command ^ Example ^ |
|TOPNG:|% ''topng </dev/screen >screenshot.png''| | |TOPNG:|% ''topng </dev/screen >screenshot.png''| |
| |
|x|'[[#front_vps_update_tasks|sysupdate]]' is reserved for the user glenda (Thu Jan 14 08:07:38 GMT 2021).| | |x|'[[#front_vps_update_tasks|sysupdate]]' is reserved for the user glenda (Thu Jan 14 08:07:38 GMT 2021).| |
| |
^ Section^ FQA 7 - System Management^ | ^ Section ^ FQA 7 - System Management ^ |
|7.3.1 - Adding users|http://fqa.9front.org/fqa7.html| | |7.3.1 - Adding users|http://fqa.9front.org/fqa7.html| |
|7.4.2 - Adding users|http://fqa.9front.org/fqa7.html| | |7.4.2 - Adding users|http://fqa.9front.org/fqa7.html| |
>>> q | >>> q |
% | % |
| |
</code> | </code> |
| |
The following steps assume that you have [[:plan9front_-_acme_sam_abaco_mothra_and_man|edited]] files while user "glenda", have run '[[#shutdown_and_restart|% fshalt]]' from the [[#shutdown_and_restart|VPS console]] rc prompt (%) or Drawterm rio rc prompt (%), been able to "[[#shutdown_and_restart|[s] - Force Shutdown]]" and "[[#shutdown_and_restart|[r] - reset or start]]" the VM from the VPS Maintenance Shell, and have used 9front Drawterm successfully. Enter the new "USER" name after an '**fshalt**' and a VPS Maintenance Shell [**s**] - //Force Shutdown// and [**r**] - //reset or start//. | The following steps assume that you have [[plan9front_-_acme_sam_abaco_mothra_and_man|edited]] files while user "glenda", have run '[[#shutdown_and_restart|% fshalt]]' from the [[#shutdown_and_restart|VPS console]] rc prompt (%) or Drawterm rio rc prompt (%), been able to "[[#shutdown_and_restart|[s] - Force Shutdown]]" and "[[#shutdown_and_restart|[r] - reset or start]]" the VM from the VPS Maintenance Shell, and have used 9front Drawterm successfully. Enter the new "USER" name after an '**fshalt**' and a VPS Maintenance Shell [**s**] - //Force Shutdown// and [**r**] - //reset or start//. |
| |
''user[glenda]:'' <- Enter the new 'USER' name. | ''user[glenda]:'' ← Enter the new 'USER' name. |
| |
Verify your new "[[#adding_a_user|USER]]" login with '''pwd''' or '''lc -l'''. __**Stop**__ if '''pwd''' does not show your new "USER" name. | Verify your new "[[#adding_a_user|USER]]" login with '''pwd''' or '''lc -l'''. __**Stop**__ if '''pwd''' does not show your new "USER" name. |
| |
term% /sys/lib/newuser | term% /sys/lib/newuser |
| |
</code> | </code> |
| |
| |
term% mail -c | term% mail -c |
| |
</code> | </code> |
| |
| |
bind -c /n/other/usr/$user/tmp /usr/$user/tmp | bind -c /n/other/usr/$user/tmp /usr/$user/tmp |
| |
</file> | </file> |
| |
mkdir /usr/$user/lib/mothra | mkdir /usr/$user/lib/mothra |
cp /usr/glenda/lib/mothra/hit.html /usr/$user/lib/mothra/hit.html | cp /usr/glenda/lib/mothra/hit.html /usr/$user/lib/mothra/hit.html |
| |
</file> | </file> |
| |
term% mkdir /usr/$user/www | term% mkdir /usr/$user/www |
term% cp /usr/glenda/www/* /usr/$user/www/ | term% cp /usr/glenda/www/* /usr/$user/www/ |
| |
</code> | </code> |
| |
q | q |
term% | term% |
| |
</file> | </file> |
| |
| |
$ ./drawterm -a YOUR_IP -h YOUR_IP -u new USER | $ ./drawterm -a YOUR_IP -h YOUR_IP -u new USER |
| |
</code> | </code> |
| |
==== Configure a Time zone ==== | ==== Configure a Time zone ==== |
| |
^ Section^ FQA 4 - 9front Installation Guide^ | ^ Section ^ FQA 4 - 9front Installation Guide ^ |
|4.3.15 - tzsetup|http://fqa.9front.org/fqa4.html| | |4.3.15 - tzsetup|http://fqa.9front.org/fqa4.html| |
^ Section^ FQA 7 - System Management^ | ^ Section^ FQA 7 - System Management ^ |
|7.6.3 - UTC Timesync|http://fqa.9front.org/fqa7.html| | |7.6.3 - UTC Timesync|http://fqa.9front.org/fqa7.html| |
| |
| |
% lc /adm/timezone | % lc /adm/timezone |
| |
</code> | </code> |
| |
| |
% cp /adm/timezone/CET /adm/timezone/local | % cp /adm/timezone/CET /adm/timezone/local |
| |
</code> | </code> |
| |
TIMESYNCARGS=(-n pool.ntp.org) | TIMESYNCARGS=(-n pool.ntp.org) |
% | % |
| |
</code> | </code> |
| |
| |
% sam /rc/bin/termrc | % sam /rc/bin/termrc |
| |
</code> | </code> |
| |
| |
% fshalt | % fshalt |
| |
</code> | </code> |
| |
| |
cat /adm/timezone/US_Central > /env/timezone | cat /adm/timezone/US_Central > /env/timezone |
| |
</code> | </code> |
| |
During the SDF Plan 9 Boot Camp you are encouraged to make screenshots and videos of your Self Guided Discoveries and share your experiences on //plan9-l// to inspire others to do the same. Participants in the Plan 9 Boot Camps also get a contrib directory on ''<nowiki>ftp://ftp.sdf.org</nowiki>'' (in //pub/sdf/plan9/contrib//). This directory persists and can be used perpetually for Plan 9 related sharing. | During the SDF Plan 9 Boot Camp you are encouraged to make screenshots and videos of your Self Guided Discoveries and share your experiences on //plan9-l// to inspire others to do the same. Participants in the Plan 9 Boot Camps also get a contrib directory on ''<nowiki>ftp://ftp.sdf.org</nowiki>'' (in //pub/sdf/plan9/contrib//). This directory persists and can be used perpetually for Plan 9 related sharing. |
| |
|x|The [[:image_gallery|SDF Image Gallery]] wiki page offers a link to additional SDF [[:social_network|Social Networks]], for possible web based Boot Camp screenshot sharing.| | |x|The [[image_gallery|SDF Image Gallery]] wiki page offers a link to additional SDF [[social_network|Social Networks]], for possible web based Boot Camp screenshot sharing.| |
| |
<sup>1</sup> [[https://sdf.org/|UNIX Shell Account]]. <del><sup>2</sup> VPS membership required. <sup>3</sup> Type "//meta//" at the SDF shell (''$ meta'') for details.</del> <sup>4</sup> International Workshop on Plan 9 http://iwp9.org/ | <sup>1</sup> [[https://sdf.org/|UNIX Shell Account]]. <del><sup>2</sup> VPS membership required. <sup>3</sup> Type "//meta//" at the SDF shell (''$ meta'') for details.</del> <sup>4</sup> International Workshop on Plan 9 http://iwp9.org/ |
=== Recommended: === | === Recommended: === |
| |
| |Plan 9 Lecture Series: Introduction|https://youtu.be/1s4Jhuoq67I| |
| |Plan 9 Lecture Series: File Abstractions|https://youtu.be/r8X5i6BFZiY| |
|Russ Cox's A Tour Of The Acme Editor|https://archive.org/details/atouroftheacmeeditor| | |Russ Cox's A Tour Of The Acme Editor|https://archive.org/details/atouroftheacmeeditor| |
|Plan 9 demo, narrated by John Floren (full)|https://youtu.be/obKnSDbaBlw| | |Plan 9 demo, narrated by John Floren (full)|https://youtu.be/obKnSDbaBlw| |
|Acme Editor, **Acme Mail**, Plan 9 demo (short)|https://www.youtube.com/user/slawmasta| | |Acme Editor, **Acme Mail**, Plan 9 demo (short)|https://www.youtube.com/user/slawmasta| |
| |Plan 9, Das bessere UNIX, Angelo Papenhoff|https://youtu.be/mCiRxM8dOSY| |
| |
^Command^ Option^ Quick Reference, mentioned in an Acme video^ | ^ Command ^ Option ^ Quick Reference, mentioned in an Acme video ^ |
|SAM:|''sam -d''|http://sam.cat-v.org/cheatsheet/| | |SAM:|''sam -d''|http://sam.cat-v.org/cheatsheet/| |
| |
|COM:|''-'' toggle backspace, //% bksp is now ^H//; [[vps_-_9front#console_menu_and_shell|ctl-h]]| | |COM:|''-'' toggle backspace, //% bksp is now ^H//; [[vps_-_9front#console_menu_and_shell|ctl-h]]| |
| |
^Some hints about Plan 9^ | ^ Some hints about Plan 9 ^ |
|Plan 9's system console is a TTY, not a VT| | |Plan 9's system console is a TTY, not a VT| |
|In UNIX almost everything is a file, in Plan 9 everything is a file| | |In UNIX almost everything is a file, in Plan 9 everything is a file| |
====== Boot Camp 9p resource ====== | ====== Boot Camp 9p resource ====== |
| |
|x| :!: The core [[boot_camp_9p_resource|SDF Boot Camp 9p.sdf.org resource]] wiki details have [[boot_camp_9p_resource|moved]]. :!:| | |x| [%%:!:%%] ((The [%%:!:%%] is interchangeable with a //[CAUTION]//, for the [[plan9front_-_acme_sam_abaco_mothra_and_man#abaco|abaco]], and [[plan9front_-_acme_sam_abaco_mothra_and_man#mothra|mothra]] browsers. :!:)) The core [[boot_camp_9p_resource|SDF Boot Camp 9p.sdf.org resource]] wiki details have [[boot_camp_9p_resource|moved]]. [%%:!:%%] ((The [%%:!:%%] is interchangeable with a //[CAUTION]//, for the [[plan9front_-_acme_sam_abaco_mothra_and_man#abaco|abaco]], and [[plan9front_-_acme_sam_abaco_mothra_and_man#mothra|mothra]] browsers. :!:))| |
|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>)//| |
| |
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> |
| |
| |
$ ./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''| |
| |
<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>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. |
| |
|x|**9FRONT FREQUENTLY QUESTIONED ANSWERS** http://fqa.9front.org/| | |x|**9FRONT FREQUENTLY QUESTIONED ANSWERS** http://fqa.9front.org/| |
|x|[[http://doc.cat-v.org/plan_9/2nd_edition/README.html|README]] - "This brief document is intended to help you get started using Plan 9." (//slightly outdated//)| | |x|[[http://doc.cat-v.org/plan_9/2nd_edition/README.html|README]] (slightly outdated) - "This brief document is intended to help you get started using Plan 9." | |
| |
{{:playground:plan9-sdf-splash-1.png?direct&200|}} | {{:playground:plan9-sdf-splash-1.png?direct&200|}} |
|**9front Propaganda**|http://9front.org/propaganda/| | |**9front Propaganda**|http://9front.org/propaganda/| |
| |
^Valued mention^ resource^ | ^ Valued mention ^ resource ^ |
|Plan 9 from Bell Labs|https://9p.io/plan9| | |Plan 9 from Bell Labs|https://9p.io/plan9| |
|Glenda, the Plan 9 Bunny|https://9p.io/plan9/glenda.html| | |Glenda, the Plan 9 Bunny|https://9p.io/plan9/glenda.html| |
==== Plan 9 VPS tutorial ==== | ==== Plan 9 VPS tutorial ==== |
| |
|x|[[:plan9front_-_acme_sam_abaco_mothra_and_man|Plan 9 on an SDF VPS]] tutorial (wiki)| | |x|[[plan9front_-_acme_sam_abaco_mothra_and_man|Plan 9 on an SDF VPS]] tutorial (wiki)| |
|x|Getting Started with Plan 9 Drawterm| | |x|Getting Started with Plan 9 Drawterm| |
|x|Sam (''% sam -d'')| | |x|Sam (''% sam -d'')| |
| |
|x|Introduction to Operating Systems Abstractions [[https://archive.org/details/plan9designintro|Using Plan 9 from Bell Labs]] (pdf; external archive)| | |x|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 [[:plan_9_9front#links|VPS Plan 9 / 9front]] tutorial. (wiki)| | |x|Previous dedicated links are located at the [[plan_9_9front#links|VPS Plan 9 / 9front]] tutorial. (wiki)| |
| |
===== Conclusion or close ===== | ===== Conclusion or close ===== |