Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
vps_-_9front [2021/09/19 03:46] – [SDF Boot Camp 9p resource] hc9 | vps_-_9front [2023/11/24 19:48] – [9front on an SDF VPS] to t m( hc9 |
---|
====== 9front on an SDF VPS ====== | ====== 9front on an SDF VPS ====== |
| |
An image<sup>1</sup> might appear here. A redirect to the SDF [[vps_-_plan_9_9front|VPS - Plan 9 / 9Front]] home, includes SDF html and wiki tutorials mentioned in the Table of Contents. | |[%%:!:%%] ((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>2</sup> operating system in a VPS slice on SDF. The tutorial is aimed at participants in the SDF [[vps_-_plan_9#about|Plan 9 Boot Camp]]<sup>3</sup>, but should be useful to other SDF VPS users. More recently, the //Boot Camp// participants will begin studying virtualized //amd64 9front//. | 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|supplement]] 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>[[wp>ASCII_art|ASCII art]] <sup>2</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]] |
| |
===== Getting Involved ===== | ===== Getting Involved ===== |
| |
Plan 9 has active communities which mostly interact by email. You are encouraged to join the //[[http://mail.9fans.net/listinfo/9fans|9fans mailing list]]// where discussion about Plan 9, and related technologies occur. | SDF hosts the //plan9-l// mailing list for participants in the Plan 9 Boot Camp. Email '[[majordomo_on_sdf|majordomo]]' and 'subscribe plan9-l' to join. |
| |
SDF hosts the //plan9-l// mailing list for participants in the Plan 9 Boot Camp. Email '[[=finding_help#the_definitive_guide_to_rtfming|majordomo]]' and 'subscribe plan9-l' to join. | |
| |
Of the various VPS that SDF offers<sup>1</sup>, the SDF Plan 9 Boot Camp VPS is the only VPS provided without subscription, to SDF MetaARPA<sup>2</sup> members. The [[#plan_9_boot_camp|Boot Camp]] VPS slice includes cluster access to the SDF Plan 9 Community 9p server. With your help, Plan 9 participation at SDF can continue to promote networking, learning and participation. To request an SDF Boot Camp Plan 9 VPS, type '//plan9//' at the SDF shell<sup>3</sup> (''$ plan9''). | Of the various VPS that SDF offers<sup>1</sup>, the SDF Plan 9 Boot Camp VPS is the only VPS provided without subscription, to SDF MetaARPA<sup>2</sup> members. The [[#plan_9_boot_camp|Boot Camp]] VPS slice includes cluster access to the SDF Plan 9 Community 9p server. With your help, Plan 9 participation at SDF can continue to promote networking, learning and participation. To request an SDF Boot Camp Plan 9 VPS, type '//plan9//' at the SDF shell<sup>3</sup> (''$ plan9''). |
| |
|x|[[vps_-_9front#sdf_boot_camp_communication_resources|com]]| | |x|[[vps_-_9front#sdf_boot_camp_communication_resources|com]]| |
|x|[[vps_-_plan_9#configuring_your_ip_address|YOUR_IP]] (__You will need the Plan 9 VPS IP address, please record it.__)| | |
|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|[[vps_-_plan_9#drawterm|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> |
| |
% WARNING! YOU WILL LOSE YOUR DATA! | % WARNING! YOU WILL LOSE YOUR DATA! |
| |
| |
<code> | <code> |
| |
% Copying a fresh plan9 image [PLEASE WAIT] | % Copying a fresh plan9 image [PLEASE WAIT] |
</code> | </code> |
| |
<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]: |
| |
<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 ==== |
| |
|x|[[vps_-_plan_9#networking|Networking]]: The "Networking" description from the "Plan 9 on an SDF VPS" may not apply to this tutorial.| | |
|x|Review the ''/usr/glenda/start'' file, or rc script, from the VPS console prompt (%).| | |x|Review the ''/usr/glenda/start'' file, or rc script, from the VPS console prompt (%).| |
| |
<code> | <code> |
| |
term% cat /usr/glenda/start | term% cat /usr/glenda/start |
</code> | </code> |
| |
The mentioned ''/usr/glenda/start'' file does __not__ require immediate editing. Very minor edits<sup>1</sup> can be made with ''% ed'', or ''% sam -d'', from the VPS console prompt (%), or later with ''% ed'', ''% sam'', or ''% acme'', from the Drawterm rio rc prompt (%). | The mentioned ''/usr/glenda/start'' file does __not__ require editing. Any edit<sup>1</sup> can be made with ''% ed'', or ''% sam -d'', from the VPS console prompt (%), or later with ''% ed'', ''% sam'', or ''% acme'', from the Drawterm rio rc prompt (%). |
| |
|x|This [[#shutdown_and_restart|shutdown and restart]] section applies, and is __necessary__<sup>2</sup> after an ''% fshalt'', __before__ the networking is restarted.| | |x|This [[#shutdown_and_restart|shutdown and restart]] section applies, and is __necessary__<sup>2</sup> after an ''% fshalt'', __before__ the networking is restarted.| |
===== 9front Drawterm ===== | ===== 9front Drawterm ===== |
| |
Drawterm<sup>1</sup> is essentially a BLIT terminal emulator which allows you to connect to your 9front system and load the //rio// windowing system. rio is a direct successor of UNIX 'layers' and Plan 9 '8½'. | [[plan9front_-_drawterm_rio_and_stats|Drawterm]]<sup>1</sup> is essentially a BLIT terminal emulator which allows you to connect to your 9front system and load the //rio// windowing system. rio is a direct successor of UNIX 'layers' and Plan 9 '8½'. |
| |
<code> | <code> |
$ ./drawterm -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.| |
| |
<sup>1</sup> //Drawterm is a X11 application that allows one to connect to a remote Plan 9 server...; a graphical client for Plan 9 CPU servers//. DRAWTERM http://drawterm.9front.org | <sup>1</sup> //Drawterm is a X11 application that allows one to connect to a remote Plan 9 server...; a graphical client for Plan 9 CPU servers//. [[vps_-_9front#install_or_build_drawterm|DRAWTERM]] http://git.9front.org/plan9front/drawterm |
| |
==== Drawterm and file transfer ==== | ==== Drawterm and file transfer ==== |
=== A 9front Drawterm note: === | === A 9front Drawterm note: === |
| |
^Command^ 9front Drawterm output^ | ^ Command ^ 9front Drawterm output ^ |
|''$ ./drawterm --help''|''usage: drawterm [-GBO] [**-h** host] [**-u** user] [-a authserver] [-s secstore] [-e 'crypt hash'] [-k keypattern] [-p] [-t timeout] [-r root] [-c cmd ...]''| | |''$ ./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>]''| |
| |
|Although __missing__ from the "''$ ./drawterm --help''" output, the "-r /path/to/local/directory" option will show the "/path/to/local/directory" files in "/mnt/term". This means that you can transfer files between the computer that you are connecting from and your 9front VPS simply by copying files in /mnt/term and getting them from your computer (or the reverse.)| | |Although __missing__ from the "''$ ./drawterm <nowiki>--</nowiki>help''" output, the "-r /path/to/local/directory" option will show the "/path/to/local/directory" files in "/mnt/term". This means that you can transfer files between the computer that you are connecting from and your 9front VPS simply by copying files in /mnt/term and getting them from your computer (or the reverse.)| |
|**Example:** ''$ ./drawterm -h YOUR_IP -u glenda -r /path/to/local/directory''| | |**Example:** ''$ ./drawterm -a YOUR_IP -h YOUR_IP -u glenda -r /path/to/local/directory''| |
| |
| <code> |
| |
| [/path/to/local/directory] |
| [/path/to/local/directory] mdkir foobar |
| </code> |
| |
| <code> |
| |
| cpu% cd /mnt/term/foobar |
| cpu% pwd |
| /mnt/term/foobar |
| cpu% touch screenshot.challenge.txt |
| </code> |
| |
| ^ Tilde Expansion ^^ |
| |//[[https://www.gnu.org/software/bash/manual/html_node/Tilde-Expansion.html|3.5.2 Tilde Expansion]]//|| |
| | **''~''** | //The value of ''$HOME''// | |
| |**Example:** ''$ ./drawterm -a YOUR_IP -h YOUR_IP -u glenda -r ~/directory''|| |
| |
==== Closing Drawterm ==== | ==== Closing Drawterm ==== |
=== local os: === | === local os: === |
| |
^Drawterm^ application^ | ^ Drawterm ^ application ^ |
|Quit|<= select quit| | |Quit|<= select quit| |
| |
| ^ rio Exit menu option (plan9front) ^ |
| |There is an "Exit" option in addition to the "Delete" option. This "Exit" option is useful. It will delete ''rio'' gracefully.| |
| |
| | New | | |
| | Resize | | |
| | Move | | |
| | Delete | | |
| | Hide | | |
| ^ 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.| |
| | a. |Cancel the ''Exit'' with a mouse button 1, or button 2 press. The previous pointer will appear.| |
| | i. |Confirm the ''Exit'' with a mouse button 3 press.| |
| | 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 [%%:!:%%] 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.| |
| | **2.** |Try item **1.**, or ''Exit'', while running ''rio'' inside another ''rio'' window.| |
| |
| ==== Install or Build Drawterm ==== |
| |
| === Binary Executables === |
| |
| Pre compiled Drawterm executables can be downloaded from the following links: |
| * https://9p.sdf.org/drawterm **(OS X, Debian, Win 10)** |
| * http://drawterm.9front.org/drawterm.exe **(Windows)** |
| |
| === 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. |
| |
| ''git clone git:<nowiki>//</nowiki>git.9front.org/plan9front/drawterm'' |
| |
| Otherwise you will need to download the source. You can go to http://git.9front.org/plan9front/drawterm/HEAD/info.html, click the "files" link, and click the "snap.tar.gz" link to get a tarball of the latest snapshot. "tar xzf" the file and rename the new directory "drawterm". |
| |
| You will also need compilers to build the source. If you are running a Debian or Ubuntu based system (and you've never built an application on your system), you can install these by running a command like the following: |
| |
| ''sudo apt-get install build-essential'' |
| |
| In addition to downloading the source code, you will need a couple of additional dependancies; libx11-dev and libxt-dev. If you are running a Debian or Ubuntu based system, you can install these by running a command like the following: |
| |
| ''sudo apt-get install libx11-dev libxt-dev'' |
| |
| Finally, we will need to build drawterm. If you are running Linux, you would cd into the drawterm directory and run the following: |
| |
| ''CONF=unix make'' |
| |
| After the process completes, you shouldn't see any error. There should now be a "drawterm" executable in the drawterm directory. You can test it by running: |
| |
| ''./drawterm'' |
| |
| If it runs fine, you should see a new window labeled "Plan 9 Console", with a prompt for the "cpu" (server). |
| |
| |
===== A 9front rcpu application ===== | ===== A 9front rcpu application ===== |
=== Edit the /lib/ndb/local file: === | === Edit the /lib/ndb/local file: === |
| |
|x|The ''echo 'auth=9p.sdf.org authdom=9sdf' >> /lib/ndb/local'' is __only__ applied initially. The results are retained.| | |x|The ''echo 'auth=9p.sdf.org authdom=9sdf' <nowiki>>></nowiki> /lib/ndb/local'' is __only__ applied initially. The results are retained.| |
<code> | <code> |
| |
% echo 'auth=9p.sdf.org authdom=9sdf' >> /lib/ndb/local | % echo 'auth=9p.sdf.org authdom=9sdf' >> /lib/ndb/local |
</code> | </code> |
| |
<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> |
| |
<code> | <code> |
| |
% rcpu -h 9p.sdf.org -u USER | % rcpu -h 9p.sdf.org -u USER |
password: | password: |
| |
|x|Once connected to //9p.sdf.org//:| | |x|Once connected to //9p.sdf.org//:| |
| |
<code> | <code> |
| |
cpu% cd $home | cpu% cd $home |
</code> | </code> |
| |
|x|Start the rio<sup>1</sup><sup>,</sup><sup>2</sup> window system:| | |x|Start the rio<sup>1</sup><sup>,</sup><sup>2</sup> window system:| |
| |
<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> |
| |
<code> | <code> |
| |
% cat /mnt/factotum/ctl | % cat /mnt/factotum/ctl |
key proto=dp9ik dom=9sdf user=USER !password? | key proto=dp9ik dom=9sdf user=USER !password? |
</code> | </code> |
| |
<sup>1</sup> [[:vps_-_9front#from_rio|More about rio]] <sup>2</sup> [[:vps_-_plan_9#getting_started_with_drawterm|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 ===== |
<file config /plan9-l/Have_fun/there_is_a_lot_we_can_do_now/> | <file config /plan9-l/Have_fun/there_is_a_lot_we_can_do_now/> |
| |
Tasks I.,II., and III., are preformed from the 9front Drawterm VPS connection, | Tasks I., and II., are preformed from the 9front Drawterm VPS connection, |
or 9front Drawterm rio rc prompt (%). | or 9front Drawterm rio rc prompt (%). |
| |
Task IV. is preformed from the 9front VPS Maintenance Shell console rc prompt (%). | Task III. is preformed from the 9front VPS Maintenance Shell console rc prompt (%). |
a.) Due to the way that namespaces work on 9front, change | a.) Due to the way that namespaces work on 9front, change |
to the console prompt to preform the "9fs 9fat" in Task IV. | to the console prompt to preform the "9fs 9fat" in Task IV. |
b.) be careful | b.) be careful |
| |
I.) Updating Ori's git9: | I.) Updating your system: |
| |
1. git/clone https://github.com/oridb/git9.git | |
2. cd git9 | |
3. mk install | |
| |
II.) Updating your system: | |
| |
1. type 'sysupdate' - note if changes are brought in. | 1. type 'sysupdate' - note if changes are brought in. |
5. mk install | 5. mk install |
| |
III.) Updating your kernel: | II.) Updating your kernel: |
| |
1. cd /sys/src/9/pc64 | 1. cd /sys/src/9/pc64 |
2. mk | 2. mk |
| |
IV.) Installing your new kernel: | III.) Installing your new kernel: |
| |
From the vps?.sdf.org console: | From the vps?.sdf.org console: |
8. Select menu option 's' and then 'r' from the vps?.sdf.org console. | 8. Select menu option 's' and then 'r' from the vps?.sdf.org console. |
| |
V.) 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> |
| |
| |
<code> | <code> |
| |
% 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).| |
| |
<code> | <code> |
| |
% pwd | % pwd |
/usr/glenda | /usr/glenda |
| |
<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 [[vps_-_plan_9#rio_customization|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| |
| |
| 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: === |
| |
<code> | <code> |
| |
% slay webfs | % slay webfs |
@{echo kill>/proc/527/ctl} # webfs | @{echo kill>/proc/527/ctl} # webfs |
| plumb | | | | plumb | | |
| look | | | | look | | |
^ send ^<= release the middle mouse button here^ | ^ send ^ <= release the middle mouse button here ^ |
| noscroll | | | | noscroll | | |
| |
| |
<code> | <code> |
| |
cpu% touch test.edit | cpu% touch test.edit |
cpu% sam test.edit | cpu% sam test.edit |
| |
</code> | </code> |
| |
| |
<code> | <code> |
| |
cpu% ps -a | grep sam | cpu% ps -a | grep sam |
glenda 1280 0:00 0:00 188K Pread sam test.edit | glenda 1280 0:00 0:00 188K Pread sam test.edit |
==== Editors ==== | ==== Editors ==== |
| |
|x|The "Plan 9 on an SDF VPS" [[vps_-_plan_9#plan_9_applications|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| |
| |
<code> | <code> |
| |
% pwd | % pwd |
/usr/glenda | /usr/glenda |
| 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)| |
| |
| |
<code> | <code> |
| |
% 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**| |
| |
<code> | <code> |
| |
% 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**| |
| |
<p> | <p> |
This is the tutorial for setting-up the 9front<sup>2</sup> operating system in a VPS slice on SDF. The tutorial is aimed at participants in the SDF <a href="/doku.php?id=vps_-_plan_9#about" class="wikilink1" title="vps_-_plan_9" data-wiki-id="vps_-_plan_9">Plan 9 Boot Camp</a><sup>3</sup>, but should be useful to other SDF VPS users. More recently, the <em>Boot Camp</em> participants will begin studying virtualized <em>amd64 9front</em>. | This is the tutorial for setting-up the 9front<sup>2</sup> operating system in a VPS slice on SDF. The tutorial is aimed at participants in the SDF <a href="/doku.php?id=plan_9#about" class="wikilink1" title="plan_9" data-wiki-id="plan_9">Plan 9 Boot Camp</a><sup>3</sup>, but should be useful to other SDF VPS users. More recently, the <em>Boot Camp</em> participants will begin studying virtualized <em>amd64 9front</em>. |
</p> | </p> |
| |
<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" [[vps_-_plan_9#browsing_the_web|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 |
| |
<code> | <code> |
| |
% mothra | % mothra |
</code> | </code> |
| |
<code> | <code> |
| |
% webfs; mothra -k | % webfs; mothra -k |
% | % |
| 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 | | |
<html><head><title>Hit List</title></head> | <html><head><title>Hit List</title></head> |
<body><h1>Hit list</h1> | <body><h1>Hit list</h1> |
<p><a href="http://wiki.sdf.org/doku.php?id=vps_-_plan_9_9front">http://wiki.sdf.org/doku.php?id=vps_-_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> |
| |
| |
=== From the 9front Drawterm rio rc prompt: === | === From the 9front Drawterm rio rc prompt: === |
| |
<code> | <code> |
| |
cpu% fshalt | cpu% fshalt |
| |
| |
=== From the 9front VPS Maintenance Shell console prompt: === | === From the 9front VPS Maintenance Shell console prompt: === |
| |
<code> | <code> |
| |
term% fshalt | term% fshalt |
| |
| |
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 ([[vps_-_plan_9#configuring_your_ip_address|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| |
|WEBFS:|''webfs''|http://man.9front.org/4/webfs| | |WEBFS:|''webfs''|http://man.9front.org/4/webfs| |
|WINWATCH:|''winwatch -e '^(winwatch|stats|faces)'''|http://man.9front.org/1/winwatch| | |WINWATCH:|''winwatch -e '^(winwatch|stats|faces)'''|http://man.9front.org/1/winwatch| |
| |
| |UNIX to Plan 9 command translation|https://9p.io/wiki/plan9/UNIX_to_Plan_9_command_translation/index.html| |
| |UNIX to Plan 9 translation|http://wiki.9front.org/unix2plan9| |
| |
=== A screenshot within Drawterm, or from a rio rc prompt. === | === A screenshot within Drawterm, or from a rio rc prompt. === |
| |
<code> | <code> |
| |
% topng </dev/screen >screenshot.png | % topng </dev/screen >screenshot.png |
% png screenshot.png | % png screenshot.png |
</code> | </code> |
| |
^Command^ Example^ | === A window-shot within Drawterm, or from a rio rc prompt. === |
| |
| <code> |
| |
| % topng </dev/window >window.png |
| % png window.png |
| </code> |
| |
| === An "wsys/n" window within Drawterm, or from a rio rc prompt. === |
| |
| |wsys|is a directory containing a subdirectory for each window, named by the unique ID for that window.|http://man.9front.org/4/rio| |
| |
| ''topng </dev/wsys/n/window >window.png'' |
| |
| grep the window label to find the window number. |
| |x|Mouse button 3 menu select 'hide', then target the window that you want to 'topng'. Mouse button 3 target confirm the window that you want to 'topng'. Mouse button 3 menu to visually review the hidden window label name. Mouse button 3 menu select 'label-name' to un-hide the target window.| |
| |x|The example window target label ends with the number 385.| |
| |
| <code> |
| |
| % grep 385 /dev/wsys/*/label |
| /dev/wsys/10/label:rc 201318385 |
| % topng </dev/wsys/10/window >window.png |
| % png window.png |
| </code> |
| |
| |x|Run ''winwatch'' to view a window label list.| |
| |
| <code> |
| |
| % winwatch |
| </code> |
| |
| ^ 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).| |
|x|[[vps_-_plan_9#adding_a_user|Adding a User]]: The "Adding a User" description from the "Plan 9 on an SDF VPS" does not apply to 9front.| | |
| |
^ 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| |
| |
<code> | <code> |
| |
% con -C /srv/cwfs.cmd | % con -C /srv/cwfs.cmd |
newuser USER | newuser USER |
| |
<code> | <code> |
| |
>>> q | >>> q |
% | % |
</code> | </code> |
| |
The following steps assume that you have [[vps_-_plan_9#sam|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. |
| |
Initialize the new user environment with '''% /sys/lib/newuser''', from the VPS console prompt (%). | Initialize the new user environment with '''% /sys/lib/newuser''', before '''% mail -c''', from the VPS console prompt (%). |
| |
<code> | <code> |
| |
term% /sys/lib/newuser | term% /sys/lib/newuser |
| </code> |
| |
| <code> |
| |
| 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> |
| |
| |
<code> | <code> |
| |
term% mkdir /n/other/usr/$user | term% mkdir /n/other/usr/$user |
term% mkdir /n/other/usr/$user/tmp | term% mkdir /n/other/usr/$user/tmp |
q | q |
term% | term% |
| |
</file> | </file> |
| |
| |
<code> | <code> |
$ ./drawterm -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 ==== |
| |
|x|[[vps_-_plan_9#configure_a_time_zone|Configure a Time zone]]: The "Configure a Time zone" description from the "Plan 9 on an SDF VPS" does not apply to 9front.| | ^ 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| |
| |
| |
<code> | <code> |
| |
% lc /adm/timezone | % lc /adm/timezone |
</code> | </code> |
| |
<code> | <code> |
| |
% cp /adm/timezone/CET /adm/timezone/local | % cp /adm/timezone/CET /adm/timezone/local |
</code> | </code> |
| |
<code> | <code> |
| |
% sed 4q /rc/bin/termrc | % sed 4q /rc/bin/termrc |
#!/bin/rc | #!/bin/rc |
| |
<code> | <code> |
| |
% sam /rc/bin/termrc | % sam /rc/bin/termrc |
</code> | </code> |
| |
<code> | <code> |
| |
% fshalt | % fshalt |
</code> | </code> |
| |
<code> | <code> |
| |
cat /adm/timezone/US_Central > /env/timezone | cat /adm/timezone/US_Central > /env/timezone |
</code> | </code> |
|x|Self Guided Discoveries in: mapdemo, catclock, juggle and tetris| | |x|Self Guided Discoveries in: mapdemo, catclock, juggle and tetris| |
|x|Self Guided Discoveries in: 9front and contrib via ftpfs| | |x|Self Guided Discoveries in: 9front and contrib via ftpfs| |
|x|Self Guided Discoveries in: 9fans mailing list and faces| | |x|Self Guided Discoveries in: mailing list and faces| |
| |
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 //[[ftp://ftp.sdf.org|ftp.sdf.org]]// (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.| |
| |
<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/ |
| |
===== Boot Camp Discoveries or Challenges ===== | ===== Discoveries or Challenges ===== |
| |
Discoveries, or challenges, are mentioned on //plan9-l// or __live__ on twitch. | Discoveries, or challenges, are mentioned on //plan9-l// or __live__ on twitch. |
|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/| |
| |
=== A self guided challenge: === | === A self guided challenge: === |
| |
|NYC*BUG| | |NYC*BUG|| |
|Plan 9: Not dead, Just Resting, Ori Bernstein| | |Plan 9: Not dead, Just Resting, by Ori Bernstein|| |
|https://www.nycbug.org/index?action=view&id=10672| | |https://www.nycbug.org/index?action=view&id=10672|| |
|https://youtu.be/6m3GuoaxRNM| | |https://toobnix.org/w/wpnBbBoj5UixTQsrMCExYN|<sup>''toobnix.org''</sup>| |
|20:00 - //9front plumber rules//; ''% cat /sys/lib/plumb/basic''| | |https://youtu.be/6m3GuoaxRNM|| |
|29:15 - //Ori's git9//| | |20:00 - //9front plumber rules//; ''% cat /sys/lib/plumb/basic''|| |
|31:09 - //The essence of Plan 9 is 9p and name spaces//.| | |29:15 - //Ori's git9//|| |
|53:32 - ''/sys/ports/dev-lang''| | |31:09 - //The essence of Plan 9 is 9p and name spaces//.|| |
| |53:32 - ''/sys/ports/dev-lang''|| |
| |
=== SDF Fall 2021 Plan9 Boot Camp "Tea Note" Presentation === | === SDF Fall 2021 Plan9 Boot Camp "Tea Note" Presentation === |
|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| |
|//Hello World//, an example|''http://sdf.org/?tutorials/Plan_9_C#section-1''| | |//Hello World//, an example|''http://sdf.org/?tutorials/Plan_9_C#section-1''| |
| |
===== SDF Boot Camp Communication resources ===== | ===== Communication resources ===== |
| |
These communication resources are dependent on the preference of the "Boot Camp" participants, during a scheduled //SDF Plan 9 Boot Camp//. Some previous timely resources are ''$ com'', //plan9-l//, '' $ bboard'', //mastodon.sdf.org//, and //wiki.sdf.or//g. The resources are mentioned in [[#other|below]]. | These communication resources are dependent on the preference of the "Boot Camp" participants, during a scheduled //SDF Plan 9 Boot Camp//. Some previous timely resources are ''$ com'', ''% com'', //plan9-l//, '' $ bboard'', //mastodon.sdf.org//, and //wiki.sdf.or//g. The resources are mentioned below. |
| |
|x|**com**<sup>1</sup> https://wiki.sdf.org/doku.php?id=com; [[http://sdf.org/?tutorials/comnotirc|COM is not IRC]] - (tutorials, compatible with mothra)| | |x|**com**<sup>1</sup> https://wiki.sdf.org/doku.php?id=com; [[http://sdf.org/?tutorials/comnotirc|COM is not IRC]] - (tutorials, compatible with mothra)|| |
|x|[[com#getting_starteda_walkthrough|room]] '**plan9**' in '**com**'| | |x|[[com#getting_starteda_walkthrough|room]] '**plan9**' in '**com**'|| |
|x|subscribe **//plan9-l//** (Email '[[=finding_help|majordomo]]' and 'subscribe plan9-l' to join.) | | |x|[[com#getting_starteda_walkthrough|room]] '**lobby**' in //[[boot_camp_9p_resource#commode_example|9p]]// '**com**' (Type ''@h'' for a list of //9p// com [[boot_camp_9p_resource#commode_example|commands]], or ''@g bootcamp''.)|<sup>9p.sdf.org</sup>| |
|x|**bboard** https://wiki.sdf.org/doku.php?id=bboard| | |x|subscribe **//plan9-l//** (Email '[[finding_help#using_manpages|majordomo]]' and 'subscribe plan9-l' to join.) || |
|x|**@SDF** https://mastodon.sdf.org/@SDF| | |x|**bboard** https://wiki.sdf.org/doku.php?id=bboard|| |
| |x|**@SDF** https://mastodon.sdf.org/@SDF|| |
| |
<sup>1</sup>**com** //partial command help//; to begin TALK MODE, press [SPACE]. | <sup>1</sup>**com** //partial command help//; to begin TALK MODE, press [SPACE]. |
|**-**:|**toggle backspace**| | |**-**:|**toggle backspace**| |
| |
===== SDF Boot Camp 9p resource ===== | ====== Boot Camp 9p resource ====== |
| |
|x| https://9p.sdf.org //(an amd64 plan9front<sup>1</sup> supplement to the SDF Plan 9 Boot Camp<sup>2</sup>)//| | |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>)//| |
| |
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 -h 9p.sdf.org -u USER | |
</code> | |
| |
A Drawterm rc prompt (without rio; //teletype only//): | $ ./drawterm -a 9p.sdf.org -h 9p.sdf.org -u USER |
<code> | |
$ ./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''| | |//Optional:// ''drawterm -h 9p.sdf.org -u USER''| |
| |//[[plan9front_-_drawterm_rio_and_stats#drawterm|Optional]]:// ''drawterm -a 9p.sdf.org -h 9p.sdf.org **-p** -u USER''| |
| |
=== Possible "Tea Note" Presentation commands from the 9p rio rc prompt (%). === | A Drawterm rc prompt (without rio; //teletype only//): |
| |
|bboard:|bboard [-anps] [-r n]|9p contrib directory| | |
|broke:|broke [ user ] - broken processes go away|http://man.9front.org/1/kill| | |
|com:|com - An early version of commode|9p contrib directory| | |
|df:|df - disk usage|9p contrib directory| | |
|auth/factotum:|factotum, fgui, userpasswd - authentication agent|http://man.9front.org/4/factotum| | |
|find:|find [-1dfq] [path ...]|9p contrib directory| | |
|finger:|toe - A very basic finger client for plan9/9front.| | | |
|gemnine:|gemnine [-w] [URL] - Gemini browser for Plan 9| | | |
|mug:|mug - convert an image to a face icon|http://man.9front.org/1/mug| | |
|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| | |
|who:|who, whois - who is using the machine|http://man.9front.org/1/who| | |
| |
=== bboard example: === | |
| |
A [[:playground:vps_-_9front_-_acme_example#bboard|bboard acme example]]. | |
| |
=== date and time example: === | |
| |
|x|A scheduled Plan 9 Boot Camp [[:vps_-_plan_9_9front#tea_note_guide|TEA NOTE]] will occur on **September 26th at 2PM PDT**.| | |
|x|TEA NOTE [[https://www.twitch.tv/sdfpubnix|Live stream location]] at //<nowiki>twitch.tv</nowiki>//| | |
|x|Start the clock in a rio rc window.| | |
| |
<code> | <code> |
% cp /adm/timezone/US_Pacific /env/timezone && clock.amber | |
</code> | |
| |
//The command will pick up the new timezone, but nothing already running or not sharing the environment will be affected.// | $ ./drawterm -G -h 9p.sdf.org -u USER |
| |
=== broke example: === | |
| |
<code> | |
% psu -a | grep Broke | |
</code> | </code> |
| |
<code> | |x|A Drawterm [[vps_-_9front#drawterm_and_file_transfer|file transfer]] hint:|''% lc /mnt/term''| |
% broke $user | |
</code> | |
| |
=== face example: === | |
| |
A [[:playground:vps_-_9front_-_mailing_and_faces|face (create and install) example]]. | |
| |
=== gemnine example: === | |
| |
A [[:playground:vps_-_9front_-_acme_example#gemnine|gemnine acme example]]. | |
| |
<code> | |
% gemnine gemini://9p.sdf.org | |
</code> | |
| |
<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. |
|**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|[[vps_-_plan_9#plan_9_applications|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 [[vps_-_plan_9#links|Plan 9 on an SDF VPS]] 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 ===== |