- - - = [ PLAN 9 DE LOS LABORATORIOS BELL ] = - - -

Plan 9 tuvo su Primera Edición en 1992. Es un sistema operativo sucesor
del Unix de Investigación desarrollado por el Centro para la
Investigación de la Ciencia del Cómputo de los Laboratorios Bell (CSRC).



---

0. INVOLUCRARSE

Plan 9 tiene comunidades activas que interactúan a través de correo
electrónico. Se le recomienda unirse a la lista de correo 9fans donde se
discute sobre Plan 9 y tecnologías relacionadas.

El SDF dispone de la lista de correo plan9-l para participantes del
Campamento Inicial de Plan 9.

1. INSTALAR Y ARRANCAR EL SERVIDOR DE PLAN9

	Registro del VPS

Luego de aplicar para el VPS (ya sea como participante del Campamento de
Inicio o como usuario VPS regular), se le enviará un correo electrónico
que indica el nombre de huésped para su servidor de mantenimiento VPS
(por ejemplo, vps2.sdf.org).

	Logueo al Shell de Mantemimiento VPS

Desde la shell del SDF, use el comando ssh vps2.sdf.org (o el host de
mantenimiento de VPS que se le ha indicado por correo electrónico) para
conectarse a su Shell de Mantenimiento de VPS


Tome nota de la dirección IP de su máquina virtualizada, la cual
consiste en unos números separados por puntos y se presentan
monstránmmdose en la parte superior del menú de Mantenimiento del Shell
VPS.

(Nota: Luego de cada comando que introduzca en el Shell, el sistema le
solicitará presionar una tecla para continuar (continue). Presione la
tecla Enter y el menú se volverá a mostrar.


	Instalar la imagen de Plan 9

En el menú Command: presione "x" para activar Instalación Limpia (Clean
Install).

Cuando se le pregunte "Desea Continuar?" (Do you wish to continue?
(yes/no), escriba yes. El proceso de instalación se extenderá por
aproximadamente unos noventa segundos.

Presione Enter para retornar al Menú de la Shell de Mantenimiento.


	Iniciar Plan 9

En el menú, presione "r" (para resetear e iniciar la máquina virtual).

Cuando se loguee como root, indicado por el prompt ...", presione Enter.

En el prompt user[none]: escriba "glenda", el usuario prehecho.

Una vez que ingrese a la consola de Plan 9, el intérprete rc indicará su
prompt "%".

En este momento, ya tiene su servidor de Plan 9 levantado y corriendo.
En cualquier momento puede retornar a su Shell de Mantenimiento de VPS
presionando Ctrl+]. Abandonará el Shell de Mantenimiento tipeando q
(desconectar) en el prompt Command:, y su servidor de Plan 9 continuará
en ejecución hasta que le envíe el comando de apagado en el Shell de
Mantenimiento de VPS (opción "s"), o bien dentro del intérprete rc de
Plan 9, ingrese el comando fshalt -h.

Para retornar a la consola del intérprete rc, loguése al Shell de
Mantenimiento de VPS nuevamente, y en el prompt Command: introduzca el
comando "c" (Conectar a su consola, Connect to your console). Acto
seguido, presione Enter para lograr ver el prompt % del intérprete rc.


2. CONFIGURACIÓN DEL SERVIDOR DE PLAN 9

En este paso se configfurará su servidor de Plan 9 para que sea capaz de
conectarse a la red ded atos y permitirle establecer conexiones desde
Drawterm, el cliente gráfico de Plan 9 que podrá ejecutar desde su PC.

Podrá configurar su servidor ingresando comandos en la consola del shell
rc. Rc comparte muchos comandos en común con el Bourne Shell de UNIX en
el cual se basa. Para obtener una guía básica de comandos de rc, por
favor consulte la Guçia de Supervivancia de RC de Plan 9. (La
funcionalidad de la versión de consola de rc está limitada en
comparación a la versión completa, la cual requiere el ambiente gráfico
de usuario río, que será provisto por Drawterm).

Su apagó el servidor de Plan 9, reinícielo como se indica en el Paso 1.
Comience Plan 9 como se indicó anteriormente y dese de alta como el
usuario glenda.

	Configurar su dirección IP


    % ip/ipconfig -g 205.166.94.1 ether /net/ether0 su-IP 255.255.255.0
    	

    	

    (1)

		Reemplace "su-IP" con la dirección IP que se indicaba en
		el encabezado del Shell de Mantenimiento de VPS en el
		paso 1.b.

	Resolución de DNS

Ejecute los siguientes comandos en el shell rc:

    % echo 'ip=your-IP sys=plan9 dom=plan9 dns=205.166.94.20' >> /lib/ndb/local
    % ndb/cs
    % ndb/dns -r
    	


	Configurar su contraseña de usuario de Drawterm
    	
    % echo 'key proto=p9sk1 dom=plan9 user=glenda !password=contraseña' >/mnt/factotum/ctl
    	

    	
		Reemplace contraseña con la contrasela que desea emplear
		cuando desee acceder con su terminal gráfica remota
		Drawterm a su usuario "glenda" de Plan 9.


	Recibir conexiones de Drawterm


    % aux/listen1 -t tcp!*!ncpu /bin/cpu -R &
    	

    	
Con esto estará completa la configuración básica de su servidor de Plan
9. Puede ahora salir de la consola de Plan 9 empleando Ctrl+] y de la
Shell de Mantenimiento de VPS (mediante "q"), y de esta manera su
servidor permanecerá en ejecución.

Si reinicia su servidor (use el comando fshalt -h en el intérprete rc, y
luego el comando "r" en la Shell de Mantenimiento de VPS), tendrá que
reingresar los coamdnos indicados anteriormente. Por tal motivo, para
hacer persistente la configuración del servidor, realice lo indicado en
la sección 5.


3. CLIENTE DRAWTERM

Drawterm es un emulador de terminal que puede ejecutar en su PC.
Drawterm implementa el sistema de ventanas rio de Plan 9 y se conecta al
servidor de Plan 9.

	Instalar Drawterm en su PC.

Descargue e instale Drawterm en su PC. Drawnterm estará disponible como
un paquete para muchas distribuciones basadas en GNU Linux. También
encontrará el código fuente y binarios precompilados en
https://swtch.com/drawterm/.

	Ejecutar Drawterm

Inicie Drawterm en su PC clinete con el siguiente sintaxis en la línea
de comando:

    $ drawterm -a su-IP -c su-IP -u glenda

(Reemplace su-IP con la dirección IP que anotó desde el encabezado de su
Shell de Mantenimiento de VPS en el paso 1.b.

Drawterm mostrará la pantalla de logueo de Plan 9.

	Dése de alta en su servidor de Plan 9.

Ingrese la contraseña que estableció para el usuario glenda, y luego
presione Enter. (No se mostrará el cursor y la contraseña ingresada no
se presentará en pantalla en la pantalla de logueo.

	Si su alta es exitosa, Drawterm se conectará al servidor de Plan
	9 y comenzará el gestor de ventanas rio con un escritorio vacío.

Abra una ventana de terminal.

	Haga clic y mantenga presionado el botón derecho del ratón en
	cualquier lugar del escritorio rio yabra el menú contextual
	("New/Resize/Move/Delete/Hide"). Continúe manteniendo presionado
	el botón derecho del ratón, y mueva el puntero sobre New, y
	luego suelte el botón del ratón.

Cuando el puntero cambie a un cursor "+", haga clic con botón derecho y
presione sobre la posición deseada para la esquina superior izquierda de
la ventana, y arrastre el ratón en diagonal para definir la posición
deseada para la esquina inferior izquierda de la ventana (se mostrará un
marco rojo indicando el tamaño). Luego suelte el botón del ratón.

	Rio creará una ventana de terminal y ejecutará el intérprete rc
	en ella.


4. SESIÓN DE DEMOSTRACIÓN DE RIO

La cuenta de usuario prehecha "glenda" incluye un script llamado
riostart, que creará una demostración de sesión de rio, dando arranque a
varios programas comunes de Plan 9:

stats
    muestra gráficas de actividad de sistema
faces
    Interfaz de casilla de correo
acme
    editor / ventanas de texto interactivo; se abrirá el archivo llamado readme.acme, consistente en un tutorial que explica el empleo básico de acme.
rc
    terminal de comandos; aparecerán los contenidos del fichero readme.rio, un tutorial en rio y rc que será presentado en la ventana de terminal.

Para dar ejecución a riostart, dele ingreso al siguiente comando en la
ventana de la terminal:


% cd $home; riostart
    
Para traer a primer plano una ventana parcialmente oculta, haga clic con
el botón izquierdo en cualquier lugar en la ventana.

5. HACER QUE LA CONFIGURACIÓN DE SU SERVIDOR SEA PERMANENTE

Como se mencionó en la Sección 2 "Configuración de Servidor de Plan 9",
la mayoría de la configuración realizada en dicha sección se perderá si
da reinicio a su máquina virtual del servidor de Plan 9.

Para hacer que esta configuración sea persistente a través del proceso
de reinicio de la máquina virtual, debe agregar comandos de
configuración al fichero /rc/bin/termrc.local. Esto puede lograrse
ingresando los siguientes comandos rc tanto en la consola de Plan 9
localizada en el Shell de Mantenimiento de VPS o directamente en una
ventana terminal de rio.

Ingrese los comandos mientras está logueado como el usuario glenda.

% echo 'ip/ipconfig -g 205.166.94.1 ether /net/ether0 su-IP 255.255.255.0' >> /rc/bin/termrc.local
% echo 'ndb/cs' >> /rc/bin/termrc.local
% echo 'ndb/dns -r' >> /rc/bin/termrc.local
% echo 'echo ''key proto=p9sk1 dom=plan9 user=glenda !password=contraseña'' >/mnt/factotum/ctl' >> /rc/bin/termrc.local
% echo 'aux/listen1 -t tcp!*!ncpu /bin/cpu -R &' >> /rc/bin/termrc.local
    

	Tenga a bien reemplazar su-IP con la dirección IP que anotó
	desde el encabezado de la Shell de Mantenimiento de VPS el paso
	1.b. También reemplace contraseña con la contraseña que definió
	para el usuario glenda a fin de conectarse al servidor de Plan 9
	usando Drawterm. Tenga particular atención a ingresar dos
	apóstrofes (') en lugar de una comilla (") en el comando de la
	contraseña.


Alternativamente, puede agregar estos comandos en el fichero
/rc/bin/termrc.local con un editor de texto, ya sea acme, el editor
gráfico, si ya está ejecutando rio, o ed, el editor de texto orientado a
líneas (ya sea que esté en rio o en la consola del serfvidor de Plan 9).

6. AGREGAR UN USUARIO

Luego de que se haya familiarizado con Plan 9 usando el usuario prehecho
glenda, podría querer agregar un usuario propio a su sistema (esto es
opcional). Ingrese el siguiente comando en una terminal de rio o en la
consola del servidor de Plan 9:

	Conectar a una consola de servidor de fichero.


    % con -l /srv/fscons
    	

	Crear un nuevo usuario y agregarlo al grupo sys de sistema


    prompt: uname usuario usuario prompt: uname sys +usuario

		Reemplace usuario con el nombre de usuario deseado para
		el usuario nuevo. Salga de la consola de servidor.

    	Tipee Ctrl+\, y luego en el prompt >>> ingrese "q".

	Configurar la contraseña de Drawterm para el nuevo usuario.

Configure la contraseña de Drawterm para el nuevo usuario utilizando el
procedimiento que se usó para establecerla para el usuario "glenda",
pero esta vez reemplace el nombre de usuario "glenda" y la contraseña
por el nuevo usuario y contraseña deseada.

	Dese de Alta con el nuevo usuario

Reinicie Drawterm, y substituya el nombre "glenda" por el del nuevo
usuario. Ingrese la ocntraseña del nuevo usuario en la pantalla de
inicio de Plan 9.

	Inicialice el ambiente del nuevo usuario

Abra una ventana de Terminal e ingrese el siguiente comando:


    % /sys/lib/newuser
    	

7. CONFIGURAR ZONA HORARIA

Puede configurar la zona horaria del servidor de Plan 9 a la zona
	horaria local. Apague el servidor con el comando fshalt -h
	(terminal de consola en rio o consola del servidor). Desde el
	Shell de Mantenimiento de VPS, reinicie el servidor con "r".
	Loguése como el usuario "adm". En la consola del servidor,
	ingrese el comando:

cd /adm/timezone.

	Liste los ficheros de zona horaria con el comando lc. Escoja un
	fichero que se corresponda con su zona horaria local y cópielo
	al fichero local con el comando:

cp su-zona local

	Use ed para editar el fichero /rc/bin/termrc y configure la
	variable de ambiente TIMESYNCARDS a (-n pool.ntp.org).
	Desconecte el servidor con el comando fshalt -h y reinicielo.


8. IMPORTACIÓN Y EXPORTACIÓN DE FICHEROS

Drawterm monta automáticamente su sistema de ficheros de la PC cliente
en /mnt/term en su espacio de nombre de Plan 9. Esto puede usarse para
copiar ficheros desde su PC a Plan 9, a la inversa utilizando los
comandos de copia de ficheros tradicionales (cp en el intérprete rc).

9. ACCESO A SERVIDOR FTP

También puede transferir ficheros entre su servidor Plan 9 y su cuenta
de Shell SDF por medio del servidor FTP del SDF.

Para ello, ingrese el siguiente comando desde la ventana terminal de
Plan 9:


% ftpfs -a ftp@sdf.org sdf.org
    

(18)

En su espacio de nombre de Plan 9, los ficheros relacionados con Plan 9
localizados en el servidor FTP los encontrará en el directorio
/n/ftp/pub/sdf/plan9/. Desde su cuenta de shell del sistema de cómputo
SDF podrá acceder a dicho directorio desde /ftp/pub/sdf/plan9/.

Contenidos de notas (rutas relativas al directorio raiz de Plan 9
indicados arriba):

contrib 
    Contribuciones de usuarios de SDF. Cree un subdirectorio con su
    nombre de usuario de SDF con sus propias contribuciones.
dist/9*.tar.gz
    Ficheros de la distribución Plan 9
dist/9front/
    Ficheros de la distribución 9front
plan9bunnysmblack.jpg
    Imagen de la mascota Glenda de Plan 9.

10. NAVEGAR EN LA WEB

Puede usar Abaco para navegar en la web. Abaco está disponible en el
sistema Plan 9 por defecto.

	Crear ficheros de cookies web (sólo por primera vez).

    % touch $home/lib/webcookies


	Dar inicio a webfs y abaco:

    % webfs; abaco

abaco

Cuando inicie Abaco, podrá ir a la página web haciendo clic en "Nuevo"
con el botón medio del mouse, ingresando la dirección URL en la fila
debajo de la que dice "Del Snarf Get …" y luego presionando Enter en el
teclado. Puede seguir los enlaces haciendo clic sobre ellos como es
usual, con el botón izquierdo (la forma del cursor no cambiará).

Tenga presente que la versión de webfs en la imagen de Plan 9 de la VPS
no soporta páginas web seguras con protocolo HTTPS.


11. CAMPAMENTO DE APRENDIZAJE DE PLAN 9

El SDF realiza periódicamente un Campamento de Aprendizaje de Plan 9
(Plan 9 Boot Camp) abierto a quien desee aprender y tenga una cuenta de
usuario SDF. Estos eventos se anuncian en el bboard y típicamenteocurren
anualmente en verano u otoño (hemisferio norte) y duran aproximadamente
3 meses.

Las actividades del Campanento de Aprendizaje de Plan 9 del SDF
incluyen:

- Instalación de una instancia pregenerada de Plan 9 bajo Xen
- Descubrimientos autoguiados. 
        Ed, configuración de red.
        Drawterm (desde su computadora). Rio y stats
        acme, sam, abaco, mothra y man
        mapdemo, catclock, juggle y tetris
        9front y contrib via ftpfs
        Lista de correo 9fans y faces

Durante la duración de los eventos, se propone hacer capturas de
pantalla y video se sus descubrimientos autoguiados y compartir sus
experiencias en plan9-l para inspirar a otros a hacer lo mismo.

(Los detalles de cada miniproyecto arriba indicado serán expandidos en
su propia sección o en un tutorial separado. Algunos de los
miniproyectos se superponen con el contenido ya indicado en este
tutorial).



Addenum: Jugar ZORK

Podremos jugar la aventura gráfica Zork

% 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


----------


RIO


Rio es el sistema de ventanas de Plan 9

Para leer más de esta ventana, configure las flechas de cursor arriba y
abajo para mover el texto arriba o abajo media pantalla.

Para usar efectivamente Rio, necesita al menos un ratón con tres
botones. Si sólo tiene un ratón de dos botones, podrá emular el botón
del medio presionando la tecla Mayúsculas mientras presiona el botón
derecho.

El botón 1, 2 y 3 se usan para referir a los botones derecho, central e
izquierdo respectivamente.


EL MENÚ POP-UP

Al presionar y mantener el botón 3 en el escritorio o la ventana de
shell presentará una ventana con un menú desplegable con las siguientes
opciones:

* New - crea una nueva ventana 
* Resize - Cambia la forma y tamaño de la ventana. 
* Move - Mueve la ventana sin cambiar su forma o tamaño. 
* Delete - cierra una ventana. 
* Hide - Esconde la ventana de la pantalla (aparecerá 
  en este menú) 
* <eqiqueta> - La etiqueta de una ventana oculta, 
  seleccionela para mostrarla.

Selecciona un ítem soltando el botón sobre el ítem del menú. Rio usa el
mismo botón que inició la acción a lo largo de toda la operación. Si
presiona otro botón durante la acción, se abortará la acción que estaba
realizando, y cualquier cambio intermedio que se hubiese realizado será
anulado.

El menú actúa como una selector de verbo de acción, el cual requiere un
objeto (por ejemplo, una ventana), para ser recogido e indicar en qué
ventana actuará el verbo de acción. Podrían requerirse subsiguientes
acciones con el ratón.

EJEMPLOS

Luego de seleccionar New, el cursor cambiará a una cruz. Volviendo a
emplear el botón 3, debería poder arrastrar para crear un rectángulo
para indicar el tamaño y localización de la nueva ventana a crear.
Cuando suelte el botón, se creará la ventana nueva.

Las ventanas nuevas contendrán el intérprete de comandos rc. Al incovar
un programa de rio desde el intérprete le permitira a dicho programa
tomar control de la ventana. No existe control de trabajos en el shell
(ej, &, fg para primer plano, o bg para segundo plano). Simplemente cree
otra ventana si desea ejecutar otro programa de forma concurrente.

Para redimensionar una ventana, seleccione Resize, y luego haga clic
sobre la ventana que desea redimensionar. Recuerde usar el mismo botón
que comenzó la acción, por ejemplo el botón 3. El cursor cambiará a una
cruz de mira que le permitirá arrastrar hasta lograr la forma deseada de
la ventana.

Luego de seleccionar Move, haga click y mantenga presionado el botón del
ratón para seleccionar la ventana que desee mover, y luego arrastre el
ratón para desplazar el rectángulo rojo que representa la nueva
localización deseada. Suelte el botón para finalizar la acción.

Delete (cerrar) y Hide (ocultar) operan de manera tal que requieren que
haga click en la ventana que desea cerrar u ocultar.

AYUDAS DE CONTROL DE VENTANA

Al hacer clic en una ventana, se la traerá a primer plano (frente).

Podrá cambiar directamnete la forma de la ventana haciendo clic y
arrastrando sobre el borde o esquina del marco de la ventana. El botón 1
o 2 le permitirán arrastrar el borde o esquina para delimitar un nuevo
tamaño, y el Botón 3 le permitirá mover la ventana directamente.

El menú Pop-up recuerda el último comando seleccionado, de modo que como
atajo puede presionar el botón 3 y soltarlo sin mover el ratón para
volver a elegir el comando previo.


CONTROL BÁSICO DE TEXTO

A diferencia de otros sistemas, el cursor de texto únicamente puede ser
controlado por el ratón o los efectos colaterales de ciertos comandos.

Al hacer clic con el Botón 1 se moverá el punto de insersión de texto
(indicado por un signo I) justo antes del caracter más cercano al
puntero del ratón. Al arrastrar a lo largo de una sección de texto se
seleccionará dicha porción de texto. Puede ser útil saber que el cursor
I de inserción representa una selección vacía (entre dos caracteres). En
los editores de texto, la seleccion actual se conce como "punto".

En el intérprete de comandos, el botón 2 invocará un menú desplegable.
La mayoría de sus comandos operan en punto.

* cut - mueve los contenidos del punto al portapapeles si 
        el punto no está vacío.
* paste - reemplaza punto con los co0ntenidos del portapapeles.
* snarf - copia punto al portapapeles
* plumb - envia punto (o un texto que rodee a punto), si punto no está 
          envia al plomero.
* send - completa la línea de entrada actual con el punto, si no 
         está vacío, o los contenidos del portapapeles. Si el punto no 
         está vacío, copia al mismo tiempo.
* scroll - conmuta entre el desplazamiento automático de la 
           ventana en su salida.

Si hace doble clic podrá seleccionar automáticamente una sección de
texto que rodee a dicho punto. La selección se realiza por un análisis
de delimitadores apropiados. Una línea completa se seleccionará haciendo
doble clic en cualquier extremo de línea. Una selección entrecomilladas
o encorchetada se realiza haciendo doble clic de la misma manera, sólo
que dentro de la sección entrecomillada o encorchetada.

DESPLAZAMIENTO

Las flechas de cursor le permitirán controlar el desplazamiento,
paginando media página por vez.

Al hacer clic con el botón 1 en la barra de desplazamiento se desplazará
media página hacia arriba. El botón 3 desplaza media página hacia abajo.
El botón 2 salta a la posición relativa del documento con respecto al
lugar donde hizo clic en la barra de desplazamiento. Al mantener
presionado un botón en la barra de desplazamiento, obtendrá el efecto de
invocar la acción de cliqueo continuo.

La cuadrado indicador en la barra de desplazamiento está representada en
un tamaño proporcianal con la proporción del documento que es visible
actualmente.

El desplazamiento no afecta el cursor de texto.


RIO Y LA VENTANA DEL INTËRPRETE RC

Rc es un intérprete de comandos (shell) para Plan 9 que provee
capacidades similares al intérprete Bourne de UNIX. Para obtener
referencias adicionales al final de este documento sobre información
específica para rc.

Rio provee algunas caractewrísticas adicionales que mejoran la interzar
con programas que emplean la consola de texto. El intŕeprete de comandos
rc es uno de tales programas.

Los comandos de rc se tipean en el prompt en la última línea del búffer
de texto. Los comandos son enviados a rc sólo luego que cada nueva
línea, de modo que puede realizarse edición de la línea si se desea.
Puede mover el cursor y editar las líneas de comandos previas y la
salida de programas, pero nada de esto será interpretada por el shell
rc.

La interpretación de los comandos es suprimida completamente si presiona
ESC para pasar la ventana al modo Espera (hold). El borde de la ventana
y el texto cambiarán a color azul oscuro para indicar que se activó el
modo de espera. En este modo podrá tipear múltipoles líneas de comandos
y editarlas. Al presionar ESC nuevamente se anulará el modo de Espera, y
se enviarán las líneas de texto ingresadas al intérprete de comandos rc.

La tecla DEL envia un anuncio "interrumpir" a todos los procesos en el
grupo de procesos de la ventana. La intención convencionlam para esto
es detener la ejecución del comando actual. Esto suele ser conveniente
para asegurarse para recibir un prompt de comandos limpio.


MAYOR INFORMACIÓN

Para mayor información, revise la página man de rio. Tipee "man rio" o
haga cllic en rio en cualquiera de estas oraciones, y seleccione Plumb
desde el menú de botón 2.