Autor: vejeta

  • Encuentro de usuarios de Emacs en el hacklab de Sevilla.

     

    Encuentro de usuarios de Emacs en Sevilla.

     

    Tal como se anunció en la web de hackarena:

    http://sevilla.hacklabs.org/?q=node/14

    Este fin de semana tendrá lugar un encuentro informal entre usuarios de Emacs. Reproducimos aquí las ideas que han surgido de momento para tratar en el encuentro:

    En el canal #emacs-es en irc.freenode.net y en la lista de correo de hackarena (hacklab-sevilla AT listas.nodo50.org) surge la idea de un encuentro de usuarios de emacs.

    Emacs es un editor con larga trayectoria en el software libre, que tienes sus origenes en la comunidad hacker del MIT a finales de los 70, y en los que GNU emacs, de Richard Stallman, es una de las versiones de emacs mas extendidas.

    David Vazquez, un miembro muy activo de la comunidad de emacs, junto con otros usuarios propone un encuentro en los que tratar estos temas:

    * Introducción al editor GNU/Emacs
    * Emacs como procesador de documentos (Latex, Texinfo, Docbook..)
    * Desarrollo en GNU/Emacs

    * Control de versiones
    * Diferencias, patchs, …
    * Más

    * Edición avanzada: mejorando tu productividad

    * Automatización de tareas: macros.
    * Autoescritura: abbrevs, plantillas, autocompletado..

    * Más que un editor: extendiendo las funcionalidades

    * Planificación (org-mode, planner, …)
    * Correo electrónico y news
    * Mensajería instantánea
    * Integrando todo el sistema

    * Lisp: Historia e Introducción
    * Programación en Emacs Lisp y extendiendo Emacs (taller)

     

     

    Lugar: CSOA Sin-Nombre

    C/ SanBernardo 42 /46 (edificio de ladrillo visto, antiguo colegio en frente de la antigua estación de cadiz)
    Nos reuniremos en la planta de arriba.

     

     

    Mapa para llegar desde la estación de trenes de San Bernardo hasta la calle San Bernardo, 42

     

    Actualización: El encuentro finalizó con mucha satisfacción por parte de los asistentes. Estas fotos son del domingo, cuando Davidam ya nos habia dejado para poder visitar la ciudad antes de volver a Madrid.

     

    Algunas imágenes del evento:

     

    La biblioteca del CSOA. Lugar del encuentro de emacs y taller de Lisp

    Evaluando una expresión Elisp.

    Despues del almuerzo, Antoniopr prueba algo nuevo con elisp bajo la atenta mirada de Davidvp y Jusore

    Taller de Elisp, Davidpr explica las estructuras básicas de Lisp. Jusore atento a la explicación y Antoniopr descubre la cámara de Vejeta.

  • Licencias OpenVMS

    Introducción

     

    En este texto voy a describir los pasos necesarios para obtener las licencias que HP nos da a los que tienen como hobby el uso de este sistema operativo. La licencia es gratuita y tiene un periodo de validez de un año. Una véz pasado el año, solo hay que ir la la web correspondiente y solicitar las licencias, en ese momento se nos otorgará una nueva licencia por otro año.

    Los pasos para obtener las licencias son:

    • Hacerse asociado de DECUS/ENCOMPASS.
    • Solicitar las licencias con el número de asociado al DECUS.
    • Solicitar el CD del Sistema Operativo elegido.

     

    Asociarse a ENCOMPASS

    Este paso es requerido, ya que nos dan un número de asociado que es el que luego usamos para registrar las licencias. Hay dos tipos de asociaciones (encompas member y encompass associate), una que cuesta dinero y otra que es gratuita. Lo mas probable es que nos interese la gratuita,  así que nos registramos en esta URL:

     

    https://www.encompassus.org/secure/membApp/index.cfm?form_type=ASSOC

     

     Una vez que nos registremos, nos enviaran el número de asociado a nuestra cuenta de correo. Esto puede tardar hasta dos semanas, así que hay que tener algo de paciencia. Evidentemente, no podemos perder el número, ya que es el que usaremos para renovar las licencias mas adelante.

     

    Solicitud de licencias

     

    Cuando ya  tengamos nuestro número de asociado, nos vamos a la web de Montagar (OpenVMS hobbyist) y registramos nuesto licencia de hobbyist:

    http://www.montagar.com/hobbyist/register_license.html

     

     Un vez que tengamos registrado nuentro número de asociado, ya podemos solicitar las licencias de hobbyist. Para ello acudimos a esta URL y ya solicitamos lo que nos interese:

     

    http://www.openvmshobbyist.com/licenses.php

     

    En principio, vamos a necesitar:

    • Una licencia Base del sistema que vayamos a usar, que puede ser VAX, Alpha o Itanium.
    • Una licencia de los PAKs (productos asociados). Si usamos VAX o Alpha,
      tenemos una opción, u otra distinta si es para Itanium. Cuando las
      estemos registrando, necesitamos el número de serie de la maquina en
      donde lo vamos a ejecutar. Este número de serie normalmente esta en una
      pegatina en la parte de atrás de la máquina, pero si lo que vamos a
      usar es un emulador, ponemos  ‘NONE‘ como número de serie.

     

    Nota: No hay que perder estas licencias, si las pierdes y las vuelves a solicitar en menos de un año, NO te las envían, sólo te las envían cuando estás rondando el año de la anterior emisión.

     

    Solicitar el CD

     

    Bueno, una vez que ya tenemos las licencias, podemos solicitar el CD con el Sistema Operativo que deseemos. Esto es opcional, pues ya lo podemos tener o incluso nos lo ha podido pasar algún amigo. Dado que la instalación se realiza mediante licencia, no se considera piratería el intercambio de los CDs con el sistema operativo, ni tan siquiera los de los productos asociados. De todos modos, yo considero que es interesante tener los CDs originales. La URL para solicitarlos es :

     

    http://www.montagar.com/hobbyist/mount.html

     

    Y en estos momentos esta disponible el OpenVMS Alpha Hobbyist Kit v4.0 como el OpenVMS VAX Hobbyist Kit v3.0. El coste de estos kits son 30 dólares cada uno, con lo cual (teniendo en cuenta el cambio) no nos vamos a arruinar demasiado.

     

     

     

     

     

  • Fotografias de ordenadores antiguos

    La revista TIME publicó hace tiempo, algunas fotos de máquinas que forman parte de la historia de la computación.

  • Conociendo PRIMOS

    PRIMOS fué escrito en Fortran IV y assembler. Era un sistema operativo descendiente de Multics.

    El código fuente esta disponible aquí: http://www.andrewpetermarlow.co.uk/goodies/Rev_19p2p3.tar.bz2

     

    Existe un emulador que fue anunciado hace ya algun tiempo: http://groups.google.es/group/comp.sys.prime/browse_thread/thread/e4ca58eb664f9299/05c8b40bc198db8c?lnk=gst&q=prime+emulator#05c8b40bc198db8c

     

    Nota: Espero que Pacolinux complete este artículo 😀

  • Emular ITS (Incompatible Timesharing System)

    Nuestro editor Pacolinux ha creado un nuevo articulo. Puede que tras instalarte una Ubuntu creas que ya eres un hacker, pero para conocer como trabajaban los hackers del MIT, ITS debería estar en tu recorrido.

    ITS estuvo funcionando en máquinas PDP10, de ahí el logo de la noticia.

    Leer más

  • ITS en klh10

    Presentación

     

    El siguiente artículo está escrito en forma de receta. Si tienes un sistema con el compilador gcc, como por ejemplo GNU/Linux,  sólo tendrás que copiar y pegar lo que pongo en los recuadros y en menos de 10-15 minutos tendras un sistema ITS funcional.

    Una recomendación es que cuando lo tengas, hagas una copia de seguridad, ya que trabajaremos sobre una imagen de disco, y si se ésta se estropea podremos restaurar con la copia. Otro motivo es porque la imagen (de la cual doy una URL) está ‘retirada’ de internet, así que si en algún momento desaparece de donde está, podría costar trabajo volverla a localizar.

    En otro artículo describiré con mas detenimiento las características de este OS y como realizar distintas tareas, este artículo tratará unicamente la instalación. Utilizaremos klh10 que es un emulador de PDP-10.

     

    Instalación

     

    – Creación de directorios para la instalación:

    #export KLH10_HOME=$HOME/ITS 
    
    mkdir -p $HOME/ITS
    
    cd $HOME/ITS

     

    – Cogemos la última version del emulador klh10 de Ken Harrenstien:

     

    wget http://klh10.trailing-edge.com/klh10-2.0a.tgz
    
    wget http://klh10.trailing-edge.com/klh10-2.0a-aux.tgz

    – Y cogemos la imagen de disco de un sistema ITS totalmente funcional:

    wget http://free.babolo.ru/src/PI-ITS-RP06.0-dbd9.bz2

    – Descomprimimos los ficheros:

     

    tar xfz klh10-2.0a.tgz 
    
    tar xfz klh10-2.0a-aux.tgz
    
    bunzip2 PI-ITS-RP06.0-dbd9.bz2
    

    – Ahora vamos a compilar el emulador. NOTA IMPORTANTE: hay que usar el gcc-3.4, con las versiones de gcc 4 no funciona. Lo más normal es que si tienes una distribución GNU/Linux reciente, tengas instalado un gcc versión cuatro, por lo que tendrás que instalar la versión tres. Para verificar la versión de gcc:

     

    gcc --version
    
    gcc (GCC) 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)

    – Si no tenemos el 3.4, podremos instalarlo sin problemas ya que las dos versiones pueden coexistir y cuando acabemos lo podremos desinstalar, ésto lo hacemos como root si estas en una distribución Debian GNU/Linux o similar:

    sudo apt-get install gcc-3.4

    – Ahora vamos a modificar el Makefile para que use nuestro compilador gcc-3.4:

     

    mv klh10-2.0a/src/Makefile.mk klh10-2.0a/src/Makefile.mk.orig
    
    cat klh10-2.0a/src/Makefile.mk.orig | sed s/cc/gcc-3.4/g > klh10-2.0a/src/Makefile.mk

    – Una vez que lo tenemos modificado, lo compilamos, en nuestro caso es un linux x86, así que nos vamos al directorio apropiado, y ejecutamos el make.

     

    cd klh10-2.0a/bld/lnx86
    
    make base-ks-its
    

    Cuando terminemos de compilar, copiaremos todos los ficheros ejecutables a nuestro directorio de trabajo (sin hacer ‘make install’).

     

    cp dpimp dptm03 dprpxx kn10-ks tapedd udlconv vdkfmt wfconv wxtest $HOME/ITS
    
    ##make install
    
    cd $HOME/ITS
    
    cp -p klh10-2.0a/run/ksits/* .

    – Si queremos usar la red, hay que ejecutar el emulador como root, o darle setuid al driver de red:

     

    sudo chown root dpimp;  chmod 4750 dpimp

     

    Ejecución

     

    – Listo, ya estamos preparados para la primera ejecución. Voy a intercalar explicaciones precedidas de tres guiones ()

    ./kn10-ks  klh10-pi.ini
    KLH10 V2.0A release (MyITS) built May 10 2008 10:40:00
    ...
    ...
    ...
    Data: 65470, Symwds: 0, Low: 01, High: 0777266, Startaddress: 0144430
    KLH10> 
    KLH10> ; go 774000 ; to start DDT, else "go" to start ITS
    KLH10> 
    KLH10> [EOF on klh10-pi.ini]
    
    --- saltamos al DDT
    
    KLH10> go 774000
    
    --- la primera ejecucion es algo complicada
    
    Starting KN10 at loc 0774000...
    
    --- cuando se pare (NO aparece el prompt) escribimos 'its' y le damos al 'enter'
    --- responderá poniendo una U despues de ITS
    --- a continuación le damos al 'esc' y pulsamos la G, el DDT responde con $G
    
    ITSU   $G
    
    Salvager 260
    
    .TEMP. has no files, User File Directory DELETED
    
    [dpimp: Using default interface "eth0"]
    [dpimp: ifc "eth0" => ether 0:1d:92:62:cf:6f]
    [dpimp:   inet 172.24.96.3]
    [dpimp:   netmask 255.255.255.0]
    [dpimp:   net 172.24.96.0]
    [dpimp:   HOST: 199.34.53.51]
    [dpimp:   gwdef 199.34.53.50]
    [dpimp: no native ARP entry, assuming shared ifc]
    THE KS-10 CLOCK HAS BEEN RESET, IF THE TIME CANNOT
    BE DETERMINED FROM THE NETWORK, YOU MAY HAVE TO :PDSET
    
    PI ITS 1647 IN OPERATION
    PI ITS 1647 SYSTEM JOB USING THIS CONSOLE.
     LOGIN  TARAKA 0 
    
    
                                  Attention!
    
                                  Attention!
    
    The time could not be set because:
    No host responded.
    It will be necessary for someone to set the time
    manually by logging in and running :PDSET.
    
    TARAKA NETIME IOTLSR  
    
    PI ITS 1647 SYSTEM JOB USING THIS CONSOLE.
    
    --- listo, ya podemos abrir sesion, para ello pulsar ^Z (control z)
    
    PI ITS.1647. DDT.1545.
    TTY 0
    You're all alone, Fair share = 0%
    
    (ITS does not know the date, so messages cannot be reviewed right now.)
    
    --- y ya estamos en la 'shell' de ITS.
    --- podemos ver el contenido del directorio con :listf sys
    
    :listf sys
    
    PI   SYS
    FREE BLOCKS #0=17615
      L   .FASL  DEFS   LISP .FASL DEFS
      L   2OPS2  OPS    SAIL 2OPS2 OPS
      0   :MSGS  TIMES  4 ! 3/21/102 22:18:38
      0   ATSIGN CHAOS  1 ! 1/16/81 16:34:48
      0   ATSIGN DDT    40 ! 3/18/90 12:02:11
      0   ATSIGN DEVICE 1 ! 12/18/89 19:51:44
      L   ATSIGN DRAGON CHANNA ATSIGN TARAKA
      0   ATSIGN HACTRN 40 ! 8/14/90 02:07:30
      L   ATSIGN LISP   SYS PURQIO >
      0   ATSIGN ODDT   40 ! 11/26/88 16:23:57
      0   ATSIGN ODEVIC 1 ! 9/19/88 21:13:37
      0   ATSIGN OPWORD 28 ! 4/1/87 04:24:35
      L   ATSIGN PEEK   SYS TS PEEK
      0   ATSIGN PWORD  28 ! 8/2/89 21:54:13
    ...
      0   TS     TTYSWP 1 ! 11/11/76 17:18:17
      0   TS     TYPE8  1 ! 11/14/83 05:05:13
      0   TWXBTS 29     35 ! 3/25/81 13:01:09
      0   TWXDFS 8      2 ! 3/24/81 21:52:07
    --- Podremos ejecutar :version
    *:version
    PI ITS.1647. DDT.1545.
    TTY 0
    --- Tambien podremos ejecutar :emacs
    *:emacs
    (Please Log In)
    
    
    EMACS Editor, version 162 - type Help(^_H) for help.

    – Para salir del emulador :

    ---pulsamos ^\ (esto es Control-AltGr-\) y escribimos shutdown
    
    KLH10> shutdown
    Continuing KN10 at loc 05600...
    
    SWITCH 0 IS UP  
    PI LEVEL 7 BUGDDT.  TYPE <ALTMODE>P TO CONTINUE.
    YOU ARE NOW IN DDT.
    BUGPC/   CAIA CLQBRT+3   $Q-2/   SKIPE 8SWIT0   
    [HALTED: FE interrupt]
    KLH10>
    
    ---volvemos a pulsar ^\ (esto es Control-AltGr-\) y escribimos quit
    
    KLH10> quit
    Are you sure you want to quit? [Confirm]y
    Shutting down...Bye!
    

    – Para las siguienes ejecuciones, se puede directamente teclear go el el prompt de KLH10>

    KLH10> go
    Starting KN10 at loc 0144430...
    
    Salvager 260
    
    .TEMP. has no files, User File Directory DELETED
    
    --- esperar que se normalize y ya podemos abrir sesión, para ello pulsar ^Z (control z)
    
    

     

     

    Configuración básica:

     

    – Para que el sistema funcione correctamente, tenemos que por lo menos configurar la fecha/hora. El modo es mediante :pdset

    , a continuación se muestra como configurar la fecha 10 de mayo de 2008, y las 16:40. Viendo como encajan los numeros es fácil deducir el formato.

     

    :pdset
    (Please Log In)
    ___002 PDSET  IOTLSR  
    
    PDSET.114
    Please don't use this program unless you know how.
    You are certain to break something if you happen to hit the wrong key.
    Type Control-Z to exit, or ? for a reminder of the commands.
    20C
    080510D
    164000T
    !.
    141427/ 777651,,662253  772754,,224545  ___002 
    
    141426/ 3722    3730    ___002 16:40:00
    IT IS NOW  4:40:00 PM EDT, SATURDAY, MAY 10,2008
    q
    
    

     

    NOTAS:

     

    Este emulador es muy complejo, hay que leerse los docs 🙂

    Más adelante escribiré más sobre como hacer determinadas cosas,  por ejemplo, como configurar la red, o recompilar el kernel.

    Los comandos en ITS van precedidos de dos puntos (:) y puedes pedir ayuda mediante 😕 o :info

     

     

    Enlaces de interés:

     

     

    Documentación:

    http://zane.brouhaha.com/~healyzh/sysdoc/sysdoc.htm

    El manual de referencia :

    ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-161A.pdf

    Manual de DDT:

    http://victor.se/bjorn/its/ddt.html

     Manual de Maclisp;

    http://www.maclisp.info/pitmanual/

     Conferencia de Stallman donde habla sobre ITS, PDP10, emacs, etc ..

    http://www.gnu.org/philosophy/stallman-kth.html

     

     

  • Perdemos la conexión

    Volvemos a estar en línea, gracias a un router provisional, proporcionado por nuestro colaborador PacoLinux. Hasta que nos llegue el router definitivo, quizás un Cisco 837, puede que tengamos un próximo corte la semana que viene cuando hagamos la migración

  • X portado a plan9

    Aunque los incondicionales de plan9 seguiremos usando rio, el Anuncio de Equis servirá para aquellos para los que su dependencia de programas unix sentian que necesitaban un servidor de X. fgb planea incluir los cambios en el trunk de xorg.

     

    Desde plan9, podemos ver la descripción del tarball con la herramienta contrib:

    % contrib/list -v fgb/X11
    fgb/X11:
            Description:
                    Equis - Xserver for Plan 9 + Xlibs.
            Contents: 115.40Mb in 6023 files
            Modified: Tue May 6 14:42:48 GMT 2008
            Depends:  freetype z

     

    Y para instalar:

    % contrib/install fgb/X11
    

     

     

     

  • Configurar plan9 con el hipervisor lguest

    Introducción

    • Plan9 de Bell Labs es el sistema operativo creado por los mismos laboratorios que inventaron Unix. Puede ejecutarse de manera nativa sobre diferentes arquitecturas, o tambien como máquina virtual con Qemu, Xen o Lguest.
    • Lguest está integrado en el kernel linux desde la versión 2.6.23-git13 en adelante. Para realizar el artículo se ha probado con el último kernel 2.6.25.

     

    Configurando Lguest

    Hay que preparar el kernel para tener el soporte de lguest  y activar varias opciones.

    No es el objetivo de este artículo explicar como se configura o compila el kernel, pero puedes utilizar «make menuconfig» para seleccionar las siguientes opciones:

      "General setup":
         "Prompt for development and/or incomplete code/drivers" = Y
            (CONFIG_EXPERIMENTAL=y)
    
      "Processor type and features":
         "Paravirtualized guest support" = Y
            "Lguest guest support" = Y
         "High Memory Support" = off/4GB
         "Alignment value to which kernel should be aligned" = 0x100000
            (CONFIG_PARAVIRT=y, CONFIG_LGUEST_GUEST=y, CONFIG_HIGHMEM64G=n and
             CONFIG_PHYSICAL_ALIGN=0x100000)
    
      "Device Drivers":
         "Block devices"
            "Virtio block driver (EXPERIMENTAL)" = M/Y
         "Network device support"
            "Universal TUN/TAP device driver support" = M/Y
            "Virtio network driver (EXPERIMENTAL)" = M/Y
               (CONFIG_VIRTIO_BLK=m, CONFIG_VIRTIO_NET=m and CONFIG_TUN=m)
    
      "Virtualization"
         "Linux hypervisor example code" = M/Y
            (CONFIG_LGUEST=m)

     

    Configurando el soporte de red (Bridging o NAT)

    La máquina virtual usará un interfaz de red virtual, mediante bridging o NAT.

    En este caso, utilizaremos NAT, para lo cual tambien necesitaremos soporte de NAT en el kernel si no lo tuvieramos:

     

    Networking  ---->
     Networking options  ---->
      Network packet filtering framework (Netfilter)--->
       Core Netfilter Configuration ---->
        <*> Netfilter connection tracking support
        <*> Netfilter Xtables support (required for ip_tables)
        <*>   "NFLOG" target support
        <*>   "conntrack" connection tracking match support
        <*>   "state" match support
       IP: Netfilter Configuration --->
        <*> IPv4 connection tracking support (required for NAT)
        <*> IP tables support (required for filtering/masq/NAT)
        <*>   Packet Filtering
        <*>     REJECT target support
        <*>   Full NAT
        <*>     MASQUERADE target support
    

    Compilamos el kernel: make
    Instalamos el kernel: make install
    Instalamos los modulos: make modules_install

    Compilando el binario de lguest

    Bajo el arbol de directorios donde tengamos las fuentes de linux (en mi caso es /usr/src/fuentes/linux), vamos al siguiente subdirectorio:

    cd Documentation/lguest/

    y ejecutamos «make» para generar el binario ejecutable de lguest.

    vejeta:/usr/src/fuentes/linux/Documentation/lguest# make
    cc -Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include    lguest.c  -lz -o lguest

     

    Obtener el kernel modificado y la imagen de Plan9 para lguest (THNX)

     

    • 9lguestcpu.2.6.25.elf.   Es el kernel modificado para arrancar Plan9 bajo lguest.
    wget http://sirviente.9grid.es/sources/contrib/rminnich/lguest/9lguestcpu.2.6.25.elf
    • THNX – «Tiny Horrible NOT Xen» es la imagen preinstalada de Plan9 que fue creada por Ron Minnich para funcionar bajo lguest. (300Mb comprimidos, 1.6Gb al descomprimir)
    wget http://usuarios.lycos.es/vejeta/plan9/thx9.img.bz2

     

    Descomprimir:

    bzip2 -d thx9.img.bz2

     

    Haciendo NAT para el interfaz de red tap0

     

    Crear el script: NATME con las siguientes líneas y ejecutarlo.

    iptables --append FORWARD --in-interface tap0 -j ACCEPT
    iptables --table nat --append POSTROUTING --out-interface  eth0  -j MASQUERADE
    iptables -t nat --list
    echo 1 > /proc/sys/net/ipv4/ip_forward

     

    Arrancando Plan 9 con lguest

    Hay que reiniciar el ordenador para arrancar con el nuevo kernel y ya podemos arrancar lguest.

    Primero cargamos el modulo de lguest con los parámetros que se indican.

    modprobe lg syscall_vector=64

    Arrancando lguest con Plan9 virtualizado.

    /usr/src/fuentes/linux/Documentation/lguest/lguest 256 /usr/local/tmp/plan9/lguest/9lguestcpu.2.6.25.elf \
    --tunnet=192.168.19.1 \
    --block=/usr/local/tmp/plan9/lguest/thx9.img \
    'venti=#S/sd00/arenas;bootdisk=local!#S/sd00/fossil;bootargs=local!#S/sd00/fossil;lguestnetwork=NAT;'
    • 256 indica la RAM que tendra la máquina virtual.
    • 9lguestcpu.2.6.25.elf.  Es el kernel que ejecutará la máquina virtual.
    • –tunnet=192.168.19.1. Configura un dispositivo de red «tap» con la dirección IP indicada.
    • –block=/usr/local/tmp/plan9/lguest/thx9.img.  Es  el dispositivo de bloques (block device) que en este caso contiene la imagen de plan9 preinstalada.

     

    La imagen de Plan9 está preparada para funcionar como «cpu», es un servidor de Plan9 el cual sirve a terminales Plan9.

     

    Conectando a la máquina virtual Plan9 con drawterm

     

    Si aún no tienes un terminal Plan9, puedes usar drawterm compilando los fuentes, o usando un binario ejecutable para tu sistema operativo.

     

    drawterm -u bootes -a 192.168.19.2 -c 192.168.19.2

    La clave o password es: lguestgood

    La siguiente imagen muestra la ventana de drawterm, con el navegador abaco y acme. De fondo se ve el terminal donde arrancamos lguest.

     

    lguest_thnx

     

     

    Enlaces de interes

    Espero que os guste

    Zoperman – Vejeta

Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.