💾 Archived View for tilde.club › ~ralfwause1983 › content › plan9.gmi captured on 2023-05-24 at 18:00:12. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2022-03-01)
-=-=-=-=-=-=-
I had allways the habit of trying out new operating systems, exploring exotic hardware and going through manpages, no (sane) human has seen before... so, now its my turn with Plan9. I must admit, it is not really the first time i dabble into the realm of the rabbit, i have tried out Plan9 (from Bell Labs) on the Raspberry Pi a few years ago, with mixed results. This time its going to be Plan9 Front on my trusty Thinkpad R60.
There are some really good tutorials covering the basic needs out there, i followed mostly 9front FQA (frequntly questioned answers) and the Plan9 Desktop Guide
=> https://fqa.9front.org FQA
=> https://pspodcasting.net/dan/blog/2019/plan9_desktop.html Plan9 Desktop Guide
You can say Plan9 is the successor of Unix in a way that it expands its core concepts and brings them into the modern world with really no regards to backwards compatibility. The original Plan9 from Bell Labs is still around, but as i stated above, i got really mixed results by using it in my day to day work as i tried it out a couple of years ago. Luckily a couple of (mostly german?) devs with a SPECIAL sense of humor forked it and so we got a fairly modenized version.
Previous exposure to Unix is - as often stated in articles regarding Plan9 - a double edged sword, the commands you know are there, but mostly working slightly different than you expected.
In the following i will document the installation and configuration of the system i use as a daily driver, i will expand this later with hints, tips and things i encounter by actually using it.
What i can say at the moment after the first few days is, that Plan9 never stops to amaze me and force me to think differently about concepts on working effectively with a computer... which is a good thing!
If you encounter an error or can give me a hint how i could do something different or better just toss me a mail to ralf.wissing@posteo.de
The installation is straight forward and good documented. After creation of an boot medium (in my case an USB Sick) i booted into a live system out of which i started the installation via the inst/start command.
Now i was asked which of the two filesystems (cwfs or hjfs) i would like to use, i choose the newer but still experimental hjfs system. The following questions tegarding partitioning and configurarion are no different from any other unixoid installation and in most cases pretty self explanatory. Everything worked smoothly and after a while i got the message "file system made" which signaled the successfull end of the installation.
Afer a reboot i started to configure the system to my needs, at first i changed the keyboard settings to neo2, a special ergonomic layout for the german language - which can be conveniantly done temporarily via the kbmaps tool, or permanently via the entry "kbmap=neo2" in plan9.ini file, which resides in the boot partition (which you can mount via the command "9fs 9fat").
The next step was to get Plan9 to work with a usable display resolution for my Thinkpad, because during the installation i played it safe by staying on the default 1024x768 vesa mode. The resolution can be set by the aux/vga command. The (for me) successfull command was:
%<-------------------------------
aux/vga -m t43p -l 1600x1200x32
%<-------------------------------
ACHTUNG: If you switch to a not supported mode you are better at a terminal, because you now have to blind type 'fshalt' or 'reboot' to get your screen back!
After the basics where tried out my plan9.ini file now looks as follows:
%<-------------------------------
bootfile=9pc
bootargs=local!/dev/sdE0/fs -m 574
mouseport=ps2
monitor=t43p
vgasize=1600x1200x32
kbmap=neo2
tiltscreen=none
%<-------------------------------
Now, after the successfull installation and basic configurarion it was time to get my emails working. And.. oh boy... this part gave me gray hair. A basic configuration based on gmail is described in the manual, but it took me some time to get my adress hosted at posteo.de running.
As the first step i told factotum (Plan9's password manager) to ask me for my smtp and imap passwords:
%<-------------------------------
auth/factotum -g 'proto=pass server=posteo.de service=imap user=MYACCOUNT@posteo.de !password?'
auth/factotum -g 'proto=pass server=posteo.de service=smtp user=MYACCOUNT@posteo.de !password?'
%<-------------------------------
You can also tell factotum the passwords directly by changing the above '!password?' to '!password=MYPASSWORD'
This is fairly simple by mounting the imap account with upas
%<-------------------------------
upas/fs -f /imaps/posteo.de/MYUSERNAME
%<-------------------------------
The first time this command is issued it will complain that it doesn't recognize the server certificates which can easyly be fixed by the following:
%<-------------------------------
echo 'x509 sha256=XXXXXX' >> /sys/lib/tls/mail
%<-------------------------------
After this i was able to mount the IMAP account and read my mail.
This was the part that got me grey hair...
First i had to modify the file /mail/lib/rewrite, by first copying the template /mail/lib/rewrite.gateway over it and then modify in the following way:
%<-------------------------------
local!"(.+)" alias \@posteo.de
local!(.*) alias \@posteo.de
%<-------------------------------
Next, i added the smtp server variable in /lib/ndb/local:
%<-------------------------------
smtp=posteo.de
%<-------------------------------
Now i had to modify the file /mail/lib/remotemail:
%<-------------------------------
shift
sender=ralf.wissing@posteo.de
shift
addr=tcp!posteo.de!587
shift
fd=`{/bin/upas/aliasmail -f $sender}
switch($fd){
case *.*
;
case *
fd=posteo.de
}
exec /bin/upas/smtp -u ralf.wissing@posteo.de -a -h $fd $addr $sender $*
%<-------------------------------
After this, it was time to send a first test-mail to get the server certificates:
%<-------------------------------
echo hello | mail -s test ralf.wissing@posteo.de
%<-------------------------------
I got the expected error messgage, looked into /sys/log/smtp.fail and echoed the certificate to /lib/tls/smtp
%<-------------------------------
echo 'x509 sha256=XXXXXX' >> /sys/lib/tls/smtp
%<-------------------------------
Ok, that's it, now its time to send the first real testmail... so i thought...
As the mail did not arrive after a few minutes i looked into the logfile and found the following:
%<-------------------------------
RalfsR60 Feb 13 17:34:45 delivery ralf.wissing@posteo.de at tcp!posteo.de!587 (posteo.de:185.67.36.169) rcptto failed: 521 Spamschutz: Der E-Mail-Versand ist nur mit Ihren Posteo-Adressen moeglich.
%<-------------------------------
Hmm... why it's not sending with the correct address?
After much, much trial and error i found it: I should have set the correct mail header in /mail/box/glenda/headers:
%<-------------------------------
From: "Ralf Wissing" <ralf.wissing@posteo.de>
%<-------------------------------
NOW it worked... yeah!