Suscribirse al Feed
11Feb

Qué es un shell y Qué shells están disponibles en Linux

Qué es shell

Unos dicen que es el sistema operativo, otros dicen que es una pantalla negra sin sentido y anticuada, otros dicen que es la causa de que Linux no sea famosa entre gente inexperta. ¿quien tiene la razón? Hagan sus apuestas!!! No, ahora en serio.

NO es el sistema operativo (el sistema operativo es el software que dirige la computadora, habla con el hardware, carga y ejecuta programas, etc.); cuando se ve el indicador de la computadora y se escriben comandos para ejecutar, con lo que estamos tratando es con el shell.

Una característica interesante de Linux, es que los shells son completamente independientes. Como usuario tenemos la libertad de elegir entre uno u otro shell. También es posible interactuar con un shell, y escribir comandos para otro.

Shells disponibles en Linux

Piensa que el shell es un programa que está entre el usuario y el sistema operativo. Este programa interpreta lo que el usuario le indica (en su lenguaje) para manipular el sistema operativo.

El shell original disponible en los sistemas UNIX era el shell Bourne (“sh”). Después dos shells que se volvieron populares fueron shell Korn (“ksh”) y el el shell C (“csh”), cada uno con sus características propias, ventajas y desventajas.

Los shells Bourne y el C fueron reescritos, como resultado ahora tenemos el “Bourne again shell (Shell Bourne nuevamente)” o “bash”, y el shell T (“tcsh”). Los tres shells están disponibles en casi todas las distros de Linux. Bash es probablemente el shell más utilizado actualmente, y es el que viene por defecto en la mayoría de las distros.

08Feb

Sodoma y Gomorra; es decir: Kororaa y Gororaa

Kororaa y Gororaa son dos distros de Linux basadas en Gentoo y unas de las primeras en implementar XGL y Compiz, para el manejo de la interfaz gráfica del sistema operativo. Talvez ya hayas visto alguno de los videos de demostración de XGL, como este:

Si no los haz visto es mejor que lo hagas, es realmente impresionante. Al principio se puede pensar que se necesitan super máquinas para poder tener dichos escritorios 3D, pero no. Por ejemplo mi computador, que es algo viejo, solo tiene: 1,2Ghz de procesador (ADM), 256 de RAM, targeta gráfica nVidia de 256, y una board de hace 6 años; cuando estaba probando Kororaa para ver si funcionaba en él, no tenía ni la más mínima esperanza, oh sorpresa cuando veo que aquellos efectos impresionantes de los videos los podía tener yo, en mi máquina.

Y no solo eso, siendo un live-cd (el Kororaa que utilicé primero) no tenía problemas con ningún efecto (rotar el cubo de escritorios a toda velocidad, mover las enclenques ventanas, transparencias, y otros tantos efectos). Instalado completamente es una pasada!!!

El LiveCD es mas que todo para demostrar lo que puede hacer Kororaa; está hecho para ver en acción a AIGLX, Xgl, Compiz tanto en KDE como en Gnome. Aunque tiene la opción de instalar en disco. Además se automatizan muchas partes de la instalación de Gentoo, ya que este tiene fama de ser difícil de instalar. Recuerdo haber leído que el LiveCD solo no está disponible para procesadores AMD64, solo Pentium 3 (y posteriores) y ADM i686.

¿Y cual es la diferencia entre Kororaa y Gororaa? Umm, no es muy difícil de deducir ¿verdad? Kororaa viene por defecto con el escritorio KDE, mientras Gororaa viene con Gnome.

Una de las ideas principales de los desarrolladores de XGL es sacarle el jugo a las targetas aceleradoras de gráficos; sino estás seguro de que tu targeta es soportada puedes echar un vistazo aquí.

Descargas

Puedes descargar dos versiones del Kororaa:

Mainstream Kororaa (viene en dos sabores, Kororaa con KDE como escritorio por defecto y Gororaa con Gnome con como escritorio por defecto); y Kororaa Live CD

Ambos son instalables, sin embargo el LiveCD no viene con los mismos paquetes (por ejemplo no trae OpenOffice). El Mainstream Kororaa es para instalar solamente, es decir no tiene un sistema “live”.

En la página de las descargas están disponibles los mirrors para la versión principal; se incluyen enlaces directos via FTP y HTTP, y enlaces para hacerlo mediante Bittorrent (mucho más rápido).

Saludos!!!

07Feb

Revista Essential Libre - Edición 5

Contenido:

  • El cocinero que instaló Debian y tuvo éxito
  • Entrevista [OpenJDK]
  • El proyecto OLPC
  • Objetos Virtuales de Aprendizaje
  • Latex, el lenguaje científico al alcanze de todos
  • Entrevista a Teemu Leinonen [Foro Académico de Objetos Virtuales de Aprendizaje]
  • ¿Tiempos de turbulencia en Debian?

Versión en PDF

03Feb

Limitaciones de Ajax y ventajas de Flash

Desde barrapunto leo:

Bruce Eckel, autor de libros tan importantes como Think in Java o Think in C++, ha escrito una reflexión sobre el estado actual del desarrollo web. Creo que es un artículo de mucha actualidad y del que se pueden sacar algunas ideas. Flex es un framework Flash para construir clientes de aplicaciones web de gestión. Se está extendiendo muy rápido y grandes corporaciones como SAP y Oracle están apostando por él. La gran penetración de flash player creo que hará que estas soluciones salten de las intranets y pasen pronto a la "web pública".»

En el artículo Eckel expone las limitaciones que tiene el desarrollo (D)HTML/CSS/Javacript:

  • Complicaciones para conseguir una apariencia común en navegadores.
  • Inconsistencias de Javascript.
  • Difícil de mantener.
  • AJAX es un hack. Para reutilizar componentes ajax tienes que ser tener conocimientos de bajo nivel sobre el propio hack.

Después de hablar un rato sobre el desastre de los Applets java, se mete de lleno con Flex. Es el mejor sistema para crear aplicaciones ricas en internet. Completo, sencillo, multiplataforma y gratis. Como Java hasta hace pocas semanas. Ofrece tiempos de desarrollos cortos y resultados excelentes.

En verdad es mucho lo que se habla de este tipos de temas. Unos dicen que sí, que flash es la solución, otros que no, que Ajax lo es. Unos con sus críticas (muy válidas) hacia los applets de Java, otros se preocupan por elparadigma MVC.

Se habla en todo lado (por ejemplo); y se dice que la combinación de Java+Ajax y Flash son la futura generación de las interfaces gráficas en la web. Y se habla de flex, un posible solución. Se habla de los plugins que necesita Java y Flash, y que JavaScript no, y.... etc, etc, etc.
Lo único realmente sensato que he podido leer es que uno debe utilizar una u otra herramienta según sea el caso. Si se necesita concentrar los esfuerzos en la parte gráfica pues que se use Flas, si es en el contenido y gestión del mismo, que se use Ajax, y para una u otra cosa variar. Si se fijan bien cada una de las polémicas se dan simplemente porque a alguien le gusta usar más una cosa que otra, y olvidamos que los realmente importante es hacer las cosas bien, utilizando las herramientas adecuadas.
Hay buenas opiniones aquí; claro, cada uno halando pa' su lado.

02Feb

Entornos de escritorio 3D

Un entorno de escritorio es un conjunto de software que te permite como usuario interactuar con el sistema operativo como tal, utilizando aplicaciones gráficas de manera que sea de uso fácil e intuitivo.

En Linux este sistema de Escritorio/SO es más notable. En Linux el Kernel (o nucleo del SO) está separado del “escritorio” (que maneja la parte gráfica). Ello permite que podamos utilizar casi la totalidad del sistema operativo sin necesidad de utilizar gestores de ventanas y gráficos (es decir, con una shell), e instalar/utilizar diversos escritorios (por ejemplo Gnome o KDE). Cosa que no pasa con windows, donde el escritorio (la parte gráfica) es parte del sistema operativo.

Lo que realmente distingue a Linux de otros sistemas operativos modernos es que, aunque se puede crear una GUI para él usando una targeta de video, las capacidades del software para controlar todo, la GUI realmente no forma parte del sistema operativo y disfraza la mayor parte de la complejidad de la línea de comandos del sistema operativo para el usuario.

X-Server

El sistema gráfico de Linux es el X-Window. Fue creado a mediados de los años 1980. Este sistema asume que las aplicaciones actúan como un cliente (x-client) de un servidor X-W indow (x-server). El x-server se encarga de lograr la interacción entre el usuario y la aplicación. El rol del servidor es desplegar la imagen en pantalla y recibir los eventos de teclado, ratón y otros dispositivos. Hay distintas implementaciones de x-servers, los hay para GNU/Linux, MacOSX y también en Windows.

Mientras mejor sea el x-server, mejor es la representación de la aplicación. Para ir mejorando un servidor x-server se van proponiendo extensiones (x-extensions) y con el tiempo estas extensiones se van implementando en los distintos x-server y drivers. Ejemplos de x-server son XFree86 y Xorg.

Normalmente, tanto los x-client y el x-server se ejecutan en un mismo computador. La separación entre x-client y x-server también permite que una aplicación que se ejecuta en un computador, pueda utilizarse desde otro computador en forma remota con un x-server corriendo en el computador local al usuario en forma independiente del sistema operativo.

¿Como se dibujan las ventanas?

En la actualidad los sistemas tradicionales dibujan las ventanas como un rectángulo en donde se ubican botones y demás componentes que servirán para la utilización de la aplicación. Si se colocan dos ventanas una sobre otra, la ventana que se encuentra detrás de la otra o parte de ella que no es visible, no se dibujará. Sin em bargo, cuando la ventana que cubre a la otra se mueve, la nueva superficie visible ha de ser dibujada por cada aplicación. Esto es conocido como composición. Lo anterior es experimentado cuando movemos rápidamente una ventana y las demás no alcanzan a redibujarse o cuando una aplicación deja de responder, entonces veremos simplemente un rectángulo vacío.

La desventaja es la necesidad de constantemente redibujar la ventana aunque no sea necesario y que no se pueden mostrar transparencias a una ventana. Para crear este efecto se les opaca 100%, para dar un aspecto de por ejemplo una ventana con bordes redondos. Pero si pasamos una ventana detrás de esta transparencia o moviéndola veremos que es rectangular. Además de esto, la CPU es la encargada de hacer los procesos de posicionamiento y movimiento.

Composite Manager – Window Manager

Para solucionar los problemas anteriores, se ha planteado dibujar las ventanas fuera de la pantalla (offscreen). Esto quiere decir que cada aplicación se redibujará sólo cuando algo en ella cambie y su contenido siempre estará disponible, aunque no sea visible y se guarda en la memoria del vídeo mientras esté en ejecución (Frame-Buffer del tamaño de la pantalla). Una aplicación especializada se encargará de mostrar las ventanas en el escritorio que se ve en la pantalla. Esta aplicación se le conoce como Composite Manager y es capaz de renderizar las ventanas y de esta m anera cambiarles la forma, el tamaño, rotarlas, agregarles sombras, crear miniaturas activas y demás efectos. Un Window Manager se encargará de posicionarla y redimensionarla en el escritorio, visualmente son el título y los bordes de la ventana como por ejemplo Metacity, Kwin y Window Maker.

Un Composite Manager puede usar OpenGL para renderizar y tomar la ventana como si fuera una textura o imagen vectorial y colocarla sobre un polígono que es la forma que obtendrá la misma. De esta manera podemos no sólo tener interfaces rectangulares sino de cualquier forma y aprovechar el rendimiento de las tarjetas de vídeo que pueden ejercer la función de forma rápida y se libera a la CPU para que pueda trabajar sobre los procesos de las aplicaciones y no de la parte gráfica.

Además de otras características se puede resaltar que gracias al buffer, en ventanas con scroll como navegadores web, no se tienen que repintar en su totalidad cada vez que lo movamos sino que sólo la nueva porción de ventana se desplaza directamente del contenido del buffer a la memoria del vídeo.

Xcom pMgr fue el primer Composite Manager que agregó sombras y transparencias a las ventanas, pero su principal problema fueron los drivers Xorg ya que sólo las tarjetas Nvidia lo puede acelerar. Red Hat comenzó luego a modificar Metacity que es el Window Manager de GNOME, para que incluyera funciones de Composite Manager y pasó a llamarse Luminocity.

Entre tanto, Sun Microsystems comenzaba el desarrollo del proyeto Look ing Glass liberado bajo licencia GPL en 2004 y busca dar una nueva funcionalidad a los escritorios, brindar al usuario un mejor manejo de la información y de las aplicaciones haciendo uso del 3D. Poderla ver en mayor volumen y acceder a ella de forma más rápida @, ya que “somos capaces de utilizar de mejor forma el espacio de nuestra pantalla”, dijo Juan Carlos Soto, Sun engineering manager para el Proyecto Looking Glass. Entre sus características está el de poder voltear cada ventana y de verlas en perspectiva, así como navegar en el escritorio en cualquier dirección.

El equipo de Apple no se queda atrás y hace algún tiempo cambiaron su modelo de composición pudiendo incluir en su versión MacOSX v10.2 Tigger a Quartz Extreme un gestor de ventanas acelerado por hardware por medio de OpenGL. Esto ofrece características tan conocidas con el Expose o el poder ver las ventanas pequeñas con el intercambio entre ellas (alt-tab).

Lo mismo ocurre en Microsoft con su nueva versión de Windows Vista, el cual cuenta con Windows Aero que brindará efectos similares a los de Mac y vista en perspectiva de ventanas (Flip 3D), pero que afecta su rendimiento. En cuanto a sus requerimientos no pasan de ser un procesador Dual Core, además de incluirse esta tecnología únicamente en algunas ediciones.

XGL

Xgl publicado recientemente por Dave Reveman de Novell, surge como una variante en el cual se quiere ofrecer más soporte y mayor provecho de las tarjetas de vídeo actuales y por lo tanto se comenzó a trabajar en un x-server nuevo, olvidándose del ya existente Xorg. Una tarea muy extensa pero que obtuvo solución. Cuando este realiza sus operaciones render bajo el driver de OpenGL, lo que hace es conectarse a otro servidor con soporte OpenGL a través de la exención GLX. De esta manera si cargamos Xorg mas Xgl obtenemos un x-server capaz de acelerar nuestro escritorio y poder montar un Composite Manager que nos cree los efectos deseados.

Uno de ellos se llama Compiz, que transitó por varias versiones y un desarrollo rápido, empezando por una lista de correo de la comunidad a un grupo de desarrolladores que lo liberaron, creando mejoras y agregando características casi diarias. Por tal razón, siempre se mantuvo como versión inestable, construida por un núcleo y varios diversos que agregan efectos como movimientos difusos, el cubo formado por los cuatro escritorios característicos en GNU/Linux, Expose de Mac, sombras , etc. Compiz es un gestionador de ventanas para Xgl y contrario a lo que se piense, no se necesita de una gran máquina para poderla correr, obviamente es necesario una tarjeta de aceleración gráfica (aquí una lista de tarjetas soportadas). La última es la versión Compiz-Quinnstorm incluida en los repositorios de distribuciones como OpenSuse 10.1 y Ubuntu Dapper 6.06.

Muchos de los usuarios tuvieron(mos) problemas con el Window Decorator de Compiz pues usaba Metacity de GNOME o Kwin de KDE y al ejecutarlo desaparecían los bordes. Entonces se desarrolló Cgwd (Custom Generic Window Decorator), un decorador que también le da efectos a los bordes - como iluminar los botones de la barra de título cuando pasa el puntero encima o se oprime – al igual que transparencias y temas de escritorio.

En estos momentos Compiz ya se encuentra entre los repositorios de Debian Sid (inestable) aquí y aquí; esta ya incluye los scripts en Python para ejecutarlo. Sin embargo se debe configurar el archivo xorg.conf y gdm.conf para la aceleración.

Ahora Beryl es un reemplazo, que surge como un derivado de Compiz. Debido a algunos desacuerdos dentro del grupo de desarrolladores, este último es mejorado e impulsado por otro equipo de programadores que promete darle continuidad al proceso. En sus repositorios se encuentra un mayor soporte frente a las diferentes distribuciones de Linux como también FreeBSD.

Y finalmente, Aiglx es un X-server creado por el grupo de desarrolladores de Fedora como una opción más de XGL, que comenzó haciendo pequeñas modificaciones a Xorg, por lo tanto, tiene un mayor soporte de hardware. Aunque no se construyó desde cero, tiene muy buen rendimiento en combinación con Beryl e igualmente tiene aceleración por medio de OpenGL.

Algunos videos de demostración, para que veas en acción estos sorprendentes escritorios:

Otro, y otro.

Nota: La mayor parte del artículo fue construida por Daniel Rodríguez Cardenas (Grupo Linux Universidad Distrital de Colombia), yo solo agregué y modifiqué algunas partes. Este artículo está bajo la licencia Creative Commons.

Versión en PDF

© 2007 - 2008 Dezinerfolio. Todos los derechos reservados.
Powered by Wordpress. Entradas RSS