TIPS ABOUT 9P CAPABILITIES

This page covers how to mount the wmii file system on Linux or Inferno, see 9P for a list of other 9P client libraries in various languages.

9p.ko

If you have installed a Linux kernel >= 2.6.14 you can install the 9.ko kernel module and mount the wmii filesystem as follows:

(Note: the module is called '9p2000' in kernels < 2.6.17 and the type parameter for mount is 9p also)

; modprobe 9p
; mount -t 9P $WMII_NS_DIR/wmii /mnt/wmii -o proto=unix,name=$USER,noextend

Afterwards the filesystem of wmii is exported to /mnt/wmii.

You can also add following line to /etc/fstab (replace $USER with your username):

/tmp/ns.$USER.:0/wmii /mnt/wmii 9P proto=unix,uid=1000,noauto,name=$USER,noextend,user 0 0

And put

mount /mnt/wmii

at the begining of your rc.wmii or wmiirc.

Inferno

If you have installed inferno, you can mount the wmii filesystem if you edit the wmii script through setting a tcp-socket capable address:

export WMII_ADDRESS=tcp!localhost!5555

instead of the default unix-socket file based address.

From within inferno you can then mount the filesystem easily:

; mount -A tcp!localhost!5555 /mnt/wmii

Or with unix domain sockets, you can mount them in inferno through any of a number of ugly hacks. The following requires plan9port, and will work regardless of the value of your $WMII_ADDRESS:

; mount -A {os rc -c 'exec dial $WMII_ADDRESS' >[1=0]} /mnt/wmii

or netcat:

; mount -A {os sh -c 'nc -U /tmp/ns.$USER.$DISPLAY/wmii' >[1=0]} /mnt/wmii

I suspect that the overhead of piping through dial or netcat is comprable to the overhead of TCP.

Have fun ;)