9fans / plan9port

Plan 9 from User Space
https://9fans.github.io/plan9port/
Other
1.63k stars 321 forks source link

Where is acme's file interface located? #657

Closed a12l closed 3 months ago

a12l commented 3 months ago

I'm wondering where in the file system acme's file interface is located. I've looked at /; /dev/; /run/; and /mnt/, and nowhere can I find anything named acme. I've looked while having acme running in another window. Where is acme's file interface?

I've looked at acme(1), acme(4), searched using Kagi. Haven't found anything. From Russ Cox video it looks like it's just there. If the info is in the man pages I haven't been able to understand it.

I installed p9p a couple of days ago, and this is my first foray into Plan9, so it's very possible that I don't understand terms. For example, just learned that "Snarf" is the acme/plan9 word for copy.

I've p9p installed both on both my NixOS 24.05 system and on Ubuntu 22.04 running in WSL2. Installed p2p from Nixpkgs on NixOS (2023-03-31), and compiled it myself on WSL (HEAD).

rakoo commented 3 months ago

If you have plan9port you have namespace:

$ namespace
/tmp/ns.something.:0

This is where all 9p connections will store their socket. If you start plumber you'll also see it there:

$ ls $(namespace)
acme=
plumb=

If you remain on plan9 tools, you might not actually need that. you can use 9p to list/read/files in your scripts/applications. For instance to read the content of the first window in acme:

$ 9p read acme/1/data

The only case you might need the path is if you want to mount it, in that case all you need to remember is that namespace gives the full path so:

$ 9 mount $(namespace)/acme ~/acme

is enough

a12l commented 3 months ago

Thank you @rakoo! Works perfectly!