| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa |
| tutorial_de_plan9 [2024/05/14 16:43] – peron | tutorial_de_plan9 [2026/04/21 16:09] (actual) – editor externo 127.0.0.1 |
|---|
| |
| |
| ====Date de alta en 9p.sdf.org==== | ====Alta en 9p.sdf.org==== |
| |
| Para darte de alta en la máquina de 9Front, recurre a la [[https://sdf.org/plan9/|web de registro del servidor 9front]] e indica un //nombre de usuario de 9p// y una dirección de correo electrónico válida. El admin de dicha instancia procesará el pedido y recibirás un correo electrónico indicando tu //nombre de usuario_9p// en la instancia en la máquina 9p.sdf.org, a la vez que contarás con una //contraseña pasavante//. | Para darse de alta en la máquina remota con 9Front de SDF.org, recurra a la [[https://sdf.org/plan9/|web de registro del servidor 9front]] indicando un //nombre de usuario de 9p// deseado, junto con una dirección de correo electrónico válida. El admin de dicha instancia procesará el pedido y recibirá un correo electrónico proyveyendo el //nombre de usuario_9p// y una //contraseña pasavante//. |
| |
| Compila el cliente de terminal gráfico [[Drawterm]]. | Compile el cliente de terminal gráfico [[Drawterm]], pues le será necesario para navegar en 9Front. Utilícelo para ingresar al sistema remoto, mediante el siguiente comando: |
| |
| Luego ingresa al sistema remoto usando Drawterm, mediante el siguiente comando: | |
| <code bash> | <code bash> |
| drawterm -h 9p.sdf.org -a 9p.sdf.org -u usuario_9p | drawterm -h 9p.sdf.org -a 9p.sdf.org -u usuario_9p |
| </code> | </code> |
| |
| El servidor te solicitará la //contraseña pasavante//, y tras unos segundos habrá establecido comunicación y verás una ventana gráfica de bienvenida en el escritorio //rio//. | El servidor le solicitará la //contraseña pasavante// (confirmela con **tecla Intro**), y tras unos segundos habrá establecido comunicación y verá una ventana gráfica de bienvenida en el escritorio //rio//. |
| | |
| La ventana te demostrará el //prompt// por defecto del intérprete de comandos //rc// de 9front: ''cpu%''. | |
| |
| <code> | <code> |
| </code> | </code> |
| |
| El sistema de ventanas de Plan 9 se llama **rio**. | La ventana te demostrará el //prompt// por defecto del intérprete de comandos //rc// de 9front: ''cpu%''. |
| | ====Escritorio Rio==== |
| |
| Puede leer mas de esta ventana con flecha arriba/abajo para deslizar el texto en media pantalla. | El sistema de ventanas de Plan9 se denomina **rio**, y presenta en Drawterm un escritorio gráfico para las aplicaciones remotas. |
| |
| Para usar rio efectivamente se necesita al menos un mouse de tres botones. En caso de tener un mouse de dos botones puede emular el botón medio manteniendo presionada la tecla mayúsculas mientras presiona el botón derecho del mouse. | Para usar rio efectivamente necesitará un mouse de tres botones. Si sólo dispone de un trackpad o mouse de dos botones, podrá emular el botón medio con Mayúsculas+botón derecho. |
| | |
| | |
| Button 1, 2, and 3 are used to refer to the left, | |
| middle, and right buttons respectively. | |
| |
| ==Menú Desplegable== | ==Menú Desplegable== |
| |
| Al presionar el botón derecho en el escritorio o ventana de shell, aparecerá un menú con las siguientes opciones: | Al __mantener presionado__ el botón derecho del mouse en el escritorio o ventana de shell, desplegará un menú 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 (aparecerá en este menú) | |
| | | ''<label>'' | La etiqueta de una ventana oculta, al seleccionarla la presenta en el escritorio. | |
| |
| * New - Crea una ventana nueva | El menú actúa como una selector de acción verbal, que puede requerir seleccionar un sujeto (ejemplo: ventana) para realizar la acción verbalizada. Esto significa que puede requerirse otra acción adicional. |
| * Resize - Redimensiona una ventana | |
| * Move - Mueve la ventana sin redimensionarla | |
| * Delete - Cierra una ventana | |
| * Hide - Oculta una ventana del escritorio (aparecerá en este menú) | |
| * <label> - La etiqueta de una ventana oculta, al seleccionarla la presenta en el escritorio. | |
| |
| Para seleccionar un ítem del menu, suelte el botón sobre tal ítem del men{u. Rio utiliza el mismo botón que comenzó la acción a lo largo de esa operación. Esto significa que si presiona otro botón durante la acción, la operación original se cancenal y cualquier cambio parcial se deshace. | Para seleccionar una opción del menú contextual, mientras mantiene presionado el botón del mouse, mueva el cursor hasta la opción deseada, y tras seleccionarla, suélte el botón. |
| |
| El menú actua como una selector de acción verbal, que puede requerir seleccionar un sujeto (ejemplo: ventana) para realizar la acción verbalizada. Esto significa que puede requerirse otra acción adicional. | >Rio utiliza el mismo botón que comenzó la acción a lo largo de esa operación. Esto significa que si presiona otro botón durante la acción, la operación original se cancelará y cualquier cambio parcial será anulado. |
| |
| ==Ejemplos== | ==Ejemplos== |
| |
| Luego de seleccionar //New//, el cursor cambiará a una //cruz de mira//. Use el botón derecho nuevamente para arrastrar un rectángulo delimitando tamaño y localización de la nueva ventana que desea crear. Al soltar el botón, enviará la orden al sistema remoto para crear la ventana. | Luego de seleccionar ''New'', el cursor cambiará a una //cruz de mira//. Use el botón derecho nuevamente para arrastrar un rectángulo delimitando tamaño y localización de la nueva ventana que desea crear. Al soltar el botón, enviará la orden al sistema remoto para crear la ventana. |
| |
| Las ventanas nuevas contendrán un intérprete **rc**. Al invocar un programa de rio desde la shell, tal programa tomará el control de la ventana que anida la shell. Como el intérprete rc carece de control de trabajos (ej. [[#creacion_de_trabajos_en_texto-plano|&, fg, bg]]), sólo debería crear ventanas nuevas si desea ejecutar otro programa de manera concurrente. | Las ventanas nuevas contendrán un intérprete **rc**. Al invocar un programa de rio desde la shell, tal programa tomará el control de la ventana que anida la shell. Como el intérprete rc carece de control de trabajos (ej. [[#creacion_de_trabajos_en_texto-plano|&, fg, bg]]), sólo debería 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 botón que comenzó la acción, por ejemplo, el botón derecho del mouse), el cursor cambiará a una //cruz de mira//, que le permitirá arrastrar la forma deseada de ventana. | Para redimensionar una ventana, debe seleccionar ''Resize'', luego hacer clic en la ventana que desea redimensionar (recuerde usar el mismo botón que comenzó la acción, por ejemplo, el botón derecho del mouse), el cursor cambiará a una //cruz de mira//, que le permitirá arrastrar la forma deseada de ventana. |
| |
| Luego de seleccionar Move, haga clic y mantenga presionado el botón sobre la ventana que desea mover; luego mueva el mouse para mover el rectángulo rojo que representa la nueva localización que desea. Suelte el botón para finalizar la acción. | Luego de seleccionar ''Move'', haga clic y mantenga presionado el botón sobre la ventana que desea mover; luego mueva el mouse para mover el rectángulo rojo que representa la nueva localización que desea. Suelte el botón para finalizar la acción. |
| |
| Delete y Hide operan solicitándole que haga clic sobre la ventana que desea cerrar u ocultar respectivamente. | ''Delete'' y ''Hide'' operan solicitándole que haga clic sobre la ventana que desea cerrar u ocultar respectivamente. |
| |
| ===Recomendaciones de Control de Ventanas=== | ===Recomendaciones de Control de Ventanas=== |
| A diferencia de otros sistemas, el cursor de texto sólo puede ser controlador por el ratón, o como efecto secundario de ciertos comandos. | A diferencia de otros sistemas, el cursor de texto sólo puede ser controlador por el ratón, o como efecto secundario de ciertos comandos. |
| |
| Al hacer clic con el botón izquierdo del mouse moverá el punto de insersińo del texto (indicado por un cursor en forma de ''|''). justo antes del caracter más cercano al puntero del mouse. Al arrastrar el cursor a lo largo de una sección de texto, seleccionará la misma. Puede ser útil saber que el cursor de inverción representa una selección vacióna (entre dos caracteres). En los editores de texto, la selección actual, se conoce como "punto" ("dot"). | Al hacer clic con el botón izquierdo del mouse moverá el punto de inserción del texto (indicado por un cursor en forma de ''|'') justo por delante del carácter más cercano al puntero del mouse. Para seleccionar una sección de texto, arrastre el cursor a lo largo de la sección de texto deseada. Puede ser útil saber que el cursor de inverción representa una selección vacía (entre dos caracteres). En los editores de texto, la selección actual, se conoce como "punto" ("dot"). |
| |
| En la ventana del intérprete, el botón medio del mouse invoca el menú desplegable. La mayoría de sus comandos operan en "punto". | En la ventana del intérprete, el botón medio del mouse invoca el menú desplegable. La mayoría de sus comandos operan en "punto". |
| |
| * cut - Mueve el contenido del punto al portapapeles, su el punto no está vacío. | | ''cut'' | Mueve el contenido del punto al portapapeles, su el punto no está vacío. | |
| * paste - reemplaza punto con los contenidos del portapapeles | | ''paste'' | reemplaza punto con los contenidos del portapapeles | |
| * plumb - Envía a punto (o el texto que rodea al punto, si el punto está vacío) al //fontanero//. | | ''plumb'' | Envía a punto (o el texto que rodea al punto, si el punto está vacío) al //fontanero//. | |
| * send - Completa la línea de entrada actual con el punto, si no está cavío, o con los contenidos del portapapeles. Si el punto no está cacío, hace un snarf al mismo tiempo. | | ''send'' | Completa la línea de entrada actual con el punto, si no está vacío, o con los contenidos del portapapeles. Si el punto no está vacío, hace un snarf al mismo tiempo. | |
| * scroll - Activa el desplazamiento automático de la ventana con la salida. | | ''scroll'' | Activa el desplazamiento automático de la ventana con la salida. | |
| |
| El doble clic le permitirá seleccionar automáticamente una sección de texto que rodea al punto. La selección se realizará analizando los delimitadores apropiados. Para seleccionar una línea entera, haga doble clic en cualquier final de línea. Para hacer una selección entrecomillada o entrecorchetada, haga doble clic dentro de la cita o corchetes. | El doble clic le permitirá seleccionar automáticamente una sección de texto que rodea al punto. La selección se realizará analizando los delimitadores apropiados. Para seleccionar una línea entera, haga doble clic en cualquier final de línea. Para hacer una selección entrecomillada o entrecorchetada, haga doble clic dentro de la cita o corchetes. |
| Las flecha arriba/abajo del cursor le permitirán deslizar la pantalla media página por vez. | Las flecha arriba/abajo del cursor le permitirán deslizar la pantalla media página por vez. |
| |
| Clicking button 1 on the scrollbar scrolls up by half a | A su vez, hacer clic con el botón izquierdo del mouse sobre la barra de deslizamiento, desliza media página hacia arriba/abajo. El botón del medio en una posición de la barra de deslizamiento, hace saltar a la posición relativa en el documento. Si mantiene presionado un botón sobre la barra de deslizamiento, tendrá el efecto de invocar la acción de clic de forma continua. |
| page. Button 3 scrolls down by half a page. Button 2 | |
| jumps to position in the document relative to the | |
| position on the scrollbar clicked. Holding a button on | |
| the scrollbar will have the effect of invoking the | |
| clicking action continuously. | |
| |
| The white elevator box on the scrollbar is sized | La caja de color blanca en la barra de delizamiento se denomina Elevador, y su tamaño guarda proporción con la proporción de contenido presentada en la ventana actual. El deslizamiento no afecta al cursor de texto. |
| proportionally to the proportion of the document that | |
| is currently visible. | |
| |
| Scrolling does not affect the text cursor. | ====Rc==== |
| | Rc es el intérprete de comandos nativo de Plan9, su prompt es ''cpu%''. Rc guarda cierta similitudes con las funcionalidades de la [[bourne shell|shell de Bourne]] de [[UNIX]], si bien utiliza teclas y atajos algo diferentes. |
| RIO AND THE RC SHELL WINDOW | |
| | |
| Rc is a command interpreter for Plan 9 that provides | |
| similar facilities to UNIX's Bourne shell. See the | |
| additional references at the end of this document for | |
| information specifically about rc. | |
| | |
| Rio provides some additional features that enhance the | |
| interface to programs that use the text console. The | |
| rc shell command interpreter is one such program. | |
| |
| Rc commands are typed after the prompt on the last line | Los comandos de rc se mecanografían ante el //prompt// en la última línea del buffer de texto. Los comando se envían a rc sólo luego de presionar la **tecla Intro** (ingresando un caracter de //Nueva línea//). |
| of the text buffer. The commands are sent to rc only | |
| after each newline so line editing may be performed if | |
| desired. You can move the cursor and edit the previous | |
| lines of commands and program output but none of this | |
| will be interpreted by rc shell. | |
| |
| The interpretation of commands is supressed altogether | Rio provee funcionalidades adicionales que mejora la interfaz de los programas que usan consola de texto. El intérprete de comandos de rc es uno de tales programas. |
| when ESC is pressed to put the window in hold mode. | |
| The window border and text will change to dark blue to | |
| indicate the hold mode is active. In this mode you can | |
| type multiple lines of commands and edit them. | |
| Pressing ESC again will release the hold and send the | |
| lines of text to the rc command interpreter. | |
| |
| The DEL key sends an 'interrupt' note to all processes | >Es posible mover el cursor al final del buffer y editar las líneas previas de comandos, pero ninguna de las salidas del comando será interpretada por la shell rc. |
| in the window's process group. The usual intent is to | |
| terminate the execution of the current command. It is | |
| also a convenient short cut for ensuring you have a | |
| fresh command prompt. | |
| |
| FURTHER INFORMATION | ===Modo Espera=== |
| | Puede suspender la interpretación de comandos presionando la **tecla Esc**, lo que pone la ventana en //modo Espera//: el borde de la ventana tomará el color azul oscuro, denotando dicho //modo espera//. En este modo, podrá tipear múltiples líneas de comandos y editarlas. Al presionar Escape nuevamnete, abandonará el Modo Espera, y enviará las líneas de texto ingresadas al intérprete de comando rc. |
| | ===Interrupción=== |
| | Puede usar la **tecla Supr** para envíar una nota de "Interrupción" 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 también se puede usar para detener la ejecución del proceso actual (similar a **Ctrl+z**). |
| | ===Autocompletado=== |
| | Para activar el autocompletado, use la tecla **Insertar** o bien **Ctrl+i**. |
| | ===Edición de línea de comandos=== |
| | A su vez, **Ctrl+h** opera como la **Tecla Retroceder**, en tanto que **Ctrl+u** borra la línea entera. Ctrl+b retorna al renglón del prompt. |
| |
| For further information, try the rio(1) manual page. | ===Ayuda=== |
| Type "man rio" or click on rio(1) in either of these | Puede obtener mayor información con la página 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 botón del medio del mouse. |
| sentences and select plumb from the button 2 menu | |
| |
| | ====Agregar el Usuario ==== |
| | |
| ====Rc==== | |
| El intérprete de comandos nativo de Plan9 es rc y su prompt es ''cpu%''. Esta shell //rc// contiene ciertas similitudes con los intérpretes de comandos típicos de Unix. Las diferencias radican en el teclado no es el normalizado. Para activar el autocompletado, en lugar de usar la **tecla Tab**, usa la tecla **Insertar** o bien **Ctrl+i**. | |
| | |
| A su vez, **Ctrl+h** opera como la Tecla Retroceder, en tanto que **Ctrl+u** borra la línea entera. Ctrl+b retorna al renglón del prompt. | |
| |
| Lo primero que podrás hacer en la CPU remota de SDF.org es ejecutar el comando de activación de usuario, que nos termina de convertir en un planero: | Lo primero que podrás hacer en la CPU remota de SDF.org es ejecutar el comando de activación de usuario, que nos termina de convertir en un planero: |
| |
| ====Web en 9p==== | ====Web en 9p==== |
| | |
| | Puedes navegar la web invocando al navegador mothra. |
| |
| Crea un fichero [[index.html]] en tu directorio de usuario ''/usr/$user/html/''. | Crea un fichero [[index.html]] en tu directorio de usuario ''/usr/$user/html/''. |
| |
| ====Correo electrónico en 9p==== | Podrás navegar en [[gopher]] invocando el navegador gopher. |
| |
| | ====Correo electrónico en 9p==== |
| | ===Recibir correo en 9p=== |
| Recibirás la dirección de correo electrónico $user@9p.sdf.org. | Recibirás la dirección de correo electrónico $user@9p.sdf.org. |
| | |
| | Utiliza el comando: |
| | |
| | <code bash> |
| | mail usuario@host |
| | </code> |
| | |
| | Ingresarás en el [[#modo espera|Modo espera]] con el borde de la ventana de color azul oscuro, y podrás redactar tu mensaje. Una vez ingresado, presiona **Escape** para salir del modo espera, y presiona **Ctrl+d**. El mensaje se enviará. |
| | ===Enviar correo en 0p=== |
| | Ingresa al sistema nedmail con: |
| | <code bash>mail</code> |
| | |
| | ^Comando de mail^Resultado^ |
| | |''a'' |Contesta a remitente y destinatarios | |
| | |''A'' |Contesta a remitente y destinatarios con copia | |
| | |''b'' |Presenta los siguiente 10 encabezados | |
| | |''d'' |marca para borrado | |
| | |''f'' |Dispone //flags// para el mensaje [''+-''][''aDdfrSs''] | |
| | |''f'' |archiva mensaje desde dirección de destinatario | |
| | |''fq'' |Presenta agregados f de la casilla | |
| | |''H'' |imprime estructura MIME del mensaje | |
| | |''h'' |Imprime resumen del mensaje ('',h'' para todo) | |
| | |''help'' |Imprime esta ayuda | |
| | |''i'' |Incorpora nuevo correo | |
| | |''k'' [flags] |Marca correo | |
| | |''K'' [flags] |Desmarca correo | |
| | |''m'' dirección |reenviar mail | |
| | |''M'' dirección |reenviar mail con mensaje | |
| | |''mb'' casilla |cambiar casillas | |
| | |''p'' |imprime el mensaje procesado | |
| | |''P'' |imprime el mensaje en crudo | |
| | |''"'' |imprime una versión citada del mensaje | |
| | |''""'' |formatea y cita el mensaje | |
| | |''q'' |**Sale y remueve todos los mensajes marcados como borrar** | |
| | |''r'' [dirección] |contesta a remitente mas cualquier dirección especificada | |
| | |''rf'' [dirección] |archiva mensaje y contesta | |
| | |''R'' [dirección] |contesta incluyendo una copia del mensaje | |
| | |''Rf'' [dirección] |archiva el mensaje y replica con copia | |
| | |''s'' fichero |agrega mensaje en crudo a fichero | |
| | |''t'' |formateador de texto | |
| | |''u'' |remover marca de borrado | |
| | |''w'' fichero |almacena contenidos de mensaje como fichero | |
| | |''x'' |sale sin eliminar mensajes marcados para borrar | |
| | |''y'' |sincroniza con la casilla | |
| | |''='' |imrpime el número de mensaje actual | |
| | |''|comando'' |entuba cuerpo de mensaje a comando | |
| | |''||comando'' |entuba mensaje en crudo como comando | |
| | |''!cmando'' |ejecuta un comando | |
| | ====Juegos==== |
| | Existen varios juegos instalados en el sistema remoto. |
| | * Reversi |
| | * Canfield |
| | |
| | ===Zork en PLan9=== |
| | |
| | Es posible instalar Zork en Plan9. |
| | <code bash> |
| | % 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 |
| | </code> |
| | Para correrlo usamos: |
| | <code bash> |
| | % cd /bin/games |
| | % zork |
| | </code> |
| | |
| | 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. |
| | |
| |