sábado, 26 de mayo de 2012

Qué es el Comando de Linux mail?

Escrito esta:
Y este es el mensaje que hemos oído de El y que os anunciamos: Dios es luz, y en El no hay tiniebla alguna.(1 Juan 1:5)
Tomado de: hscripts
 
COMANDO mail:
     El comando mail se usa para enviar y recibir correos localmente y globalmente.

SINTAXIS:
  La sintaxis es
     mail

OPCIONES:
     
-s Especifica asunto en la línea de comando.
-c Enviar copias a la lista de usuarios.
-b Enviar copias ocultas a la lista. La lista debe ser una lista de nombres separada por comas.
-f Lee los contenidos de tu correo para procesar; cuando cierras, mail escribe los mensajes sin borrar a este archivo.
-i Ignora las señales de interrupción tty. Esto es particularmente útil cuando utilizas mail en líneas telefónicas con ruido.



EJEMPLO:     
  1. Recibir correos
    mail
    El comando anterior muestra los mensajes. Presiona Intro para ver el siguiente mensaje después del símbolo "&".
  2. Enviar correos
    mail abc@localhost.com (or) mail abc@hiox.com
    Comienza un nuevo correo y lo envía a abc@localhost.com.
    Para terminar el mensaje, escribe un punto(.) 
    y presiona Intro (o) presiona ctrl+d y presiona Enter.
-----------------------------------------------------
Tomado de :Blogubuntu

Así, en la lista nos encontramos desde gestores de correo muy conocidos, como Thunderbird o Evolution, hasta otros basados en consola, como Mutt. La lista completa:
MOZILLA THUNDERBIRD : Cliente de correo electrónico (multiplataforma) de la Fundación Mozilla. Soporta IMAP/POP, correo HTML, noticias, RSS, etiquetas, corrector ortográfico incorporado, soporte de extensiones y skins, buscadores, cifrado PGP, un filtro bayesiano de correo basura (spam), etc.
EVOLUTION : Gestor libre de información personal (PIM) y de trabajo en grupo para GNOME, desarrollado originalmente por Ximian ahora es parte oficial del escritorio de GNOME. Combina administración de correo electrónico, calendario, agenda y lista de tareas. Forma parte del conjunto GNOME Office.
KMAIL : Cliente de correo electrónico (MUA) para el proyecto KDE y parte de la suite de software Kontact. Dispone de una interfaz modificable y se integra con las aplicaciones KDE.
MUTT : Se trata de un cliente de correo liviano, basado en consola, para sistemas Unix.
ALPINE : Herramienta para leer, enviar, y gestionar correo electrónico. Está basado en el sistema de mensajes Pine y, aunque fue desarrollado pensando en usuarios noveles, pero puede adaptarse a las necesidades de cualquier usuario.
BALSA : Balsa es un cliente de correo electrónico para GNOME muy configurable y robusto.
CLAWS MAIL : Claws Mail es un cliente de correo (y lector de noticias), basado en GTK +, con unas características muy deseables y completas en un programa de estas características.
GNUS : Gnus es un lector de mensajes (correos electrónicos) bajo GNU, Emacs y XEmacs. Soporta tanto lector de e-mail como news. Incluso, soporta fuentes web-base para poner los grupos.
(*) Algunas descripciones están basadas en información de la Wikipedia, otras en la información publicada en sus propios sitios web.

domingo, 6 de mayo de 2012

La Tabla de equivalencias / reemplazos / de software análogo a Windows en Linux.

Escrito Esta:
Mateo 7:13 Entrad por la puerta estrecha, porque ancha es la puerta y amplia es la senda que lleva a la perdición, y muchos son los que entran por ella.
Tomado de: Linuxrsp
Una de las mas grandes dificultades en la migración de Windows a Linux es la carencia de software equivalente. Los Newbies por lo general buscan los software equivalentes de Windows para Linux, y los usuarios avanzados de Linux no pueden contestar sus preguntas ya que ellos a menudo no conocen demasiado sobre windows :). Esta lista de equivalencias / reemplazos / de software análogo a Windows en Linux está basada en nuestra propia experiencia y en la información de los visitantes a esta página (gracias!).
Esta Tabla no está estática - nuevos programas pueden ser agregados a lados derechos en tanto se este en marcha, y esto no es el hecho que la columna derecha será llenada inmediatamente. En el futuro nosotros planeamos migrar esta tabla a PHP/MySQL, asi los mismos visitantes podrán agregar programas, votar por los programas equivalentes, agregar comentarios, etc.
Notas:
1) Por principio todos los programas de linux en esta tabla son libres y están en liberados. Los programas propietarios para Linux están marcados con un señal [Prop].
2) Si no hay nada en el campo de la tabla, excepto "???" - Los autores de la tabla no saben que colocar allí.
3) Si la señal (???) se encuentra destrás del nombre del programa - Los autores de la tabla no están seguros sobre este programa.
La importancia ideológica de la diferencia entre Windows y Linux:
La mayoría de los programas de Windows son echos con el principio de "Todo en uno" (cada desarrollador agrega todo a su producto). De la misma manera, a este principio le llaman el "estilo-Windows".
La Ideología de UNIX/Linux - Un componente o un programa deben ejecutar sólo una tarea, pero lo ejecuta bien. ("estilo-UNIX"). Los programas bajo linux pueden ser pensados como LEGOS componentes básicos. (Por ejemplo, si hay un programa para la comprobación de ortografía, esto puede ser usado con el editor de textos o por un cliente de email al enviarlo; o si hay un poderoso programa de líneas de comando para el uso de archivos, es simple escribir el Interfaz gráfica para el programa, etc.).
Este principio es muy importante y es necesario conocerlo para buscar programas programas equivalentes de Windows en Linux :).
Lugares donde puedes obtener software para linux: FreshMeat.net | SourceForge.net - Dos portales grandiosos. Puedes encontrar todo lo que tu quieras!!
LinuxApps.com | IceWalkers.com | Linux.Tucows.com - Me gusta estos catálogos.
Download.com / Linux | LinuxSoftware.org | FileWatcher.org | LinuxArchives.com - otros catálogos.
Programas / paquetes / búsqueda de librerías de sistema:  RPMseek.org | Tuxfinder.com | RPMfind.net
Programas y juegos para Windows, estos programas pueden correr bajo Wine/WineX:1) Juegos para Windows, estos pueden correr con WineX (La informaci�n del sitio de funcionario Transgaming). Este es un formulario de búsqueda, y en esta lucar una lista completa de juegos (muy grande!).
2) El catálogo mas gran de Windows , correindo bajo wine. La base de datos de Codeweavers contiene información de cerca 1000 aplicaciones, y el catálogo es estructurado y tiene un sistema de la navegación.

lunes, 19 de marzo de 2012

LENGUAJES DE PROGRAMACIÓN EN LINUX

Escrito esta:
Miqueas 2:1 ¡Ay de los que planean la iniquidad, los que traman el mal en sus camas! Al clarear la mañana lo ejecutan, porque está en el poder de sus manos.
Tomado de :Petermillenium20
Una breve comparación de los principales lenguajes de programación para Linux y de las principales librerías para la creación de interfaces gráficas de usuario (GUIs) en Linux.

Linux es un sistema operativo fascinante porque permite a cualquier usuario participar en su desarrollo. La variedad de lenguajes disponibles, sin embargo, puede llevar a la confusión a los desarrolladores principiantes. Este documento hace un listado de las opciones más comunes existentes para el desarrollo diario.
(Bueno, el más común y el principal). EL propósito no es ni el de reseñar los lenguajes ni el de determinar cuál es el mejor. Cada lenguaje es una herramienta que sirve para determinados trabajos y gustos. Puede obtener más información (a menudo conflictiva) con facilidad, si pregunta por ahí o si mantiene los oídos alerta. La sección de enlaces en este documento le dará indicaciones para que pueda investigar por su cuenta.


1. Introducción
Hay una variedad de de lenguajes y librerías de programación para Linux, así que este documento solamente cubre los lenguajes más comunes y los conjuntos de herramientas para la construcción de interfaces gráficas de usuario del momento.

Nótese también que, tanto los lenguajes como las herramientas para construcción de interfaces de usuario, se verán desde el punto de vista de Linux: no se tratarán sus características para otras plataformas.

Un signo de interrogación en las tablas indica que se carece de información. Si puede completarla, por favor, contacte con el autor.

2. Lenguajes de programación
2.1 Conceptos en la Tabla


Lenguaje
Indica el nombre común del lenguaje.
Principiante
Indica lo apropiado que es el lenguaje para personas con poca experiencia en programación. Un lenguaje que se encuentre marcado por un ``sí'' debería ser viable como primer lenguaje de programación para un principiante.
Rendimiento
La probable velocidad de ejecución de sus aplicaciones cuando se usen comercialmente. Las prestaciones dependen más de sus habilidades algorítmicas de programación que del propio lenguaje. Empíricamente, C, C++ y Fortran son necesarios a veces porque pueden dar mejores prestaciones que otros lenguajes -otras veces pueden ser pesados para el propósito original. (Una idea para las pruebas de rendimiento de los lenguajes sería la implementación de un sencillo algoritmo de ordenación en todos ellos y la comparación posterior de los tiempos de ejecución.
POO, Progamación Orientada a Objetos vs. otros paradigmas
La Programación Orientada a Objetos es un paradigma de programación importante que está ganando popularidad. En la programación orientada a objetos, las estructuras de datos y los algoritmos se integran en unidades, a menudo llamadas clases. La POO contrasta con la programación procedural (que usa algoritmos y estructuras de datos separados). No depende estrictamente del lenguaje: se puede hacer POO con lenguajes no clasificados como tales (por ejemplo C), y se puede programar en estilo procedimental con lenguajes clasificados como Orientados a Objetos. He clasificado como de POO a lenguajes que tienen características especiales o añadidos que facilitan la POO. Los lenguajes funcionales (LISP, por ejemplo) son de una clase un poco diferente -entre otras cosas, los lenguajes funcionales son un superconjunto de POO. La programación lógica (Prolog), también llamada programación declarativa, por otro lado, no tiene relación con otros tipos de programación en un sentido similar.
RAD, Rapid Application Development (Desarrollo rápido de aplicaciones)
Más dependientes de las herramientas que se usan que del lenguaje propiamente dicho. Hay un COMO de herramientas de desarrollo para GUI (Interfaz gráfico de usuario), aunque está desfasado. Con una buena herramienta gráfica se pueden realizar RAD. A veces los RAD se basan en la reutilización de código también, por lo que el software libre nos puede proporcionar un buen punto de partida.
Ejemplos
Describe los campos de programación en los que normalmente se usa el lenguaje. Se dan otros tipos de usos, buenos y malos, aunque no son tan frecuentes. Comentarios
Información adicional sobre el lenguaje, como son sus capacidades y dialectos.

2.2 Lenguajes Principales

PERL
Principiantes: Sí - POO: Sí
Ejemplos: Scripts, administración de sistemas, www
Comentarios: Potente para la manipulación de textos y cadenas

Python
Principiantes: Sí - POO: Sí
Ejemplos: Scripts, scripts de aplicaciones, www
Comentarios:

TCL
Principiantes: Sí - POO: No
Ejemplos: Scripts, administración de sistemas, aplicaciones
Comentarios:

PHP
Principiantes: Sí - POO: Sí
Ejemplos: Www
Comentarios: Popular para las bases de batos basadas en web

Java
Principiantes: Sí - POO: Sí
Ejemplos: Aplicaciones para plataformas cruzadas, www
Comentarios:

Lisp
Principiantes: Sí - POO: Funcional
Ejemplos: Modos de Emacs (para elisp), AI
Comentarios: Variantes Elisp, Clisp y Scheme

Fortran
Principiantes: No - POO: No
Ejemplos: Aplicaciones matemáticas
Comentarios: Variantes f77 y f90/95

C
Principiantes: No - POO: No
Ejemplos: Programación de sistemas, aplicaciones
Comentarios: Muy popular

C++
Principiantes: No - POO: Sí
Examples: Aplicaciones

Comentarios:
2.3 Programación del shell
Los shell son también unos entornos de programación importantes. El conocimiento de los shell es importante para quien trabaje con Linux regularmente, y más aun para los administradores de sistemas. Hay similitudes entre la programación del shell y los scripts -a menudo consiguen los mismos propósitos y tenemos la oportunidad de elegir entre los shell nativos o un lenguaje de scripts. Entre los más populares están los shell bash, tcsh, csh, ksh y zsh. Puede obtener información acerca de su shell con man comando, man bash por ejemplo.

2.4 Otros Lenguajes

Otros lenguajes dignos de mención: AWK, SED, Smalltalk, Eiffel, ADA, Prolog, assembler, Objective C, Logo, Pascal (p2c converter)

2.5 Enlaces

· Un sitio de información general sobre lenguajes de programación, mucha información y opiniones
· TCL
· PERL
· Python
· PHP
· Java
· clisp

ANEXOS
Lenguaje C
En 1.970, cuando Ken Thompson creó el Lenguaje B para codificar sus programas y algoritmos, para probar y experimentar con estructuras, servicios y teorías de eficiencia, que posteriormente Brian Kernighan bautizaría con el nombre de Unix, no se imaginaron que con reestructurar y agregar instrucciones al Lenguaje B, añadirle estructuras de datos y tipos, pasaje de parámetros a funciones recursivas, apuntadores a funciones y unas sencillas modificaciones, Dennis Ritchie crearía un Lenguaje C, que 20 años después, sería el Lenguaje de programación preferido para el desarrollo de Herramientas, Editores, Manejadores de Bases de Datos, Compiladores e Interpretadores y Traductores de Lenguaje, Generadores de Sistemas Expertos, Sistemas Operativos, Procesadores de Palabras, Paquetes de Comunicación y Teleproceso, Hojas de Cálculos, Aplicaciones de CAD/CAM, y toda una infinidad de productos.
El Lenguaje C, es un lenguaje de programación estructurado de mediano nivel, pero muy versátil y eficiente, que revolucionó las técnicas y estilo de programación.
Desarrollado en 1.971, originalmente para implementar el Sistema Operativo Unix y sus Herramientas, C es un lenguaje independiente del sistema operativo que se utiliza para desarrollar aplicaciones portables.
C, provee las misma facilidades para la manipulación de bytes de un lenguaje assembler combinadas con instrucciones estructuradas de control de flujo condicionado y manipulación de tipos y estructuras de Datos de los lenguajes de tercera generación.
El Lenguaje C es relativamente sencillo, pero su gran flexibilidad es terreno abonado para la proliferación de vicios y prácticas inadecuadas de programación, por lo cual debe cuidarse la enseñanza de su estilo de programación, técnica y filosofía de trabajo.
En Lenguaje C, lo fácil es simple y lo difícil posible.
Un buen programador de C, utiliza librerías y desarrolla programas modulares con funciones bien estructuradas, que son fáciles de mantener.
Antiguamente la programación era difícil, luego apareció FORTRAN que la hizo mas sencilla, después los lenguajes de 3era generación (C, C++, java, etc.) que hicieron mas fácil la comunicación entre programador-máquina.
Este tema es sobre programación en C, C++, java, etc usando únicamente software libre.
La programación actualmente es muy sencilla de aprender gracias a los nuevos programas de 3era generación.
Actualmente existiendo mucho software y sistemas operativos libres y gratuitos las empresas y universidades deberían de dejar de gastar miles de dólares por computadora dándoselo a Microsoft. Si puedes programar en Linux igual que en Windows, porqué pagar a Microsoft? Ah, se me olvidaba, si programas en Windows Microsoft espía lo que haces, ya muchas empresas han demandado a Microsoft por copiar su software.
Antes de aprender a programar en Linux debemos saber algunas cosas:
Linux es un sistema operativo similar a Windows xp, aunque superior en muchísimos aspectos (además de ser gratuito), para instalarlo únicamente debes descargar una imágen iso, quemarla en un cd o dvd, e instalarlo (de forma similar a la de windows xp).
La ventaja de descargar el dvd es que trae cientos de programas para que los instales sin ocupar internet (instalables desde synaptic o adept).
Luego de descargar la iso, la quemas con la opción quemar iso, y tienes listo para arrancar en tu computadora el cd o dvd, estos discos son live, arrancan sin necesidad de que los instales, si arranca en tu máquina verás el escritorio en unos 30 segundos, y desde ahí puedes instalar el sitema.
Al instalar linux puedes elegir entre escritorio gnome o escritorio kde, algunas distribuciones linux solo usan escritorio gnome, y otras solo kde, luego si quieres lo puedes instalar el otro escritorio. La diferencia es que el escritorio kde trae algunos programas que no trae gnome, y el aspecto del escritorio gráfico varia un poco.
La forma mas sencilla para instalar programas en linux es usando synaptic (adep si usas kde), dos click e instalas el programa (ya sea desde internet o el dvd).
Un programa libre (como linux) es aquel que puede ser modificado libremente, conocer su código, por eso es que hay tantas versiones de linux (distribuciones). Libre es diferente a gratuito, un programa puede ser gratuito y no ser libre.
Hay muchos programas para programadores libres y algunos gratuitos:
1.- Gambas: Es un Programa libre, puede usarse en escritorio kde, o en escritorio gnome. Es ideal para empezar a programar.
2.- Varios programas libres de tercera generación para programar en muchísimos lenguajes, entre ellos C, C++, etc.
- Glade: Se usa en gnome.
- anjuta: Se usa en gnome.
- Kdevelop: Se usa en kde (no es libre, es gratuito).
- Eclipse: Usa java, C, C++, etc.
Consola es algo así como el ms-dos de microsoft, pero muy superior, todos los linux pueden trabajar desde consola o terminal, yo no la uso, me parece muy anticuada, aunque hay algunos que les gusta usarla. Linux trabaja con escritorios gráficos similares al de windows xp, entre ellos gnome y kde, puedes acceder a la consola (terminal) desde el escritorio gráfico.
Gambas:
Actualmente la manera más sencilla para programar es con la programación visual (Gambas, visual Basic, etc.), considerada de cuarta generación porque con pocos conocimientos puedes crear programas, aunque tiene algunas desventajas respecto a los programas de tercera generación.
Gambas es un programa que usa su propio lenguaje (lenguaje gambas), es similar al conocido ms visual basic. Puedes crear proyectos gráficos con ventanas o de terminal para trabajar desde consola. Se instala desde synaptic (debes tener internet, o el dvd de ubuntu).
Para crear una programa basta con abrir un formulario desde la ventana proyecto. El formulario es la ventana que se abre al ejecutar el programa, donde van los botones, texto, etc.
Si quieres agregas algunas herramientas desde la ventana herramienta, y también puedes agregar algo de código (ventana de modulo o clase),
Puedes ejecutar tu programa antes de crearlo (en la ventana proyecto vas al menu proyecto, y luego presionas ejecutar.
Luego creas tu programa:
Como .gambas, no puedes crear un .exe (se ejecuta desde consola, escribes ./nombredelprograma.gambas),
Comprimido como .tar.gz,
Empaquetado para algunas distribucioneslinux mandriva, debian, etc.
Anjuta: Se usa en escritorio gnome, lo instalas desde synaptic (lo buscas en la lista, dos click y listo).
Glade: Lo usas desde gnome e instalas desde synaptic.
Kdevelop: Este programa solo está disponible para el escritorio kde, se instala con solo dos click desde adept y puedes programar en muchos lenguajes.

Eclipse SDK:
Es un Completísimo entorno de desarrollo integrado para Java y más. Eclipse es una potente y completa plataforma de programación, desarrollo y compilación de elementos tan variados como sitios web, programas en C++ o aplicaciones Java.
Se trata de un entorno de desarrollo integrado (IDE) en el que encontrarás todas las herramientas y funciones necesarias para tu trabajo, recogidas además en una atractiva interfaz que lo hace fácil y agradable de usar.
Cuentas con un editor de texto donde puedes ver el contenido del fichero en el que estás trabajando, una lista de tareas, y otros módulos similares. Si bien las funciones de Eclipse son más bien de carácter general, las características del programa se pueden ampliar y mejorar mediante el uso de plug-ins.
Como habrás leído para programar significa saber el lenguaje de programación necesario para crear tu programa, o si no te interesa, solo copia y pega el código del programa (si es libre, existen millones de programas libres disponibles). Eclipse usa varios lenguajes:
Lenguaje java: http://es.wikipedia.org/wiki/Lenguaje_de_programacion_Java
Lenguaje C: http://es.wikipedia.org/wiki/Lenguaje_de_programacion_C
Lenguaje C++: http://es.wikipedia.org/wiki/C++


lunes, 5 de marzo de 2012

X Window System

Escrito esta:
Lucas 11:34 La lámpara de tu cuerpo es tu ojo; cuando tu ojo está sano, también todo tu cuerpo está lleno de luz; pero cuando está malo, también tu cuerpo está lleno de oscuridad.
Tomado de : Wikipedia

X Window System (en español sistema de ventanas X) es un software que fue desarrollado a mediados de los años 1980 en el MIT para dotar de una interfaz gráfica a los sistemas Unix. Este protocolo permite la interacción gráfica en red entre un usuario y una o más computadoras haciendo transparente la red para éste. Generalmente se refiere a la versión 11 de este protocolo, X11, el que está en uso actualmente. X es el encargado de mostrar la información gráfica de forma totalmente independiente del sistema operativo.

X fue diseñado primariamente para implementar clientes ligeros, donde mucha gente usaba simultáneamente la capacidad de procesamiento de un mismo computador trabajando en tiempo compartido. Cada persona usaba un terminal en red que tenía capacidades limitadas para dibujar la pantalla y aceptar la entrada del usuario. Debido a la ubicuidad del soporte para el software X en Unix, es usado en los computadores personales incluso cuando no hay necesidad del tiempo compartido.

El sistema de ventanas X distribuye el procesamiento de aplicaciones especificando enlaces cliente-servidor. El servidor provee servicios para acceder a la pantalla, teclado y ratón, mientras que los clientes son las aplicaciones que utilizan estos recursos para interacción con el usuario. De este modo mientras el servidor se ejecuta de manera local, las aplicaciones pueden ejecutarse remotamente desde otras máquinas, proporcionando así el concepto de transparencia de red.
Debido a este esquema cliente-servidor, se puede decir que X se comporta como un terminal gráfico virtual.

El hecho que exista un estándar definido para X permite que se desarrollen servidores X para distintos sistemas operativos y plataformas, lo que hace que el código sea muy portable. Por ejemplo. permite tener clientes X ejecutándose en un potente servidor UNIX mientras los resultados son visualizados en una PC de escritorio con cualquier otro sistema operativo funcionando.

La comunicación entre el cliente X y el servidor se realiza por medio de un protocolo conocido como Xprotocol, que consiste en una serie de bytes interpretados como comandos básicos para generar ventanas, posicionarlas, o controlar eventos. Los clientes X acceden al Xprotocol mediante el uso de una biblioteca llamada Xlib, que evita al programador de clientes X tener que lidiar con el código binario del Xprotocol. Sin embargo, los aspectos de decoración de ventana y manejos de ventanas no están definidos en esta biblioteca.

X no es un gestor de ventanas, necesita de uno para controlar el manejo de ventanas. Esto trae la ventaja de que permite al usuario instalar uno o más administradores de ventanas de su preferencia. También trae la ventaja de que hace de X estrictamente un sistema gráfico, de tal modo que un cliente X podría estar enviando un gráfico a una pantalla, a una impresora o a cualquier otro hardware sin darse cuenta, flexibilizando la salida gráfica.
Por otro lado, la desventaja que trae el hecho de no tener un único entorno gráfico es que los programadores de clientes X que desean hacer uso de los recursos de los entornos gráficos (botones, barras de deslizamientos, etc) deben elegir un entorno gráfico específico para programar y contar que el usuario tenga por los menos las bibliotecas de dicho entorno gráfico instalado. Las bibliotecas de los entornos gráficos se conocen como "Toolkits", el estándar X provee sólo de un conjunto de herramientas básicas llamadas Xintrisics que permiten a los programadores de los entornos gráficos armar sus Toolkits sobre éstas.

Interfaces de usuario

Interfaz gráfica de usuario de GNOME.
Entorno de escritorio KDE 4.
Interfaz gráfica de usuario de Xfce.

X es primariamente una definición de primitivas de protocolo y gráficas, y deliberadamente no contiene especificaciones de diseño de interfaz de usuario, como estilos de botón, menú, barra de título para las ventanas. En vez de eso, un software de aplicación (tal como los manejadores de ventana, Widget toolkits de GUI y ambientes de escritorio, o las interfaces gráficas de usuario específicas de una aplicación) definen y proporcionan tales detalles. Como resultado, no hay interfaz X típica y varios ambientes de escritorio han sido populares entre los usuarios.

Un manejador de ventana controla la colocación y la apariencia de las ventanas de aplicación. Esto puede resultar en interfaces semejantes a las de Microsoft Windows o Macintosh (los ejemplos incluyen Metacity en GNOME, KWin en KDE, Xfwm en Xfce, o Compiz) o tener controles radicalmente diferentes (tales como tiling window manager, como wmii o Ratpoison). Los manejadores de ventana abarcan en sofisticación y complejidad desde los más simples (ej., twm, el manejador de ventana básico suministrado con X, o evilwm, un manejador de ventana extremadamente liviano) hasta los ambientes de escritorio más completos tales como Enlightenment.

Muchos usuarios usan X con un ambiente de escritorio, que, independientemente del manejador de ventana, incluyen varias aplicaciones usando una interfaz de usuario consistente. GNOME, KDE y Xfce son los ambientes de escritorio más populares. El ambiente estándar de Unix es Common Desktop Environment (CDE). La iniciativa freedesktop.org se dirige a la interoperabilidad entre el escritorio y los componentes necesarios para un escritorio X competitivo.

Puesto que el X es responsable de la interacción entre el teclado y el ratón con el escritorio gráfico, ciertos atajos de teclado han llegado a estar asociados con X. Control-Alt-Backspace típicamente termina la sesión actualmente corriendo en X, mientras que el Control-Alt conjuntamente con una tecla de función cambia a la consola virtual asociada. Sin embargo, esto es un detalle dejado al diseño de una implementación de servidor X y no es universal; por ejemplo, las implementaciones de servidor X para Windows y Macintosh típicamente no proporcionan estos atajos de teclado.

domingo, 19 de febrero de 2012

Escrito esta:
Job 41:24 Su corazón es duro como piedra, duro como piedra de molino.
Ezequiel 11:19 Yo les daré un solo corazón y pondré un espíritu nuevo dentro de ellos. Y quitaré de su carne el corazón de piedra y les daré un corazón de carne,
 
Tomado de:bootlog


Linux.com publicó un set de videos que explican cómo preparar tu disco para instalar Linux, en caso de que ya tengas Windows ya instalado en tu tarro. O sea, si tienes una gran partición NTFS que ocupa tu disco, los videos te muestran cómo achicarla para hacerle espacio al pingüino. La verdad, los screencasts son bastante simples (no explican mucho los por qué de cada paso), pero al menos pueden orientarte si estás un perdido.
En Resumen Resumido™, lo que explican los videos es:
  • Bajar y grabar el disco Live de Gparted. (Creo que esto no en necesario, por ejemplo, si vas a instalar Ubuntu, ya que el instalador viene con Gparted).
  • Defragmentar la partición NTFS (o FAT32, si es el caso) dentro de Windows.
  • Abrir Gparted y achicar la partición de Windows al tamaño que necesites (con 6-10 GB estás más que bien, dependiendo de la cantidad de aplicaciones o juegos que uses en Windows).
  • Crear la partición root (/), swap y /home. Para la primera basta con 6 Gb, la segunda idealmente del doble de tu RAM (si tienes 1 GB o más, déjala en 1GB), y la tercera con el resto del espacio (ahí irían tus documentos).
Una acotación.
Para mí, lo ideal en un sistema de doble booteo (Windows y Linux) es tener una partición adicional para los documentos, compartida entre los dos SO’s, y que puede ser FAT o NTFS (más adelante ext3). Esto porque, según los pasos de Linux.com, estaríamos dejando todos nuestros archivos en una partición que Windows no puede leer. Bien ilógico, ¿no?

O sea, lo ideal es dejar una para Windows, una para Linux (root), otra para Swap, otra para Home (especialmente útil cuando quieres formatear root e instalar otra distro, tus archivos de usuario no se pierden), y otra compartida para tus documentos.
Pero ojo, si quieres tener una partición compartida, tendrás que hacerlo de forma distinta a cómo aparece en el video. Pero no te asustes. Lo que pasa es que (por decirlo de una forma) los discos duros “no soportan” más de cuatro particiones primarias (las normales). Para esto es que se crea una cuarta partición extendida, sobre la cual se crean particiones lógicas, y con eso se soluciona el problema.
O sea, como en este caso estamos hablando de 5 particiones (la de windows, root, swap, home y documentos) vas a tener que crear una partición extendida y dentro de ella meter las particiones nuevas.
Ahora, como además de la partición extendida puedes tener 3 primarias, mi recomendación es que dejes los sistemas operativos en particiones primarias y el resto dentro de la extendida. Esto porque Windows y Mac OS no pueden correr desde una extendida (Linux sí, en todo caso). Y además, en mi opinión, que queda todo más ordenado para modificar después la tabla de particiones. Es decir, en este caso la cosa quedaría así:
  • Partición 1: NTFS > Windows
  • Partición 2: EXT3 (o ReiserFS) > Linux
  • Opcional: Partición 3: HFS+ > Mac OS
  • Partición 4: Extendida (y dentro de ella los que vienen…)
  • – Partición 5: Swap (Es un sistema de archivos)
  • – Partición 6: EXT3 > Home
  • – Partición 7: NTFS o FAT > Documentos

domingo, 8 de enero de 2012

bash


Escrito Esta:
1 Corintios 14:26 ¿Qué hay que hacer, pues, hermanos? Cuando os reunís, cada cual aporte salmo, enseñanza, revelación, lenguas ointerpretación. Que todo se haga para edificación.

TOMADO DE:Wikipedia


bash (bourne again shell) es un programa informático cuya función consiste en interpretar órdenes. Está basado en la shell de Unix y es compatible con POSIX. Fue escrito para el proyecto GNU y es el intérprete de comandos por defecto en la mayoría de las distribuciones de Linux. Su nombre es un acrónimo de Bourne-Again Shell (otro shell bourne) — haciendo un juego de palabras (born-again significa renacimiento) sobre el Bourne shell (sh), que fue uno de los primeros intérpretes importantes de Unix.
Hacia 1978 Bourne era el intérprete distribuido con la versión del sistema operativo Unix Versión 7Stephen Bourne, por entonces investigador de los Laboratorios Bell, escribió la versión original de Bourne. Brian Fox escribió bash en 1987. En 1990, Chet Ramey se convirtió en su principal desarrollador. Bash es el intérprete predeterminado en la mayoría de sistemas GNU/Linux, además de Mac OS X Tiger, y puede ejecutarse en la mayoría de los sistemas operativos tipo Unix. También se ha llevado a Microsoft Windows por el proyecto Cygwin.

Sintaxis de bash


La sintaxis de órdenes de bash es un superconjunto de instrucciones basadas en la sintaxis del intérprete Bourne. La especificación definitiva de la sintaxis de órdenes de bash, puede encontrarse en el bash Reference Manual distribuido por el proyecto GNU. Esta sección destaca algunas de sus únicas características.
La mayoría de los shell scripts (guiones de intérprete de órdenes) Bourne pueden ejecutarse por bash sin ningún cambio, con la excepción de aquellos guiones del intérprete de órdenes, o consola, Bourne que hacen referencia a variables especiales de Bourne o que utilizan una orden interna de Bourne. La sintaxis de órdenes de bash incluye ideas tomadas desde el Korn Shell (ksh) y el C Shell (csh), como la edición de la línea de órdenes, el historial de órdenes, la pila de directorios, las variables $RANDOM y $PPID, y la sintaxis de substitución de órdenes POSIX$(...). Cuando se utiliza como un intérprete de órdenes interactivo, bash proporciona autocompletado de nombres de programas, nombres de archivos, nombres de variables, etc, cuando el usuario pulsa la tecla TAB.
La sintaxis de bash tiene muchas extensiones que no proporciona el intérprete Bourne. Varias de las mencionadas extensiones se enumeran a continuación.

Acceso a los parámetros


Los guiones de bash reciben los parámetros que le pasa la shell como $1, $2, ..., $n. Podemos saber cuantos hemos recibido con el símbolo $#.
Por ejemplo, si nuestro guión necesita dos parámetros pondremos:
 if [ $# -lt 2 ]; then
   echo "Necesitas pasar dos parámetros."
   exit 1
 fi
Además disponemos del array $@, el cual contiene todos los parámetros pasados al guión y podemos iterar sobre estos de la siguiente manera:
  for param in "$@"
  do
    echo "$param"
  done

Redirecciones de entrada/salida

La sintaxis de bash permite diferentes formas de redirección de entrada/salida de las que el Shell Bourne tradicional carece. bash puede redirigir la salida estándar y los flujos de error estándar a la vez utilizando la sintaxis:
 orden >& archivo
que es más simple que teclear la orden Bourne equivalente, "orden > archivo 2>&1". Desde la versión 2.05b, bash puede redirigir la entrada estándar desde una cadena utilizando la siguiente sintaxis (denominada "here strings"):
 orden <<< "cadena a leer como entrada estándar"
Si la cadena contiene espacios en blanco, deben utilizarse comillas.
Ejemplo: Redirige la salida estándar a un archivo, escribe datos, cierra el archivo y reinicia stdout
 # hace que el descriptor de archivo 6 sea una copia de stdout (descriptor archivo 1)
 exec 6>&1
 # abre el archivo "test.data" para escritura
 exec 1>test.data
 # genera algún contenido
 echo "data:data:data"
 # recupera stdout original, al hacer que sea una copia del descriptor de archivo 6
 exec 1>&6
 # cierra el descriptor de archivo 6
 exec 6>&-
Abre y cierra archivos
 # abre el archivo test.data para lectura
 exec 6<test.data
 # lee hasta el final del archivo
 while read -u 6 dta
 do
   echo "$dta" 
 done
 # cierra el archivo test.data
 exec 6<&-
Captura la salida de órdenes externas
  # ejecuta 'find' y guarda los resultados en VAR
  # busca nombres de archivos que terminan con la letra "h"
  VAR=$(find . -name "*h")

Escape con contrabarra

Las palabras con la forma $'string' se tratan de un modo especial. Estas palabras se expanden a string, con los caracteres escapados por la contrabarra reemplazados según especifica el lenguaje de programación C. Las secuencias de escape con contrabarra, se decodifican del siguiente modo:
Escapes con contrabarra
Backslash
Escape
Se expande a ...
\aUn carácter de alerta (bell)
\bUn carácter de retroceso
\eUn carácter de escape
\fUn carácter de alimentación de línea (form feed)
\nUn carácter de nueva línea
\rUn carácter de retorno de carro
\tUn tabulador horizontal
\vUn tabulador vertical
\\Un carácter contrabarra
\'Un carácter de comilla simple
\nnnEl carácter de 8 bits cuyo valor es el número octal nnn (de uno a tres dígitos)
\xHHEl carácter de 8 bits cuyo valor es el número hexadecimal HH (uno o dos dígitos hexadecimales)
\cxUn carácter control-X
El resultado expandido se encuentra entrecomillado con comilla simple, como si el signo $ no estuviese presente.
Una cadena entrecomillada con comillas dobles precedida por un signo $ ($"...") será traducida de acuerdo al LOCALE actual. Si fuese C o POSIX, se ignora el símbolo $. Si la cadena es traducida y reemplazada, el reemplazo estará entrecomillado por comilla doble.