Tutorial de Plan9

Este es un tutorial de la distribucion 9front de Plan9, que podras seguir una vez te hayas dado de alta en el Campamento de Entrenamiento ("bootcamp") de Plan9 en SDF.org.

Esta hace uso de una maquina accesible a traves de la terminal remota drawterm.

Alta en 9p.sdf.org

Para darse de alta en la maquina remota con 9Front de SDF.org, recurra a la web de registro del servidor 9front indicando un nombre de usuario de 9p deseado, junto con una direccion de correo electronico valida. El admin de dicha instancia procesara el pedido y recibira un correo electronico proyveyendo el nombre de usuario_9p y una contrasena pasavante.

Compile el cliente de terminal grafico Drawterm, pues le sera necesario para navegar en 9Front. Utilicelo para ingresar al sistema remoto, mediante el siguiente comando:

drawterm -h 9p.sdf.org -a 9p.sdf.org -u usuario_9p

El servidor le solicitara la contrasena pasavante (confirmela con tecla Intro), y tras unos segundos habra establecido comunicacion y vera una ventana grafica de bienvenida en el escritorio rio.

Bienvenido a...
  ___                 _  __
 / _ \ _ __   ___  __| |/ _| ___  _ __ __ _
| (_) | '_ \ / __|/ _` | |_ / _ \| '__/ _` |
 \__, | |_) |\__ \ (_| |  _| (_) | | | (_| |
   /_/| .__(_)___/\__,_|_|(_)___/|_|  \__, |
      |_|                             |___/
      Sistema Plan9 de Acceso Publico de SDF

La ventana te demostrara el prompt por defecto del interprete de comandos rc de 9front: cpu%.

Escritorio Rio

El sistema de ventanas de Plan9 se denomina rio, y presenta en Drawterm un escritorio grafico para las aplicaciones remotas.

Para usar rio efectivamente necesitara un mouse de tres botones. Si solo dispone de un trackpad o mouse de dos botones, podra emular el boton medio con Mayusculas+boton derecho.

Al mantener presionado el boton derecho del mouse en el escritorio o ventana de shell, desplegara un menu con las siguientes opciones:

New Crea una ventana nueva
Resize Redimensiona una ventana
Move Mueve la ventana sin redimensionarla
Delete Cierra una ventana
Hide Oculta una ventana del escritorio (aparecera en este menu)
<label> La etiqueta de una ventana oculta, al seleccionarla la presenta en el escritorio.

El menu actua como una selector de accion verbal, que puede requerir seleccionar un sujeto (ejemplo: ventana) para realizar la accion verbalizada. Esto significa que puede requerirse otra accion adicional.

Para seleccionar una opcion del menu contextual, mientras mantiene presionado el boton del mouse, mueva el cursor hasta la opcion deseada, y tras seleccionarla, suelte el boton.

Rio utiliza el mismo boton que comenzo la accion a lo largo de esa operacion. Esto significa que si presiona otro boton durante la accion, la operacion original se cancelara y cualquier cambio parcial sera anulado.

Ejemplos

Luego de seleccionar New, el cursor cambiara a una cruz de mira. Use el boton derecho nuevamente para arrastrar un rectangulo delimitando tamano y localizacion de la nueva ventana que desea crear. Al soltar el boton, enviara la orden al sistema remoto para crear la ventana.

Las ventanas nuevas contendran un interprete rc. Al invocar un programa de rio desde la shell, tal programa tomara el control de la ventana que anida la shell. Como el interprete rc carece de control de trabajos (ej. &, fg, bg), solo deberia crear ventanas nuevas si desea ejecutar otro programa de manera concurrente.

Para redimensionar una ventana, debe seleccionar Resize, luego hacer clic en la ventana que desea redimensionar (recuerde usar el mismo boton que comenzo la accion, por ejemplo, el boton derecho del mouse), el cursor cambiara a una cruz de mira, que le permitira arrastrar la forma deseada de ventana.

Luego de seleccionar Move, haga clic y mantenga presionado el boton sobre la ventana que desea mover; luego mueva el mouse para mover el rectangulo rojo que representa la nueva localizacion que desea. Suelte el boton para finalizar la accion.

Delete y Hide operan solicitandole que haga clic sobre la ventana que desea cerrar u ocultar respectivamente.

Recomendaciones de Control de Ventanas

Al hacer clic en una ventana la trae a primer plano.

Puede cambiar directamente la forma de la ventana haciendo clic y arrastrando en un borde o en una esquina de la ventana. Los botones izquierdo y medio del mouse le permitiran arrastrar el borde o esquina para lograr un tamano nuevo, y el boton derecho del mouse le permitira mover la ventana.

El menu desplegable recordara el ultimo comando escogido, de modo que podra usar esto como un atajo simplemente presionando y soltando el boton 3 sin mover el mouse, para reinvocar el comando previamente seleccionado.

Control basico de texto

A diferencia de otros sistemas, el cursor de texto solo puede ser controlador por el raton, o como efecto secundario de ciertos comandos.

Al hacer clic con el boton izquierdo del mouse movera el punto de insercion del texto (indicado por un cursor en forma de |) justo por delante del caracter mas cercano al puntero del mouse. Para seleccionar una seccion de texto, arrastre el cursor a lo largo de la seccion de texto deseada. Puede ser util saber que el cursor de invercion representa una seleccion vacia (entre dos caracteres). En los editores de texto, la seleccion actual, se conoce como "punto" ("dot").

En la ventana del interprete, el boton medio del mouse invoca el menu desplegable. La mayoria de sus comandos operan en "punto".

cut Mueve el contenido del punto al portapapeles, su el punto no esta vacio.
paste reemplaza punto con los contenidos del portapapeles
plumb Envia a punto (o el texto que rodea al punto, si el punto esta vacio) al fontanero.
send Completa la linea de entrada actual con el punto, si no esta vacio, o con los contenidos del portapapeles. Si el punto no esta vacio, hace un snarf al mismo tiempo.
scroll Activa el desplazamiento automatico de la ventana con la salida.

El doble clic le permitira seleccionar automaticamente una seccion de texto que rodea al punto. La seleccion se realizara analizando los delimitadores apropiados. Para seleccionar una linea entera, haga doble clic en cualquier final de linea. Para hacer una seleccion entrecomillada o entrecorchetada, haga doble clic dentro de la cita o corchetes.

Deslizamiento

Las flecha arriba/abajo del cursor le permitiran deslizar la pantalla media pagina por vez.

A su vez, hacer clic con el boton izquierdo del mouse sobre la barra de deslizamiento, desliza media pagina hacia arriba/abajo. El boton del medio en una posicion de la barra de deslizamiento, hace saltar a la posicion relativa en el documento. Si mantiene presionado un boton sobre la barra de deslizamiento, tendra el efecto de invocar la accion de clic de forma continua.

La caja de color blanca en la barra de delizamiento se denomina Elevador, y su tamano guarda proporcion con la proporcion de contenido presentada en la ventana actual. El deslizamiento no afecta al cursor de texto.

Rc

Rc es el interprete de comandos nativo de Plan9, su prompt es cpu%. Rc guarda cierta similitudes con las funcionalidades de la shell de Bourne de UNIX, si bien utiliza teclas y atajos algo diferentes.

Los comandos de rc se mecanografian ante el prompt en la ultima linea del buffer de texto. Los comando se envian a rc solo luego de presionar la tecla Intro (ingresando un caracter de Nueva linea).

Rio provee funcionalidades adicionales que mejora la interfaz de los programas que usan consola de texto. El interprete de comandos de rc es uno de tales programas.

Es posible mover el cursor al final del buffer y editar las lineas previas de comandos, pero ninguna de las salidas del comando sera interpretada por la shell rc.

Modo Espera

Puede suspender la interpretacion de comandos presionando la tecla Esc, lo que pone la ventana en modo Espera: el borde de la ventana tomara el color azul oscuro, denotando dicho modo espera. En este modo, podra tipear multiples lineas de comandos y editarlas. Al presionar Escape nuevamnete, abandonara el Modo Espera, y enviara las lineas de texto ingresadas al interprete de comando rc.

Interrupcion

Puede usar la tecla Supr para enviar una nota de "Interrupcion" a todos los procesos en el grupo de procesos anidados en la ventana. Normalmente esto se usa para recibir un prompt de comandos nuevo al final del buffer de texto, pero tambien se puede usar para detener la ejecucion del proceso actual (similar a Ctrl+z).

Autocompletado

Para activar el autocompletado, use la tecla Insertar o bien Ctrl+i.

Edicion de linea de comandos

A su vez, Ctrl+h opera como la Tecla Retroceder, en tanto que Ctrl+u borra la linea entera. Ctrl+b retorna al renglon del prompt.

Ayuda

Puede obtener mayor informacion con la pagina de man de rio. Ingrese man rio para verla o haga clic sobre rio en alguno de los textos que referencian y elijia plumb con el boton del medio del mouse.

Agregar el Usuario

Lo primero que podras hacer en la CPU remota de SDF.org es ejecutar el comando de activacion de usuario, que nos termina de convertir en un planero:

rc /sys/lib/newuser

Acto seguido, opcionalmente podras cambiar la contrasena pasavante que se nos proveyo el puntero de SDF.org por una propia, mediante el comando:

passwd usuario@9p.sdf.org

(habras de ingresar primero la contrasena pasavante y luego confirmar dos veces la nueva contrasena deseada.

Hecho esto, recibiras tu directorio de usuario en el sistema: /usr/$user.

Podras asociar los binarios de SDF.org para extender el uso del entorno 9front con:

bind -a /usr/sdf/bin /bin

Entre ellos encontraremos los servicios de finger, com, bboard, gemini, gopher, y varios mas.

Podras crear una ventana nueva haciendo clic con el boton derecho y eligiendo New, Luego mediante un arrastre con el boton derecho podras crear una nueva ventana en el escritorio de rio, en la cual se dispondra un nuevo interprete de comandos rc.

Editores de texto

Ademas del editor ed, podras recurrir al nativo de Plan9, Acme.

Web en 9p

Puedes navegar la web invocando al navegador mothra.

Crea un fichero index.html en tu directorio de usuario /usr/$user/html/.

Podras navegar en gopher invocando el navegador gopher.

Correo electronico en 9p

Recibiras la direccion de correo electronico $user@9p.sdf.org.

Utiliza el comando:

mail usuario@host

Ingresaras en el Modo espera con el borde de la ventana de color azul oscuro, y podras redactar tu mensaje. Una vez ingresado, presiona Escape para salir del modo espera, y presiona Ctrl+d. El mensaje se enviara.

Juegos

Existen varios juegos instalados en el sistema remoto.

  • Reversi
  • Canfield

Zork en PLan9

Es posible instalar Zork en Plan9.

% ftpfs -a ftp@ftp.sdf.org ftp.sdf.org
% cp /n/ftp/pub/sdf/plan9/contrib/smj/games/zork /bin/games
% mkdir /sys/games/lib/zork
% cp /n/ftp/pub/sdf/plan9/contrib/smj/games/dtextc.dat /sys/games/lib/zork

Para correrlo usamos:

% cd /bin/games
% zork

Una vez en el juego de mazmorras, abrimos la casilla de correo con open mailbox y loeemos el volante con read leaflet. Y seguimos jugando el juego de aventuras.