User Tools

Site Tools


archive:vps_-_plan_9

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
archive:vps_-_plan_9 [2022/02/19 05:35]
hc9 removed
— (current)
Line 1: Line 1:
-====== Plan 9 on an SDF VPS ====== 
- 
-{{ ::b4565daf65052ea0.jpg?400 |}} 
-=== About === 
- 
-  * This page contains archived [[:archive:sdf_tutorial_archive_index|content]]. :!: 
-  * This page is outdated. :!: 
-  * Another strike-through copy is in-process.  Some [[playground:recycle:start_-_plan_9|details]] may be preserved separately. 
- 
-This is the [[#plan_9_on_an_sdf_vps|2nd]]<sup>1</sup> tutorial for setting-up the Plan 9 from Bell Labs operating system in a VPS slice on SDF. This tutorial was aimed at participants in the SDF [[#plan_9_boot_camp|Plan 9 Boot Camp]] including //9front PARODY//<sup>2</sup>, but should be useful for SDF VPS user review. More recently<sup>3</sup>, the //Boot Camp// participants are studying [[:vps_-_9front#about|virtualized amd64 9front, located on another VPS]]. __If you were using the //9front PARODY// VPS__, thank you for your participation. A redirect to the SDF [[:vps_-_plan_9_9front|VPS - Plan 9 / 9Front]] home, includes SDF html and wiki tutorial links. 
- 
-<sup>1</sup> Several HTML tutorials are [[#other|mentioned]], including [[https://sdf.org/tutorials/VPS_Plan9.html]], the **primary** //Plan 9 on SDF VPS// tutorial. <sup>2</sup> //9front PARODY// VPS //Boot Camp// image will shutdown. <sup>3</sup> [[:vps_-_9front#sdf_boot_camp_communication_resources|Recent communication about the Boot Camp amd64 9front VPS]]. 
- 
-=== Contents === 
- 
-  * [[#install|Install]] 
-  * [[#basics|Basics]] 
-  * [[#things_to_know_when_you_get_to_a_plan_9_shell|Things To Know When You Get to Plan 9's shell]] 
-  * [[#networking|Networking]] 
-  * [[#drawterm|Plan 9 Drawterm]] 
-  * [[#plan_9_applications|A Few Applications]] 
-  * [[#adding_a_user|Adding a User]] 
-  * [[##configure_a_time_zone|Configure Timezone]] 
-  * [[#Plan 9 Boot Camp|Plan 9 Boot Camp]] 
-  * [[#evaluate_9front|9front]] 
-  * [[#other|miscellaneous]] 
-  * [[#links|Links (Tutorials, Videos, Utilities, Books)]] 
- 
-==== Getting Involved ==== 
- 
-Plan 9 has active communities which mostly interact by email. You are encouraged to join the //[[https://9p.io/wiki/plan9/mailing_lists|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 '[[:=finding_help|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''). 
- 
-<sup>1</sup> [[https://sdf.org/?join|VPS]] membership, or [[https://sdf.org/?subscribe|participation]], required. <sup>2</sup> Type "//meta//" at the SDF shell (''$ meta'') for details. <sup>3</sup> [[https://sdf.org/|UNIX Shell Account]]. 
- 
-===== 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//. If asked to install from the ISO, type "no". (During a previous Boot Camp, there was an option to install from the Plan 9 iso image; at the time of this Boot Camp, the VPS Maintenance Shell is without an iso image install option.) 
- 
-<code> 
-  Do you wish to continue? (yes/no) yes 
-  Would you like to install Plan 9 yourself from the ISO? (yes/no) 
-  % Copying a fresh plan 9 image [PLEASE WAIT] 
-  [COMPLETE] 
-  (continue) 
-</code> 
- 
-Once the install has completed, press the "[**Enter**]" key to return to the SDF VPS Maintenance Shell menu; then press the "**r**" key to //reset or restart//<sup>2</sup> the instance. 
- 
-<sup>1</sup> A VPS password change option is available from the VPS Maintenance Shell, after login.  
-<sup>2</sup> Other options are "**l**", "**q**" and "**p**", review the SDF VPS Maintenance Shell for details. 
- 
-==== Basics ==== 
- 
-When the Plan 9 system boots, it will ask where root is from (the network, or a local disk). Just press the "[**Enter**]" key to select local (the default), "root is from (tcp, local)[**local!#S/sd00/fossil**]:". Next, there will be prompt to login. Login as the Plan 9 default user: "glenda". 
- 
-<code> 
-  user[none]: glenda 
-  time... 
-  fossil(#S/sd00/fossil)...version...time... 
-   
-  init: starting /bin/rc 
-  #m/mousectl: rc: can't open: unknown device in # filename 
-  init: rc exit status: rc 24: error 
-   
-  init: starting /bin/rc 
-</code> 
- 
-You will now see the Plan 9 VPS console rc prompt (%), Plan 9's shell. 
- 
-|Plan 9 Rc shell|[[#other|Plan 9 Rc Survival Guide]]| 
- 
-==== Things To Know When You Get to a Plan 9 shell ==== 
- 
-    * **ctl-h** is backspace, kind of; **ctl-u** erases the current line. As seen, with the VPS Plan 9 console prompt **ctl-h** backspace, the screen output may not be what one would expect<sup>1</sup>. 
-    * To detach the Plan 9 console prompt (%), while retaining the ability to reattach it __without__ rebooting your server, press **ctl-]** to close the prompt (%). Then, press '**q**' to disconnect the VPS Maintenance Shell menu, and ssh connection. You can return again with another [[#install|ssh]] to the allocated VPS server, an SDF VPS Maintenance Shell menu review, and a press on the "**c**" key to connect to the Plan 9 console prompt (%). 
-    * //**ed**// and "''% sam -d''" are available in the Plan 9 Image. They may be used for setting the DNS, or other tasks from the Plan 9 VPS console prompt (%), before Drawterm is accessible. An [[http://sdf.org/?tutorials/ed | ed cheat-sheet]] is available. Additional editors are operational from a [[#drawterm|Drawterm]] Rio rc prompt: acme, [[#sam|sam]], or ''% sam -d''. 
- 
-|% [[#sam|sam -d]]| Editing will be done with the command language only, as in //ed//.| 
- 
-<sup>1</sup> [[http://sdf.org/?tutorials/Plan_9_rc|Control keys -- Available at the SDF Boot Camp VPS server console prompt]] 
- 
-===== Networking ===== 
- 
-==== Configuring Your IP Address ==== 
- 
-While at the VPS Maintenance<sup>1</sup> Shell menu for "<VPS slice>.sdf.org", __note__ YOUR_IP (e.g., 205.166.94.xx) address on the __top line__ of the VPS Maintenance Shell. Press the "**l**" key to list the status. Press the "**r**" key to start your server if it's not running, and login via the VPS Plan 9 console using the default user (default=glenda). At the Plan 9 rc prompt (%), enter:  "ip/ipconfig -g 205.166.94.1 ether /net/ether0 YOUR_IP 255.255.255.0" 
- 
-''user[none] glenda'' 
- 
-<code> 
-  % ip/ipconfig -g 205.166.94.1 ether /net/ether0 YOUR_IP 255.255.255.0 
-</code> 
- 
-This configuration remains active until a [[#useful_plan_9_commands|reboot]] of the Plan 9 os. To make this configuration permanent, it is recommended to add this line to your "/rc/bin/termrc.local" file. To detach the VPS Plan 9 console prompt (%), and enable a reattachment __without__ rebooting the server, see [[#things_to_know_when_you_get_to_a_plan_9_shell|above]]. 
- 
-<sup>1</sup> Other Maintenance Shell menu options are "**l**", "**c**" "**q**" and "**p**"; review the SDF VPS Maintenance Shell for details. 
- 
-==== DNS Resolution ==== 
- 
-You can set DNS resolution by editing "/lib/ndb/local", replacing "ip=127.0.0.1 sys=localhost dom=localhost" with "**ip=YOUR_IP sys=plan9 dom=plan9 dns=205.166.94.20**". The mentioned "/lib/ndb/local" edit (with [[#ed|ed]] or [[#sam|sam -d]]) can be postponed until the initial [[#getting_started_with_drawterm|Drawterm]] connection is established, where another editor ([[#sam|sam]], [[#ed|ed]], [[#acme|acme]]) choice is available. Once the DNS is set, from the VPS console rc prompt (%) type "ndb/cs" and press [Return], then "ndb/dns -r" and press [Return]. 
- 
-<code> 
-  % ndb/cs 
-  % ndb/dns -r 
-</code> 
- 
-This configuration is retained until a [[#useful_plan_9_commands|reboot]] of the Plan 9 os. To make this permanent, it is recommended to add the two lines to your "/rc/bin/termrc.local" file. To detach the VPS Plan 9 console prompt (%), and enable a reattachment __without__ rebooting the server, see [[#things_to_know_when_you_get_to_a_plan_9_shell|above]]. 
- 
-===== Drawterm ===== 
- 
-Drawterm<sup>1</sup> is essentially a BLIT terminal emulator which allows you to connect to your Plan 9 system and load the //Rio// windowing system. Rio is a direct successor of UNIX 'layers' and Plan 9 '8½'. At the Plan 9 VPS console "rc" prompt (%), enter these two separate lines. Replace PASSWORD with a new Drawterm password, for later use. 
- 
-<code> 
-  % echo 'key proto=p9sk1 dom=plan9 user=glenda !password=PASSWORD' >/mnt/factotum/ctl 
-  % aux/listen1 -t tcp!*!ncpu /bin/cpu -R & 
-</code> 
- 
-This Drawterm password will remain effective until a [[#useful_plan_9_commands|reboot]] of the Plan 9 os. To detach the VPS Plan 9 console prompt (%), and enable a reattachment __without__ rebooting the server, see [[#things_to_know_when_you_get_to_a_plan_9_shell|above]]. 
- 
-|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". Example: "$ ./drawterm -a YOUR_IP -c YOUR_IP -u glenda -r /path/to/local/directory".| 
- 
-Verify the Drawterm command line syntax with the "''--help''" option, if needed. A 9front<sup>2</sup> Drawterm comparison is provided. 
- 
-^Plan 9 Drawterm command^ Plan 9 Drawterm output^ 
-|''$ ./drawterm --help''|''usage: drawterm [**-a** authserver] [**-c** cpuserver] [-s secstore] [**-u** user]''| 
- 
-^9front Drawterm command^ 9front Drawterm option //-h// and Plan 9 Drawterm option //-c// comparison^ 
-|''$ ./drawterm --help''|''usage: drawterm [**-a** authserver] [**-h** cpuserver] [-s secstore] [**-u** user]''| 
- 
-^9front Drawterm 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 ...]''| 
- 
-<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//. https://directory.fsf.org/wiki/Drawterm <sup>2</sup> DRAWTERM http://git.9front.org/plan9front/drawterm 
- 
-==== Getting Started with Drawterm ==== 
- 
-Follow the [[https://web.archive.org/web/20120121090252/http://jgw.tx0.org/howto/building_drawterm.html|instructions]] to download<sup>1</sup> and build Drawterm for your operating system<sup>2</sup>. YOUR_IP must match the IP address described in [[#networking|Networking]].\\ 
- 
-<code> 
-  $ ./drawterm -a YOUR_IP -c YOUR_IP -u glenda 
-</code> 
- 
-{{:plan9-drawterm-1.png?nolink|}} 
- 
-After typing your //Drawterm// password, the initial Rio display is a blank grey screen. The passing //cpu: failed to chdir to// message is not uncommon. 
- 
-{{:plan9-drawterm-2.png?nolink|}} 
- 
-At the Rio blank grey screen, press the right button of your mouse. A menu should appear. Then, release the button over the "**New**" option. 
- 
-There is a "**Delete**" option (above) in addition to the "**New**" option. This "**Delete**" option is useful. It will delete a window gracefully. 
- 
-{{:plan9-drawterm-3.png?nolink|}} 
- 
-Now, press the right button again near the upper-left corner of Drawterm, and drag the mouse to the lower-right before releasing the button, drawing a rectangle. 
- 
-{{:plan9-drawterm-4.png?nolink|}} 
- 
-You should now have a Rio terminal window, and rc prompt (%). The first thing you can do is to type "''cat readme.rio''" (or read it from [[http://sdf.org/tutorials/misc/readme.rio|here]] if it's missing<sup>3</sup>). 
- 
-To get ahead of yourself, knowing that you can use the "**Delete**" option (above Drawterm image) to close each new window gracefully, type "''riostart''"<sup>4</sup> at the Rio<sup>5</sup> rc prompt (%). 
- 
-|''cpu% riostart''| 
- 
-<sup>1</sup> Obtain the source code from http://swtch.com/drawterm/ <sup>2</sup> Drawterm is available as a package for many Linux-based distributions. <sup>3</sup> The file may be missing for a [[#adding_a_user|new user]]. It can be copied with "''% cp /usr/glenda/readme.rio readme.rio''". <sup>4</sup> ''% riostart'' https://sdf.org/tutorials/VPS_Plan9.html#riostart <sup>5</sup> //You should now see a grey screen. This is rio, the Plan 9 window manager//. http://doc.cat-v.org/plan_9/misc/rit-intro 
- 
-==== rio customization ==== 
- 
-When you have found a window layout that you like, you might like that persisted between sessions, so that you don't have to place the windows again. We can start rio using multiple ways. When we drawterm in our 9front vps the ''$home/lib/profile'' script is executed. Since the service type (''echo $service'') is of type //cpu// we see that rio is started as ''rio -i riostart'' . Looking at the manual page we see that the -i option takes certain "window" commands that instruct rio in what positions to load the windows and which application to run in them, it also mentions the ''wloc'' command which prints the window layout for the current session. By putting the contents of wloc in the ''$home/bin/rc/riostart'' script then we can have a persistent layout on all rio sessions.  
- 
-{{::wloc.png?800|}} 
- 
-===== Plan 9 Applications ===== 
- 
-==== Sam ==== 
- 
-Sam is a text editor. While the cursor is over the sam window, press the right button of your mouse and drag the cursor over the file name. Release the right mouse button once the cursor is over the file name. The cursor pointer will change to a square. Press the right button, while the square cursor is over the lower panel, to load the file in the lower panel. 
- 
-{{:sam-editor1.png?nolink|}} 
- 
-<code> 
-  % sam /rc/bin/termrc.local 
-</code> 
- 
-A few words about (**w**) writing the file, and how to (**q**) quit "sam". Commands (//sam -d//) are typed in the upper panel, while edits are typed in the lower panel. Press the left mouse button to activate the upper panel, or the lower panel. Type a '**w**' in the upper panel, then press the carriage return. This saves the file. Type a '**q**' in the upper panel, then press the carriage return. This quits "sam". 
- 
-Sam uses it's own cut/paste buffer. Exchange it with Rio's cut/paste buffer by using the <**rio**> option in the middle button (2) menu of sam. 
- 
-The following edit (''% sam -d'') will work from the [[#basics|VM console]] rc prompt, or from the upper sam panel. 
- 
-<code> 
-  % mkdir samlearn 
-  % cd samlearn 
-</code> 
- 
-<code> 
-  % cp /lib/ndb/local local2 
-  % sam -d local2 
-  -. local2 
-  /ip= 
-            "Press the Carriage return, following the line output." 
-  s/ip=/#ip= 
-  $+1 
-  a 
-  ip=YOUR_IP sys=plan9 dom=plan9 dns=205.166.94.20 
-  . 
-  w 
-  q 
-  % 
-</code> 
- 
-<code> 
-  % cp /rc/bin/termrc.local termrc.local2 
-  % sam -d termrc.local2 
-  -. termrc.local2 
-  $+1 
-  a 
-  ip/ipconfig -g 205.166.94.1 ether /net/ether0 YOUR_IP 255.255.255.0 
-  ndb/cs 
-  ndb/dns -r 
-  . 
-  w 
-  q 
-  % 
-</code> 
- 
-^Command^ Option^ Quick Reference^ 
-|SAM|''sam -d''|http://sam.cat-v.org/cheatsheet/| 
- 
-==== Ed ==== 
- 
-Ed is a text editor, and similar to [[#sam|sam -d]]. Using the ''% sam -d'' examples from [[#sam|Sam]], it's possible to use ''% ed''. The mentioned examples are from a Drawterm Rio rc prompt. 
- 
-<code> 
-  % cd samtest 
-  % cp /lib/ndb/local local-1ed 
-</code> 
- 
-<code> 
-  % ed local-1ed 
-  291 
-  /ip= 
-  ip=127.0.0.1 sys=localhost dom=localhost 
-  s/ip=/#ip= 
-  #ip=127.0.0.1 sys=localhost dom=localhost 
-  $ 
-  #ip=127.0.0.1 sys=localhost dom=localhost 
-  a 
-  ip=YOUR_IP sys=plan9 dom=plan9 dns=205.166.94.20 
-  . 
-  w 
-  341 
-  q 
-  % 
-</code> 
- 
-<code> 
-  % cp /rc/bin/termrc.local termrc.local-1ed 
-  % ed termrc.local-1ed 
-</code> 
- 
-<code> 
-  % ed termrc.local-1ed 
-  424 
-  $ 
-  cpu=CP 
-  a 
-  ip/ipconfig -g 205.166.94.1 ether /net/ether0 YOUR_IP 255.255.255.0 
-  ndb/cs 
-  ndb/dns -r 
-  . 
-  w 
-  510 
-  q 
-  % 
-</code> 
- 
-^Command^ Title^ Quick Reference^ 
-|ED|ed Cheat Sheet|http://sdf.org/?tutorials/ed| 
- 
-==== Acme ==== 
- 
-A brief mention of acme, for those who are attending the SDF Plan 9 Boot Camp. 
- 
-|''% acme''| 
- 
-{{:plan9-acme-1.png?nolink|}} 
- 
-  - Press the middle button of your mouse while the pointer is over the text "New" (to the left), in the row marked with a **1**. 
-  - Type the text "win" in the row, or newly created area, marked with a **2**. 
-  - Press the middle button of your mouse while the pointer is over the text "win" in the row, or newly created area, marked with a **2**. 
-  - Type the text "Mail" in the row marked with a **3**. 
-  - Press the middle button of your mouse while the pointer is over the text "Mail", in the row marked with a **3**. 
- 
-{{:plan9-acme-2.png?nolink|}} 
- 
-  - Press the right button of your mouse while the pointer is used to highlight a file name. 
-  - Once the highlight covers the filename, release the right mouse button to open the file. 
- 
-|A Tour Of The Acme Editor|https://archive.org/details/atouroftheacmeeditor| 
-|Acme Editor, **Acme Mail**, Plan 9 demo (short)|https://www.youtube.com/user/slawmasta| 
-|A command from sam can be typed in acme|http://sam.cat-v.org/cheatsheet/| 
-|Section: 3.5. Editing commands|http://www.covingtoninnovations.com/michael/blog/0807/newbie-guide.pdf| 
-|Hello World<sup>1</sup>|''% readweb http://sdf.org/?tutorials/Plan_9_C#section-1''| 
-|C Programming|[[#other|Plan 9 C Programming]]| 
-|http://acme.cat-v.org/|The Acme User Interface for Programmers| 
-|Plan 9 [[#videos|Acme]] videos|Plan 9 Acme Intro - Part 1, 2, & 3| 
- 
-Editors: [[https://en.wikipedia.org/wiki/List_of_Plan_9_applications#Editors|List of Plan 9 applications - Wikipedia]] 
-|[[#acme|acme]]|interactive text editor and shell| 
-|[[#ed|ed]]|text editor| 
-|[[#sam|sam]]|screen editor with structural regular expressions| 
- 
-//1//.) From a Plan 9 Rio rc prompt. 
- 
-==== Browsing the Web ==== 
- 
-You can use [[http://lab-fgb.com/abaco/|Abaco]] to browse the web<sup>1</sup>. (Abaco is available in a default Plan 9 system.) You'll need to have your IP configured and DNS working in order to browse the web. After that, you'll have to run "webfs" and __then__<sup>2</sup> "abaco". If you don't have a "/usr/$user/lib/webcookies" file, //touch// it once. (You may want to add "webfs" in your "$home/lib/profile" just before plumber and rio.) 
- 
-{{:plan9-abaco-1.png?nolink|}} 
- 
-<code> 
-  % touch /usr/$user/lib/webcookies 
-</code> 
- 
-<code> 
-  % webfs 
-  % abaco 
-</code> 
- 
-It's possible to use ''readweb''<sup>3</sup> without running ''webfs'' first. 
- 
-<code> 
-% readweb http://sdf.org/?tutorials/Plan_9_rc 
-</code> 
- 
-When abaco starts, you can go to a webpage by clicking "//New//" with the middle button of the mouse, typing the address in the row below the one with "//Del Snarf Get …//" (see the previous figure: it's the one where the current legacy address is), and pressing "[**Enter**]" on your keyboard. You can follow links by clicking on them, as is usual, with the left button (the shape of the cursor won't change, though). 
- 
-''% man -P readweb'' 
- 
-<sup>1</sup> An http URL. <sup>2</sup> Both commands are used on one line with a separator: "''% webfs; abaco''". <sup>3</sup> Another way to run Abaco. 
- 
-==== Slay ==== 
- 
-The "webfs" process is used to illustrate the "slay" command. The "ps" (''% ps | grep webfs'') command will show the processes. 
- 
-<code> 
-  % webfs 
-  % webfs 
-</code> 
- 
-{{:plan9-slay1.png?nolink|}} 
- 
-<code> 
-  % slay webfs 
-</code> 
- 
-Press the left mouse button to highlight (grey) the "slay" output text. Press the middle mouse button to select "send". Release the middle mouse button to complete the "send" to rc (''% slay webfs | rc''). 
- 
-===== Adding a User ===== 
- 
-You may want to add<sup>1</sup> a user to your system once you get the hang of things. There is really //no need to create a new user// when you are first starting out. It's safer to use the Drawterm Rio rc prompt (%) for the following task, should there be a need for the "[Backspace]" key. 
- 
-To create a new user, you must connect to the file server console by typing:  "con -l /srv/fscons". Once at the file server prompt (''prompt:''), create a new user. Replace USER with what you want your new user to be named:  "uname USER USER". You will need to add that USER to the "sys" group if you want it to be able to change system configuration files. Again, change USER to what your new user name is:  "uname sys +USER". Exit the file server console prompt (''prompt:'') by typing: "**ctrl+\**". You will now be at the "''> > >''" prompt; type "**q**" to quit the "''> > >''" prompt. 
- 
-<code> 
-  % con -l /srv/fscons 
-  prompt: uname USER USER 
-  prompt: uname sys +USER 
-  prompt: 
-</code> 
- 
-''Ctrl+\'' 
- 
-<code> 
-  prompt: >>> q 
-  % 
-</code> 
- 
-The following steps assume that you have [[#sam|edited]] files while user "glenda", have run "[[#useful_plan_9_commands|% fshalt]]" from the [[#basics|VPS console]] rc prompt (%), been able to "[[#install|[r] - reset or start]]" the VM from the VPS Maintenance Shell, and have used Drawterm successfully. Enter the new "USER" name after a VPS Maintenance Shell "reset or start". 
- 
-|This "user **glenda** task:", or "font task", is now a cautionary note (06 Oct 2020). Use the next line to determine.| 
-|''% cat /sys/lib/newuser | grep unicode''| 
-|Due to the recent //SDF 9xen// image, //[[#plan_9_on_an_sdf_vps|9front PARODY]]//, an edit to "/sys/lib/newuser" is needed __before__ proceeding.| 
-|The line "font=/lib/font/bit/vga/unicode.font" can change to "font = /lib/font/bit/pelm/unicode.8.font" or "font = /lib/font/bit/pelm/unicode.9.font"| 
-|"''% lc -l /lib/font/bit/pelm/''", to verify the font name.| 
- 
- 
-''user[none]'' <- Enter 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<sup>2</sup> with ''% /sys/lib/newuser'', from the VPS console Plan 9 prompt (%). 
- 
-<code> 
-  % /sys/lib/newuser 
-</code> 
- 
-At the VPS console Plan 9 rc prompt (%), enter these two separate lines. Replace "new_USER_name" (below) with the new "USER" name. 
- 
-<code> 
-  % echo 'key proto=p9sk1 dom=plan9 user=new_USER_name !password=PASSWORD' >/mnt/factotum/ctl 
-  % aux/listen1 -t tcp!*!ncpu /bin/cpu -R & 
-</code> 
- 
-Start Drawterm from the local operating system. 
- 
-<code> 
-  $ ./drawterm -a YOUR_IP -c YOUR_IP -u USER 
-</code> 
- 
-<sup>1</sup> Taken from [[https://9p.io/wiki/plan9/Adding_a_new_user/index.html|Plan 9 Wiki Adding A New User]]. <sup>2</sup> //When the user logs in the first time, he should execute /sys/lib/newuser// [[https://9p.io/wiki/plan9/Adding_a_new_user/index.html|Plan 9 Wiki Adding A New User]]. 
- 
-===== Configure a Time zone ===== 
- 
-You might want to configure your system's timezone<sup>1</sup>. Identify the timezone with "lc" (''% lc /adm/timezone''). Assuming that the CET time zone is appropriate, __login as the user__ "adm" and "cp /adm/timezone/CET /adm/timezone/local". Last, __login as the user__ "glenda" and edit the "TIMESYNCARGS" line in the "/rc/bin/termrc" (or "/rc/bin/cpurc"), using an NTP service. Set it to  "TIMESYNCARGS=(-n pool.ntp.org)" and [[#useful_plan_9_commands|reboot]].  
- 
-''user[none] adm'' 
- 
-<code> 
-  % lc /adm/timezone 
-</code> 
- 
-<code> 
-  % cp /adm/timezone/CET /adm/timezone/local 
-</code> 
- 
-''user[none] glenda'' 
- 
-<code> 
-  % sed 5q /rc/bin/termrc 
-  #!/bin/rc 
-  # terminal startup 
-  #TIMESYNCARGS=(-rLa1000000) 
-  TIMESYNCARGS=(-n pool.ntp.org) 
-  NDBFILE=/lib/ndb/local 
-  % 
-</code> 
- 
-<code> 
-  % sam /rc/bin/termrc 
-</code> 
- 
-<sup>1</sup> Taken from [[https://9p.io/wiki/plan9/Installation_instructions/index.html|Plan 9 Wiki Installation Instructions]], //SETTING UP CORRECT TIMEZONE// section. 
- 
-===== Working in Plan 9 ===== 
- 
-When using Drawterm<sup>1</sup> to connect to the SDF Plan 9 cpu server, your local files will be available at "/mnt/term": "''% lc /mnt/term''". You can copy files between the SDF Plan 9 VPS and your local os without the use of additional protocols. In other words, when working with Drawterm, your environment is a composite of your local os and the Plan 9 system -- technically it is a three node grid, because the Drawterm program acts as an ultra-minimal independent Plan 9 terminal system, connecting your host os to the SDF Plan 9 cpu server. 
- 
-<code> 
-  % lc -l /mnt/term 
-</code> 
- 
-<sup>1</sup> Taken from [[https://9p.io/wiki/plan9/Expanding_your_Grid/index.html|Expanding your Grid]] //...CPU AND DRAWTERM CONNECTIONS BETWEEN MULTIPLE MACHINES//. 
-==== Useful Plan 9 Commands ==== 
- 
-While there are many similarities between UNIX and Plan 9, there are specific commands which may be unfamiliar<sup>1</sup> to UNIX users. However, some of these commands have their roots in early UNIX systems as well as BTL Research UNIX. 
- 
-    * ''% **fshalt**'' from the Plan 9 VPS console rc prompt (%), then at the "VPS Maintenance Shell" select [**r**] - reset or start. 
- 
-    * ''% **fshalt**'' from the 9front VPS console rc prompt (%), then at the "VPS Maintenance Shell" select [**r**] - reset or start. 
- 
-    * ''% **fshalt**'' from a Drawterm Rio rc prompt (%), is okay. Close the local Drawterm application separately. 
- 
-<code> 
-  % fshalt 
-  syncing.../srv/fscons...prompt: venti... 
-  halting.../srv/fscons... 
-  prompt: 
-  done halting 
-</code> 
- 
-Press **ctl-]** to continue, if viewing where the VPS console rc prompt (%) once was. 
- 
-<code> 
-  (continue) 
-</code> 
- 
-Press the "[**Enter**]" key to access the VPS Maintenance Shell. From the VPS Maintenance Shell Press **[r]** - reset or start, or **[q]** - Disconnect. 
- 
-From the VPS Maintenance Shell Press **[s]** Force Shutdown (not an OS shutdown) before starting the SDF 9front VPS. Ping the SDF Plan 9 VPS IP address ([[#configuring_your_ip_address|YOUR_IP]]) to determine if the VPS is running with networking. 
- 
-|''$ ping [[#configuring_your_ip_address|YOUR_IP]]''| 
- 
-    * //**ed**// - This line editor is available in the Plan 9 Image. It's used for setting your DNS, or other tasks from the VM console shell, before Drawterm is accessible. An [[http://sdf.org/?tutorials/ed | ed cheat-sheet]] is available. Additional editors are operational from a [[#drawterm|Drawterm]] Rio rc prompt: acme, [[#sam|sam]], or ''% sam -d''. 
- 
-<sup>1</sup>  [[http://doc.cat-v.org/plan_9/2nd_edition/README.html|README (slightly outdated)]] //If you think of it as UNIX, you'll often be frustrated because something doesn't exist or works differently//. <sup>2</sup> The "**-r**" option may cause problems, please avoid. 
- 
-==== evaluate 9front ==== 
- 
-|1|Due to the recent //SDF 9xen// image, //[[#plan_9_on_an_sdf_vps|9front PARODY]]//, some [[#evaluate_9front|content]] in this section is redundant.| 
-|2|The //SDF 9xen// //9front PARODY// effort integrated selected 9front programs, for the convenience of Boot Camp participants.| 
-|3|9front to 9xen PARODY fixes are coming soon (07 Oct 2020).| 
-|4|A 9front VPS is ready for rehearsal, or release, (09 Oct 2020). [[#sdf_boot_camp_communication_resources|Recent communication]]| 
-|5|**//evaluate 9front//** redirects to [[:vps_-_9front#front_on_an_sdf_vps|9front on an SDF VPS]].| 
- 
-From the SDF shell prompt: 
- 
-<code> 
-  $ ls /ftp/pub/sdf/plan9/dist/9front/386/bin 
-</code> 
- 
-From the SDF Plan 9 Rio rc prompt: 
- 
-<code> 
-  % mkdir /usr/$user/testbin 
-  % ftpfs -a ftp@ftp.sdf.org ftp.sdf.org 
-  % cp /n/ftp/pub/sdf/plan9/dist/9front/386/bin/mothra /usr/$user/testbin/mothra 
-  % cd /usr/$user/testbin 
-  % lc -l 
-</code> 
- 
-At the Plan 9 Rio rc prompt, type "''cd te''" then "''Ctrl+F''". The ''Ctrl+F'' or ''INS'' key provides an auto-completion feature within the Rio window system. 
- 
-<code> 
-  % cd te 
-</code> 
- 
-''Ctrl+F'' 
- 
-<code> 
-  % cd testbin 
-  % webfs 
-  % mothra -k 
-</code> 
- 
-Evaluate //9front// "mothra" with option "-k": ''mothra -k''. 
- 
-^Command^ Option^ Manual^ 
-|FACES|''faces -i''|http://man.9front.org/1/faces| 
-|MOTHRA|''mothra -k''|http://man.9front.org/1/mothra| 
-|SSH<sup>1,2</sup>|''ssh user@sdf.org''|http://man.9front.org/1/ssh| 
-|STATS|''stats -lmisce''|http://man.9front.org/8/stats| 
-|WINWATCH|''winwatch -e '^(winwatch|stats|faces)'''|http://man.9front.org/1/winwatch| 
- 
-<code> 
-  % vt 
-  % ssh user@sdf.org 
-</code> 
- 
-<sup>1</sup> Run the //9front// ''vt'' command before the //9front// ''ssh'' command. <sup>2</sup> From the //9front// man page: ssh [ -d ] [ -R ] [ -r ] [ -t thumbfile ] [ -T tries ] [ -u user ] [ -h ] [ user@]host [ -W remote!port ] [ cmd args ...] 
- 
-===== Plan 9 Boot Camp ===== 
- 
-SDF periodically runs a Plan 9 Boot Camp which is open to anyone with an SDF user<sup>1</sup> account. Of the various VPS that SDF offers<sup>2</sup>, the SDF Plan 9 Boot Camp VPS is the only VPS provided without subscription, to SDF MetaARPA<sup>3</sup> members. These Plan 9 Boot Camps are announced about 30 days before they begin and are often set around the //International Workshop on Plan 9// conference<sup>4</sup>. They are usually a seasonal occurrence and run for about 2 months. 
- 
-Why learn Plan 9 as a group?  Plan 9 wants a community. Yes you can learn a lot on your own but Plan 9 was designed with a network of machines and users in mind. 
- 
-Activities of the SDF Plan 9 Boot Camp include: 
- 
-  * Installation or pre-generated Plan 9 instance under Xen 
-  * Self Guided Discoveries in: ed, network configuration 
-  * Self Guided Discoveries in: drawterm (from your computer), rio and stats 
-  * Self Guided Discoveries in: acme, sam, abaco, mothra and man 
-  * Self Guided Discoveries in: mapdemo, catclock, juggle and tetris 
-  * Self Guided Discoveries in: 9front and contrib via ftpfs 
-  * Self Guided Discoveries in: 9fans 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 ''<nowiki>ftp://ftp.sdf.org</nowiki>'' (in //pub/sdf/plan9/contrib//). This directory persists and can be used perpetually for Plan 9 related sharing. 
- 
-==== Boot Camp Discoveries or Challenges ==== 
- 
-Discoveries, or challenges, are mentioned on //plan9-l// or __live__ on twitch. 
- 
-Recommended: 
-|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| 
-|Acme Editor, **Acme Mail**, Plan 9 demo (short)|https://www.youtube.com/user/slawmasta| 
- 
-A self guided challenge: 
-|NYC*BUG| 
-|Plan 9: Not dead, Just Resting, Ori Bernstein| 
-|https://www.nycbug.org/index?action=view&id=10672| 
-|https://youtu.be/6m3GuoaxRNM| 
-|31:09 - //The essence of Plan 9 is 9p and name spaces//.| 
- 
-SDF Fall 2020 Plan9 Boot Camp "Tea Note" Presentation<sup>5</sup> 
-|sdfpubnix|https://www.twitch.tv/sdfpubnix| 
- 
-Some "Tea Note" Presentation commands from the Rio rc prompt (%). 
- 
-|date|date, clock - date and time|http://man.9front.org/1/date| 
-|file|file - determine file type|http://man.9front.org/1/file| 
-|hg|hg - Mercurial source code management system|http://man.9front.org/1/hg| 
-|memory|memory - print memory statistics in human-readable format|http://man.9front.org/8/memory| 
-|mk|mk, membername - maintain (make) related files|http://man.9front.org/1/mk| 
-|plumb|plumb - send message to plumber|http://man.9front.org/1/plumb| 
-|plumber|plumber - file system for interprocess messaging|http://man.9front.org/4/plumber| 
-|plumber|Plumbing examples|https://9p.io/wiki/plan9/plumbing_examples/index.html| 
-|sshfs|sshfs - secure file transfer protocol client|http://man.9front.org/4/sshfs| 
-|sysinfo|sysinfo, sysupdate - report information about, update the system|http://man.9front.org/1/sysinfo| 
-|sysupdate|download latest sources|''% cat /bin/sysupdate''| 
-|who|who, whois - who is using the machine|http://man.9front.org/1/who| 
- 
-Other “Tea Note” Presentation examples from the Rio rc prompt (%). 
-|file|''% for (i in *) file $i''| 
-|9fs|''% 9fs 9fat''| 
-|9fs|''% cd /n/9fat'' (Only from the VPS console rc prompt, if 9front kernel changes are made)| 
- 
-^Some hints about Plan 9^ 
-|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| 
-|Plan 9 is more like UNIX than Linux is like UNIX| 
-|Environment variables are stored and manipulated in /env| 
-|System configuration is in /cfg| 
-|Login configuration is in /rc/bin (termrc or cpurc, also .local files)| 
-|System types: cpu vs. term| 
- 
-<sup>1</sup> [[https://sdf.org/|UNIX Shell Account]]. <sup>2</sup> VPS membership required. <sup>3</sup> Type "//meta//" at the SDF shell (''$ meta'') for details. <sup>4</sup> International Workshop on Plan 9 http://iwp9.org/ <sup>5</sup> Dependent on schedule availability. 
- 
-==== Hello World ==== 
- 
-|//Hello World//, an example|''http://sdf.org/?tutorials/Plan_9_C#section-1''| 
- 
-==== SDF Boot Camp 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]]. 
- 
-===== Other ===== 
- 
-  * **Plan 9 Rc Survival Guide** http://sdf.org/?tutorials/Plan_9_rc - (tutorials, compatible with Plan 9 [[#browsing_the_web|abaco]], or mothra) 
- 
-  * **Plan 9 C Programming** http://sdf.org/?tutorials/Plan_9_C - (tutorials, compatible with Plan 9 [[#browsing_the_web|abaco]], or mothra) 
- 
-  * **Plan 9 on SDF VPS** http://sdf.org/?tutorials/VPS_Plan9 - (tutorials, compatible with Plan 9 [[#browsing_the_web|abaco]], or mothra) 
- 
-  * **com** https://wiki.sdf.org/doku.php?id=com; [[http://sdf.org/?tutorials/comnotirc|COM is not IRC]] - (tutorials, compatible with Plan 9 [[#browsing_the_web|abaco]], or mothra) 
- 
-|[[:com#com_commands|room]] '**plan9**' in '**com**'| 
- 
-  *  **bboard** https://wiki.sdf.org/doku.php?id=bboard 
- 
-  * README - "This brief document is intended to help you get started using Plan 9." (//slightly outdated//) 
- 
-<code> 
-  % readweb http://doc.cat-v.org/plan_9/2nd_edition/README.html 
-</code> 
- 
-  * A screenshot within Drawterm, or from a Rio rc prompt. 
- 
-<code> 
-  % topng </dev/screen >screenshot.png 
-  % png screenshot.png 
-</code> 
- 
-^Command^ Example^ 
-|TOPNG|% ''topng </dev/screen >screenshot.png''| 
- 
-  * The ''Ctrl+F'' or ''INS'' key provides an rc prompt auto-completion feature, within the Rio window system. 
- 
-  * An SDF Plan 9 Boot Camp snippet from @SDF (Sept. 26, 2020) 
- 
-{{:playground:plan9-sdf-splash-1.png?direct&200|}} 
- 
-|@SDF|https://mastodon.sdf.org/@SDF| 
- 
-  * **SDF User Contributed Tutorials** https://wiki.sdf.org 
- 
-  * Valued mention and resource 
- 
-|Plan 9 from Bell Labs|https://9p.io/plan9| 
-|Glenda, the Plan 9 Bunny|https://9p.io/plan9/glenda.html| 
-|Other hardware|https://9p.io/wiki/plan9/Other_hardware/index.html| 
- 
-===== Links ===== 
-==== Tutorials ==== 
-    * [[http://sdf.org/?tutorials/VPS_Plan9|Plan 9 on SDF VPS]] 
-    * [[https://web.archive.org/web/20120121090252/http://jgw.tx0.org/howto/building_drawterm.html|Building Drawterm on NetBSD-5.x/i386]] 
-    * [[http://www.quanstro.net/newbie-guide.pdf|A Plan 9 Newbie's Guide [PDF]]] 
-    * [[https://web.archive.org/web/20170105023205/http://www.9gridchan.org/plan_9_basics|Plan 9 basics]] 
-    * [[http://doc.cat-v.org/plan_9/misc/rit-intro|RIT Plan 9 introduction]] 
-    * [[https://web.archive.org/web/20170601065710/http://plan9.bell-labs.com/wiki/plan9/UNIX_to_Plan_9_command_translation/index.html|Plan 9 commands for UNIX users]] 
-    * [[https://pspodcasting.net/dan/blog/2019/plan9_desktop.html|Dan Simon Myrland's Plan9 Desktop guide]] 
-==== Utilities ==== 
-    * [[https://web.archive.org/web/20080616071532/http://cm.bell-labs.com/sys/man/|Manual pages]] 
-    * [[http://citeseer.ist.psu.edu/viewdoc/download?doi=10.1.1.41.3287&rep=rep1&type=pdf|Rc -- A Shell for Plan 9 and UNIX Systems [PDF]]] 
- 
-==== Videos ==== 
- 
-    * [[http://www.youtube.com/watch?v=SoGLU1l7LwY|Narrated Plan 9]] 
-    * [[http://www.youtube.com/watch?v=dopu3ZtdCsg|Plan9 Acme Intro - Part 1]] 
-    * [[http://www.youtube.com/watch?v=2vjD_B__SbQ|Plan9 Acme Intro - Part 2]] 
-    * [[http://www.youtube.com/watch?v=cR96WQ6OR00|Plan9 Acme Intro - Part 3]] 
-    * [[http://www.youtube.com/watch?v=byoznMe8ab4|Acme Mail Demo]] 
-    * [[http://www.youtube.com/watch?v=Pydckb9ZU8Y|Acme Editor Demo]] 
- 
-==== Books ==== 
- 
-    * [[https://archive.org/details/plan9designintro|Introduction to Operating Systems Abstractions Using Plan 9 from Bell Labs]] - (external archive; PDF) 
- 
----- 
- 
-[[https://sdf.org/tutorials/VPS_Plan9.html]] - (traditional tutorial using [[wp>Revision_Control_System|RCS]], compatible with [[#browsing_the_web|abaco]])