% WARNING! YOU WILL LOSE YOUR DATA!
This function allows you to completely destroy your plan9 image
and install a fresh generic distribution.
Do you wish to continue? (yes/no) yes
% Copying a fresh plan9 image [PLEASE WAIT]
|x|This may take time.|
% Copying a fresh plan9 image [PLEASE WAIT] [COMPLETE]
(continue)
|x|Press the '[**Enter**]' key to continue to the [[#shutdown_and_restart|VPS Maintenance Shell]].|
=== 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), "bootargs is (tcp, tls, il, local!device)[**local!/dev/sdC0/fscache**]". Next, there will be prompt to login. Press the '[**Enter**]' key to login as the Plan 9 default "user[**glenda**]:".
bootargs is (tcp, tls, il, local!device)[local!/dev/sdC0/fscache]
user[glenda]:
You will now see the Plan 9 VPS console rc prompt (%), Plan 9's shell.
=== Plan 9 shell ===
|x|**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.|
|x|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 (%).|
|Plan 9 Rc shell|[[#tutorials|Plan 9 Rc Survival Guide]]|
1 A VPS password change option is available from the VPS Maintenance Shell, after login.
==== Networking ====
|x|Review the ''/usr/glenda/start'' file, or rc script, from the VPS console prompt (%).|
term% cat /usr/glenda/start
The mentioned ''/usr/glenda/start'' file does __not__ require editing. Any edit1 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__2 after an ''% fshalt'', __before__ the networking is restarted.|
1 ''% man dp9ik'' 2 ''% fshalt'' from an rc prompt (%), then at the "VPS Maintenance Shell" enter '**s**' - force shutdown, then enter '**r**' - reset or start.
===== 9front Drawterm =====
[[plan9front_-_drawterm_rio_and_stats|Drawterm]]1 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½'.
$ ./drawterm -a YOUR_IP -h YOUR_IP -u glenda
=== From the 9front Drawterm screen ===
|1|Press [**Enter**] once.|
|2|Type your Drawterm password, then press [**Enter**].|
^ Plan 9 Console ^ Keyboard activity ^
|**auth[your.IP.exhibt.here]:**| <= Press [**Enter**] once.|
|**glenda@plan9 dp9ik password:**| <= Type your **Drawterm password**, then press [**Enter**]|
| The //**cpu: failed to chdir to**// message is not uncommon. |
=== From rio: ===
^ New ^ <= release the button here ^
| Resize | |
| Move | |
| Delete | |
| Hide | |
|1|At the rio grey screen, press the right button of your mouse. A menu (above) should appear. Then, release the button over the "New" option.|
|2|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.|
| New | |
| Resize | |
| Move | |
^ Delete ^ <= delete a window gracefully ^
| Hide | |
|There is a "Delete" option in addition to the "New" option. This "Delete" option is useful. It will delete a window gracefully.|
| New | |
| Resize | |
| Move | |
| Delete | |
^ Hide ^ <= hide a window ^
|There is a “Hide” option in addition to the “New” option.|
1 //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 ====
=== A 9front Drawterm note: ===
^ Command ^ 9front Drawterm output ^
|''$ ./drawterm
[/path/to/local/directory]
[/path/to/local/directory] mdkir foobar
cpu% cd /mnt/term/foobar
cpu% pwd
/mnt/term/foobar
cpu% touch screenshot.challenge.txt
^ 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 ====
|Introduction to Operating Systems Abstractions [[https://archive.org/details/plan9designintro|Using Plan 9 from Bell Labs]] (pdf; external archive)|
|1.3. **Leaving the system**; Page 6.|
|//To leave your terminal you have all you need. Press the terminal power button (don’t look at the window system for it) and switch it off. Because the files are kept in the file server, any file you changed is already kept safe in the file server. Your terminal has nothing to save. You can switch it off at any time.//|
=== local os: ===
^ Drawterm ^ application ^
|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:
% echo 'auth=9p.sdf.org authdom=9sdf' >> /lib/ndb/local
=== Check if factotum is running: ===
term% ps | grep factotum
glenda 130 0:00 0:00 168K Pread factotum
|x|Start factotum if it is __not__ running.|
term% auth/factotum
=== RCPU to 9p.sdf.org ===
|x|A ''9p.sdf.org'' user name (''-u USER'') is required.|
% rcpu -h 9p.sdf.org -u USER
password:
!
|x|Once connected to //9p.sdf.org//:|
cpu% cd $home
|x|Start the rio1,2 window system:|
cpu% rio
|x|Start ''[[vps_-_9front#command_reminder|stats -lmisce]]'' in a new rio1,2 rc window:|
cpu% stats -lmisce
=== An incorrect password repair example: ===
% cat /mnt/factotum/ctl
key proto=dp9ik dom=9sdf user=USER !password?
% echo 'delkey proto=dp9ik dom=9sdf user=USER' > /mnt/factotum/ctl
%
1 [[vps_-_9front#from_rio|More about rio]] 2 [[plan9front_-_drawterm_rio_and_stats|More details about rio]]
===== 9front VPS update tasks =====
|x|'sysupdate' is reserved1 for the user glenda (Thu Jan 14 08:07:38 GMT 2021).|
|x|The VPS Maintenance Shell console __will ask for the password__ before confirming a shutdown [**s**], or a start [**r**]. //Keep your password nearby//.|
|x|Step "II.) Updating your system" (''% mk install'') will take time.|
|x|Optionally,[[vps_-_9front#working_in_9front| select “scroll” to toggle the window scroll (on)]]. This will reduce the need to manually scroll during the install.|
% lc -l /mnt/term
=== From a rio window: ===
| cut | |
| paste | |
| snarf | |
| plumb | |
| look | |
| send | |
^ 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|A carefree scroll setting for [[com#getting_starteda_walkthrough|room]] plan9 in com (toggle scroll **on** before ''% vt -f /lib/font/bit/pelm/unicode.8.font'')|
=== At the rio rc prompt: ===
|At the Plan 9 rio rc prompt, the ''DELETE'' key provides an interrupt.|
|At the Plan 9 rio rc prompt, the ''Ctrl+F'' or ''INSERT'' key provides an auto-completion feature within the rio window system.|
|x|At the Plan 9 rio rc prompt, the ''Ctrl+F'' reports the number of files in the current directory.|
|x|Type a few characters and then a ''Ctrl+F'' will match.|
|At the Plan 9 rio rc prompt, use the ''Ctrl+B'' key to go from anywhere in the rio window back to the command prompt.|
|At the Plan 9 rio rc prompt, use the ''Ctrl+A'' key to go to the beginning of a line.|
|At the Plan 9 rio rc prompt, use the ''Ctrl+E'' key to go to the end of the line.|
|At the Plan 9 rio rc prompt, use the ''Ctrl+U'' key to erase the current line.|
|At the Plan 9 rio rc prompt, use the ''Ctrl+W'' key to erase the previous word.|
|At the Plan 9 rio rc prompt, use the ''Ctrl+I'' key to tab.|
|At the Plan 9 rio rc prompt, the ''""'' executes the previous command.|
|At the Plan 9 rio rc prompt, the ''"'' prints the previously used command.|
|At a rio window, ''ESC'' changes the border.Then it accepts multiple commands and when ''ESC'' is pressed again they are issued together.|
% pwd
/usr/glenda
% cd lib/mothra
% lc
hit.html
% "" c
% cd lib/mothra
Can't cd lib/mothra: 'lib' directory entry not found
% "" l
% lc
hit.html
%
|x|**Hint**:|grep '
% cat /usr/$user/lib/profile | grep rio
|RIO:|''% man rio''|http://man.9front.org/4/rio|
|RIO:|rio -i riostart|Its -i option names a startup script, which typically contains several window commands generated by wloc.|http://man.9front.org/4/rio
|RIO:|rio -i riostart -s|The -s option initializes windows so that text scrolls; the default is not to scroll.|
|RIO:|rio -i riostart -b|The -b option reverses the normal color scheme for windows, painting white text on a black background.|
|x|Riostart is located here: $home/bin/rc/riostart|
|x|rio [[plan9front_-_drawterm_rio_and_stats#rio|customization details]]|
{{::wloc.png?800|}}
=== profile and rules ===
|x|A user profile: /usr/$user/lib/profile|
|x|A user profile: /usr/$user/lib/plumbing|
|x|Some 9front plumber rules are located in /sys/lib/plumb/basic|
|x|Some 9front plumber rules are located in /mnt/plumb/rules|
=== plumb to web: ===
An existing ''/mnt/plumb/rules'' example.
% slay webfs
@{echo kill>/proc/527/ctl} # webfs
@{echo kill>/proc/612/ctl} # webfs
@{echo kill>/proc/683/ctl} # webfs
|1|Press the left mouse button, and sweep, to highlight (in grey) the ''% slay webfs'' **output text**.|
|2|Press the middle mouse button to select '**send**'.|
|3|**Release the middle mouse button** to complete the '**send**' to rc (''% slay webfs | rc'').|
| cut | |
| paste | |
| snarf | |
| plumb | |
| look | |
^ send ^ <= release the middle mouse button here ^
| noscroll | |
=== ns: ===
|x|ns - display name space|
|x|ns [ -r ] [ pid ]|
|x|ns prints a representation of the file name space of the process with the named pid, or by default itself.|
An **ns** example.
|1|In one Drawterm rio window, enter these two commands at the rio rc prompt (%). The sam [[#editors|editor]] will start.|
cpu% touch test.edit
cpu% sam test.edit
|2|In another Drawterm rio window, enter these three commands at the rio rc prompt (%). Use the pid from your "sam test.edit" line.|
cpu% ps -a | grep sam
glenda 1280 0:00 0:00 188K Pread sam test.edit
glenda 1282 0:00 0:00 312K Rendez samterm [main]
glenda 1283 0:00 0:00 312K Pread samterm [mouseproc]
glenda 1284 0:00 0:00 312K Pread samterm [kbdproc]
glenda 1285 0:00 0:00 312K Pread samterm
glenda 1286 0:00 0:00 312K Pread samterm
glenda 1290 0:00 0:00 56K Pread grep sam
cpu% ns 1280 | grep tmp >view.tmp
cpu% cat view.tmp
bind -c /n/other/usr/glenda/tmp /usr/glenda/tmp
bind -c /n/other/usr/glenda/tmp /tmp
1 Taken from [[https://9p.io/wiki/plan9/Expanding_your_Grid/index.html|Expanding your Grid]] //...CPU AND DRAWTERM CONNECTIONS BETWEEN MULTIPLE MACHINES//.
==== 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|SAM:|sam1, B, sam.save, samterm - screen editor with structural regular expressions|http://man.9front.org/1/sam|
|x|ED:|ed2 - text editor|http://man.9front.org/1/ed|
|x|[[vps_-_9front#boot_camp_discoveries_or_challenges|ACME]]:|acme3, win - interactive text windows|http://man.9front.org/1/acme|
=== sam: ===
Sam is a screen editor.
% pwd
/usr/glenda
% cp /usr/glenda/lib/profile /usr/glenda/lib/EDprofile
% sam /usr/glenda/lib/EDprofile
|1|While the cursor is over the sam window, press the right button of your mouse and drag the cursor over the file name.|
|2|Release the right mouse button once the cursor is over the file name.|
|3|The cursor pointer will change to a square.|
|4|Press the right button, while the square cursor is over the lower panel, to load the file in the lower panel|
| new | |
| zerox | |
| resize | |
| close | |
| write | |
| ~~sam~~ | |
^ - /lib/EDprofile ^ <= release the right mouse button here ^
|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 '**[Enter]**'. This saves the file.|
|Type a '**q**' in the upper panel, then press '**[Enter]**'. This quits sam.|
| cut | |
| paste | |
| snarf | |
| plumb | |
| look | |
^
% acme
^ Newcol Kill Putall Dump Exit ^
|**New Cut Paste Snarf Sort Zerox Delcol**|
% acme SDF_User_Contributed_Tutorials.html
^ Newcol Kill Putall Dump Exit ^^^
|**New Cut Paste Snarf Sort Zerox Delcol**|:::||
|**//SDF_User_Contributed_Tutorials.html//** **Del Snarf : Look**|:::|<= Replace //Look// with //Edit ,s/Booting/Rowing/g//|
^ Newcol Kill Putall Dump Exit ^
|**New Cut Paste Snarf Sort Zerox Delcol**|
|**//SDF_User_Contributed_Tutorials.html//** **Del Snarf : Edit ,s/Booting/Rowing/g**|
|x|View //[[vps_-_9front#boot_camp_discoveries_or_challenges|A Tour Of The Acme Editor]]// for details.|
|:::|Mouse buttons 1, 2, & 3 - **3:06**; Edit - **7:03**|
This is the tutorial for setting-up the 9front2 operating system in a VPS slice on SDF. The tutorial is aimed at participants in the SDF Plan 9 Boot Camp3, but should be useful to other SDF VPS users. More recently, the Boot Camp participants will begin studying virtualized amd64 9front.
1ASCII art 2 Plan9front (or 9front) is a fork of the Plan 9 from Bell Labs operating system; Plan 9 Derivatives and forks. 3 Booting
% mothra
% webfs; mothra -k
%
=== rio rc send: ===
|x|The previously issued '**webfs; mothra**' string is used to illustrate the '**send**' selection.|
|x|Another way to '**send**' commands the rio rc prompt (%).|
|1|Press the left mouse button, and sweep, to highlight the ''webfs; mothra'' **input text**.|
|2|Press the middle mouse button to select '**send**'.|
|3|**Release the middle mouse button** to complete the '**send**' to rc (''% webfs; mothra | rc'').|
| cut | |
| paste | |
| snarf | |
| plumb | |
| look | |
^ send ^ <= release the middle mouse button here ^
| noscroll | |
=== mothra save hit: ===
While using mothra, the '**save hit**' and '**hit list**' is accessed by pressing the right mouse button. The right mouse button '**save hit**' selection will add the current URL to ''$home/lib/mothra/hit.html''. The right mouse button '**hit list**' selection will display the hit list in the mothra browser.
| alt display | |
| moth mode | |
| snarf | |
| paste | |
| plumb | |
| search | |
^ save hit ^ <= release the right mouse button here ^
| hit list | |
| exit | |
cpu% fshalt
halting.../srv/cwfs.cmd...
done halting
cpu%
|x|''% **fshalt**'' from the 9front VPS console rc prompt (%), then at the "VPS Maintenance Shell" enter '**s**' - force shutdown, then enter '**r**' - reset or start.|
=== From the 9front VPS Maintenance Shell console prompt: ===
term% fshalt
halting.../srv/cwfs.cmd...halted at Fri Oct 30 15:58:54 2020.
done halting
term%
|1|Press **ctl-]** to continue, if viewing where the VPS console rc prompt (%) was once active. Press the '[**Enter**]' key to access the VPS Maintenance Shell (may apply).|
|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.|
$ ping YOUR_IP
==== Command reminder ====
|x|Previously mentioned commands from //Plan 9 on an SDF VPS//.|
^ Command ^ Option ^ Manual ^
|ABACO:| ''abaco''|http://man.9front.org/1/abaco|
|ACME:| ''acme''|http://man.9front.org/1/acme|
|ED:|''ed''|http://man.9front.org/1/ed|
|FACES:|''faces -i''|http://man.9front.org/1/faces|
|MOTHRA:|''mothra -k''|http://man.9front.org/1/mothra|
|NS:|''ns pid''|http://man.9front.org/1/ns|
|PAGE:|''page /sys/doc/sam/sam.ps''|http://man.9front.org/1/page|
|PAINT:|''paint''|http://man.9front.org/1/paint|
|PS:|''ps -a''|http://man.9front.org/1/ps|
|PSTREE:|''pstree''|http://man.9front.org/1/ps|
|SAM:|''sam -d''|http://man.9front.org/1/sam|
|SLAY:|''slay''|http://man.9front.org/1/kill|
|SSH:|''ssh user@sdf.org''|http://man.9front.org/1/ssh|
|STATS:|''stats -lmisce''|http://man.9front.org/8/stats|
|VT:|''vt [-f font]''|http://man.9front.org/1/vt|
|WEBFS:|''webfs''|http://man.9front.org/4/webfs|
|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. ===
% topng screenshot.png
% png screenshot.png
=== A window-shot within Drawterm, or from a rio rc prompt. ===
% topng window.png
% png window.png
=== 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 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.|
% grep 385 /dev/wsys/*/label
/dev/wsys/10/label:rc 201318385
% topng window.png
% png window.png
|x|Run ''winwatch'' to view a window label list.|
% winwatch
^ Command ^ Example ^
|TOPNG:|% ''topng screenshot.png''|
==== Adding a User ====
|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 ^
|7.3.1 - Adding users|http://fqa.9front.org/fqa7.html|
|7.4.2 - Adding users|http://fqa.9front.org/fqa7.html|
You may want to add 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 -C /srv/cwfs.cmd'''1. Once at the file server prompt (''a blank''), create a new user. Replace USER with what you want your new user to be named: 'newuser 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: 'newuser sys +USER'. Exit the file server console prompt (''a blank'') by typing: '**ctrl+\**'. You will now be at the "''> > >''" prompt; type '**q**' to quit the "''> > >''" prompt.
% con -C /srv/cwfs.cmd
newuser USER
newuser sys +USER
newuser adm +USER
newuser upas +USER
''Ctrl+\''
>>> q
%
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.
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''', before '''% mail -c''', from the VPS console prompt (%).
term% /sys/lib/newuser
term% mail -c
A list of eight directory and file tasks.2
term% mkdir /n/other/usr/$user
term% mkdir /n/other/usr/$user/tmp
term% cp -x /usr/glenda/sdf /usr/$user/sdf
term% cp -x /usr/glenda/start /usr/$user/start
term% cp -x /usr/glenda/bin/rc/riostart /usr/$user/bin/rc/riostart
term% cp /usr/glenda/lib/profile /usr/$user/lib/profile
term% mkdir /usr/$user/www
term% cp /usr/glenda/www/* /usr/$user/www/
A VPS console prompt (%) ''% sam -d'' edit example, similar to ''% ed''. Optionally, a new user start file can be created while user glenda is connected with Drawterm, before a new user is created. The ed, sam, and acme editors are usable with a Drawterm rio rc prompt (%).
$ ./drawterm -a YOUR_IP -h YOUR_IP -u new USER
1 For the cwfs file server, only ([[#shutdown_and_restart|"halting.../srv/cwfs.cmd..."]]). 2 [[http://fqa.9front.org/fqa7.html|7.3.1 - Adding users]] //New users are created without a profile,
% lc /adm/timezone
% cp /adm/timezone/CET /adm/timezone/local
% sed 4q /rc/bin/termrc
#!/bin/rc
# this file is run if service=terminal
#TIMESYNCARGS=(-rLa1000000)
TIMESYNCARGS=(-n pool.ntp.org)
%
% sam /rc/bin/termrc
% fshalt
=== Setting a User's Timezone ===
If you just want to change the timezone of your user account on a shared system, you can add something like the following to your lib/profile:
cat /adm/timezone/US_Central > /env/timezone
1 [[https://9p.io/wiki/plan9/Installation_instructions/index.html|Plan 9 Wiki Installation Instructions]], //SETTING UP CORRECT TIMEZONE// section. 2 '''% cat /adm/users | grep adm''' 3 '''% fshalt''' from an rc prompt (%), then at the "VPS Maintenance Shell" enter '**s**' - force shutdown, then enter '**r**' - reset or start.
====== Plan 9 Boot Camp ======
SDF periodically runs a Plan 9 Boot Camp which is open to anyone with an SDF user1 account.
$ ./drawterm -a 9p.sdf.org -h 9p.sdf.org -u USER
|//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''|
A Drawterm rc prompt (without rio; //teletype only//):
$ ./drawterm -G -h 9p.sdf.org -u USER
|x|A Drawterm [[vps_-_9front#drawterm_and_file_transfer|file transfer]] hint:|''% lc /mnt/term''|
1 plan9front running natively on hardware. 2 NetBSD Xen [] running Plan 9 Boot Camp participants' VMs, during the announced Plan 9 Boot Camp occurrences.
==== Tutorials ====
|x|**Plan 9 Rc Survival Guide** http://sdf.org/?tutorials/Plan_9_rc - (tutorials, compatible with Plan 9 abaco, or mothra)|
|x|**Plan 9 C Programming** http://sdf.org/?tutorials/Plan_9_C - (tutorials, compatible with Plan 9 abaco, or mothra)|
|x|**Plan 9 on SDF VPS** http://sdf.org/?tutorials/VPS_Plan9 - (tutorials, compatible with Plan 9 abaco, or mothra)|
|x|**SDF User Contributed Tutorials** (html) https://sdf.org/tutorials/ - (tutorials, compatible with mothra)|
|x|**SDF User Contributed Tutorials** (wiki) https://wiki.sdf.org - (tutorials, compatible with mothra)|
|x|**9FRONT FREQUENTLY QUESTIONED ANSWERS** http://fqa.9front.org/|
|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|}}
|An SDF Plan 9 Boot Camp snippet from @SDF (Sept. 26, 2020)|
|**9front Propaganda**|http://9front.org/propaganda/|
^ Valued mention ^ 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|
==== Plan 9 VPS tutorial ====
|x|[[plan9front_-_acme_sam_abaco_mothra_and_man|Plan 9 on an SDF VPS]] tutorial (wiki)|
|x|Getting Started with Plan 9 Drawterm|
|x|Sam (''% sam -d'')|
|x|Ed (''% ed'')|
|x|Acme (''% acme'')|
|x|Abaco (''% abaco'')|
|x|Mothra (''% mothra -k'')|
|x|Useful Plan 9 Commands|
===== Reference book =====
|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)|
===== Conclusion or close =====
The wiki formatting used in this tutorial was reviewed with the SDF Plan 9 Boot Camp plan9front mothra browser, and the mothra option '-k': ''% mothra -k''. The intention was to support those SDF Plan 9 Boot Camp participants who may participate (in the Boot Camp) with a low-speed Internet connection. The outcome of the mentioned formatting decision is pending the approval of future wiki editors. Have fun.