jueves, 17 de diciembre de 2009

Gufw 0.20.7 Final – ufw de una manera gráfica y sencilla
























Gufw es una manera fácil, intuitiva de manejar el cortafuegos de Linux. Soporta tareas como permitir o bloquear aplicaciones preconfiguradas, servicios, programas p2p, o puertos individuales. Gufw funciona gracias a ufw, corre en Ubuntu, y en cualquier otro sistema donde Python, GTK, y Ufw estén disponibles.

Puedes instalarla en gracias a este paquete deb:

Fuente: http://www.ubuntips.com.ar

Usar Google DNS con Ubuntu

Google acaba de lanzar su servicio Google DNS, el cual ofrece una navegación más rápida y segura. Si deseas configurar estos DNS en Linux aquí les dejo como hacerlo según la página de Google DNS.

Google acaba de lanzar su servicio Google DNS, el cual ofrece una navegación más rápida y segura. Si deseas configurar estos DNS en Linux aquí les dejo como hacerlo según la página de Google DNS.

La configuración del DNS esta especificada en el archivo /etc/resolv.conf en la mayoría de distribuciones, así que si deseas cambiar tu DNS para que apunte a los de Google deberías hacer lo siguiente:

Nota: la siguiente explicación es para configurar el DNS en Ubuntu, supuestamente para otras distribuciones debería ser similar o quizás debas consultar como hacer el cambio en otra distribución.

Antes de empezar es recomendable que copies tus números de DNS actual en caso tengas que restaurarlos.


Fuente: http://www.tuxapuntes.com

lunes, 9 de noviembre de 2009

Proyecto OOo4Kids

La suite ofimática libre, OpenOffice.org, cuenta con un proyecto derivado, enfocado a niños de entre 7 y 12 años. Es una edición especial con las mismas herramientas que el proyecto original pero con una interfaz más simple y clara.

El proyecto se llama OOo4Kids y es sustentado por la asociación sin animo de lucro EducOOo.

La finalidad es impulsar el uso de OpenOffice.org entre los niños, con una edición especial que pueda servirles para después adoptar con mayor facilidad la suite ofimática en su edición original.

Cuenta con un procesador de textos, hoja de calculo, presentación y dibujo, todo puede ser ejecutado desde una sola ventana en donde se conjuntas estas aplicaciones:

Inicio de OOo4kids

Inicio de OOo4kids

Procesador de texto OOo4kids

Procesador de texto OOo4kids

Hoja de cálculo OOo4kids

Hoja de cálculo OOo4kids

Preentación OOo4kids

Preentación OOo4kids

Dibujo OOoo4kids

Dibujo OOoo4kids

Está disponible en los idiomas inglés, alemán, portugués, francés y español, para Linux, Windows y Mac.

En Linux está probado en Ubuntu, Debian, Fedora, Mandriva y SUSE, en paquetes tar, con archivos ejecutables, sin necesidad de instalar:

Descargar: OOo4Kids (Elegir sistema y arquitectura)

El proyecto se libera bajo la LGPL 3, y como es común, se requiere la colaboración de los usuarios para llevarlo adelante. También solicitan donaciones en efectivo de modo que puedan sustentarlo económicamente.

En el wiki de Ooo4Kids se pueden encontrar diversos recursos para colaborar, para obtener la aplicación, junto con la documentación (aún en proceso de construcción).


Enlaces de interés:
wiki.ooo4kids.org
www.openoffice.org

Fuente:
http://www.espaciolinux.com

OpenOffice.org presenta su propio mouse



A primera vista podría parecer una broma, pero aparentemente no lo es, el proyecto de la suite ofimática OpenOffice.org anuncia así su nuevo OpenOfficeMouse, o como ellos mismos lo definen "un revolucionario y patentado diseño con 18 botones, un joystick analógico y soporte para 52 comandos del teclado". Su objetivo es ofrecer un acceso más rápido y eficiente para las funciones de las aplicaciones de OpenOffice.org como Writer o Calc, sin recurrir a los convencionales íconos, menús desplegables y atajos del teclado.

El OpenOfficeMouse incluye perfiles por defecto paras las 5 aplicaciones principales de OpenOffice.org, además de para otras 20 aplicaciones y juegos, todas las cuales que pueden ser personalizadas usando propio software de configuración.

El mouse soporta hasta 63 perfiles almacenados en su propia memoria y el mismo software de configuración será liberado bajo la licencia GPLv3 en el primer cuarto del 2010.

Y no menos importante, también se trata del primer mouse en incorporar un joystick analógico que también puede usarse como un teclado asignándole hasta 16 combinaciones de teclas o macros.

Su precio anunciado es de U$S 74,99 pero todavía no está disponible: la tienda en su sitio dice que "abrirá pronto". Mientras tanto, más interesantísimos detalles pueden encontrarse en su blog de desarrollo.

Anuncio: OpenOffice

Más Información: http://www.openofficemouse.com/

Fuente: http://somoslibres.org

jueves, 29 de octubre de 2009

IBM y Canonical lanzamiento Linux y basados en la nube Software de escritorio en los EE.UU

Armonk, NY - 20 de octubre 2009

IBM y Canonical lanzamiento Linux y basados en la nube Software de escritorio en los EE.UU.

Basada en estándares abiertos alternativa a Microsoft Windows 7 Dispone de 50 por ciento de ahorro, se ejecuta en hardware existente

IBM (NYSE: IBM) y Canonical están introduciendo un paquete de escritorio basado en computación en nube, y basado en Linux en los EE.UU. diseñado para su uso en la flota existente de una compañía de ordenadores personales (PC) o de bajo costo netbooks.

El cliente de IBM para Smart Work (http://www.ibm.com/lotus/openclient), basado en el software de productividad y colaboración de IBM, ayuda a las empresas a ahorrar hasta un 50 por ciento por asiento en los costes del software frente a una basada en escritorio de Microsoft, además de evitar las actualizaciones de hardware necesarios. El paquete permite a las empresas utilizar sus PCs existentes, netbooks de menor costo y clientes ligeros.

El nuevo paquete de IBM se puede incrustar en los procesos de negocio. Es compatible con SOA basada en entornos de TI y ofrece a la gente una alternativa completa, abierta y segura de cerrado y costoso software de escritorio de Microsoft.

Estimaciones de mercado independiente de hasta 2.000 dólares por el costo de la migración al sistema operativo Windows 7 para muchos usuarios de PC. Nuevos requisitos de hardware de PC representan una porción significativa de los gastos adicionales.

El cliente de IBM para el paquete Smart Work, puesto en marcha 24 de septiembre en África, fue diseñado inicialmente para los mercados emergentes, pero generó un pedido para la solución en los EE.UU. La versión de EE.UU. está llegando a tiempo para ayudar a las empresas a evitar la concesión de licencias más caras, actualizaciones de hardware y costes de migración asociados con Microsoft Windows 7.

"Si una empresa es un Windows Shop, en algún momento tendrá que evaluar los costes significativos de la migración de su base para escritorio siguiente de Microsoft", dijo Bob Picciano, gerente general de IBM Lotus Software. "Las empresas estadounidenses han pedido una alternativa atractiva que puede ayudar a liberar los gastos de PC para utilizar para la colaboración más estratégica y proyectos de transformación de negocios".

IBM y Canonical esperan conseguir cientos de socios para ofrecer al cliente de IBM para Smart Work en los EE.UU. en 2010. El ecosistema de socios actual incluye regionales integradores de sistemas, ZSL y CSS Corp, proveedor de escritorio virtual, puentes virtuales, y sus distribuidores, redes de Midas y KalariSys, y en línea varias empresas de la industria vertical. IBM también está apuntando al mercado de educación colaborando con los profesores universitarios a través de la Iniciativa Académica de IBM.

Fuente: ubuntu.com

domingo, 25 de octubre de 2009

Ranking de Distribuciones Linux 2009

23/10/2009 - Una Distribución de Linux es una distribución de software basada en el kernel Linux (núcleo del Sistema Operativo), que incluye un software especifico para satisfacer las necesidades del usuario al que se dirige.

Existe una importante cantidad de distribuciones Linux con notables diferencias, basadas principalmente en el objetivo buscado y el software incluido. Por lo general una distro está compuesta de software libre, aunque puede incorporar aplicaciones o controladores propietarios.

Existen distribuciones que están soportadas comercialmente, como Fedora (Red Hat), openSUSE (Novell), Ubuntu (Canonical Ltd.) o Mandriva, distribuciones mantenidas por la comunidad como Debian y distribuciones que no están relacionadas con alguna empresa o comunidad, como Slackware.

Aunque se desconoce el número total de distribuciones Linux, existen registro de las 300 distros con mayor relevancia. Entre las más destacadas en este 2009:


1. Ubuntu 2236
2. Fedora 1489
3. openSUSE 1407
4. Mint 1375
5. Debian 1058
6. Mandriva 948
7. PCLinuxOS 802
8. Puppy 761
9. Sabayon 723
10. Arch 648

El ranking de Distribuciones Linux se realiza a partir del registro de visitas al site principal o servidores mirror. Este número de visitas diarias (H.P.D) registra únicamente una dirección IP por día.

El valor aparejado a cada distribución de Linux representa el promedio de visitas en dicho periodo temporal.

Fuente: http://www.desarrolloweb.com
Via: http://distrowatch.com/

¿Virus en Linux?


Wine, el servicio de virtualización de aplicaciones de Windows sobre Linux ha avanzado tanto en su desarrollo que puede llegar a ser infectado por virus de Windows. Aunque estamos hablando de afectar exclusivamente a los programas que corran sobre Wine y no, por tanto, al sistema operativo GNU/Linux en cuestión.

Teniendo en cuenta la experiencia relatada en el blog opensourcenerd, en la que de manera totalmente consciente se instala un programa malware que se hace pasar como antivirus, Windows Police Pro, se puede concluir que Wine ejecuta de manera excepcionalmente fidedigna software creado para Windows sobre Linux ya que hasta malware y virus corren de forma correcta.

Tras la instalación, y los múltiples avisos de Firefox de sitio no seguro, aplicación no segura y demás, el sistema de Wine se vio modificado incluyendo explorer.exe, algo que hizo que para limpiar el sistema se tuviera que eliminar (purgar) completamente el paquete y volver a instalarlo.

Fuente: theinquirer

jueves, 15 de octubre de 2009

KDE Supera los 4.273.291 líneas de código


4.273.291 líneas de código, que es el tamaño de los módulos del núcleo de KDE, que se publicó como el oficial de distribución de software de KDE, a partir de hoy, los números generados utilizando David A. Wheeler 's sloccount. Por supuesto, todos sabemos acerca de los problemas con el conteo de líneas de código, pero todavía me parece interesante para ejecutar estas estadísticas de vez en cuando. Que yo estaba haciendo así que esta noche, y pense, cuando lo estaba hacieno, que puedo compartir la información con el mundo.

Por favor, ven esto como una interesante, pero no demasiado importante punto de datos sobre lo que sucede en KDE, y no se olvide que el código de la eliminación es una de las mejores tareas de un desarrollador.

Por supuesto, estos cuatro millones de líneas de código son sólo una parte de todo el código de KDE que está escrito. Hay toneladas de aplicaciones que no son parte de la distribución estándar de KDE, pero son igual de grandes. Sería interesante ver las estadísticas completas, pero esto es difícil. ¿Cómo apoderarse de todo el código fuente de KDE que existe?

Clausura de datos aleatorios punto: sloccount piensa que cuesta $ 175.364.716 para desarrollar el código de los módulos del núcleo de KDE.

Fuente: http://blog.cornelius-schumacher.de
Traduccion: http://translate.google.com

domingo, 6 de septiembre de 2009

Windows 7 pecados

Se ha lanzado una nueva campaña por parte de la FSF (Free software Foundation), la cuál mediante 7 puntos, trata de explicar los problemas a los cuales estamos sujetos si utilizamos el nuevo sistema operativo de Microsoft, windows 7, la página de dicha campaña es : windows7sins.org.

Un colega linuxero (revapaus.org) ha traducido los puntos que vienen en la página oficial de la campaña, reutilizo su texto:

Windows 7 Sins

Los pecados de Windows 7 (es un juego de palabras por lo que se puede entender también como los 7 pecados de Windows): El caso en contra de Microsoft y el software propietario.

La nueva versión del Sistema operativo de Microsoft, Windows 7, tiene el mismo problema que tenían Vista, XP y todas las versiones anteriores – son software propietario. Los usuarios no tienen permitido compartir o modificar el software Windows, o examinar como funciona por dentro.

El hecho de que Windows 7 sea propietario significa que Microsoft tiene control legal sobre sus usuarios, a través de una combinación de copyrights, contratos y patentes. Microsoft utiliza este poder para abusar de los usuarios de computadoras. En windows7sins.org, the Free Software Foundation enumera siete ejemplos de abuso cometidos por Microsoft.

  1. Envenena la educación: Hoy, la mayoría de los niños para quienes su educación involucra computadoras están siendo enseñados a utilizar el producto de una empresa: el producto de Microsoft.
  2. Invade la privacidad: Microsoft utiliza software con nombres capciosos como Windows Genuine Advantage para inspeccionar los contenidos de los discos duros de los usuarios. El acuerdo de licencia que los usuarios deben firmar antes de poder usar Windows avisa que Microsoft reclama el derecho de hacer esto sin ninguna advertencia.
  3. Practicas monopolicas: Casi todas las computadoras adquiridas tienen Windows pre-instalado – Pero no por elección. Microsoft establece directrices a los vendedores de hardware, quienes no ofrecerán PC's sin Windows instalado en ellas. Incluso las computadoras disponibles con otros sistemas operativos pre-instalados como GNU/Linux suelen tener Windows en un principio.
  4. Lock-in: Microsoft intenta forzar la actualización de sus usuarios, dejando sin soporte versiones anteriores de Windows y Office, e inflando los requerimientos de hardware. Para muchas personas, esto implica desechar computadoras que funcionan solamente por que no cubren los requisitos necesarios para las nuevas versiones de Windows.
  5. Estándares abusivos: Microsoft ha intentado detener la libre estandarización de los formatos de documento, por que los estándares como el Open Document Format mermarán el control que ahora tienen sobre los usuarios de los formatos propietarios de Word. Lo han intentado con prácticas miserables, incluyendo el soborno a oficiales, en su intento por detener estos esfuerzos.
  6. Impulsar la Gestión de Restricciones Digitales(DRM): Con el Windows Media Player, Microsoft trabaja coludido con las grandes empresas de multimedia para imponer restricciones a la copia y reproducción de media en su sistema operativo. Por ejemplo, por petición de la NBC Microsoft previene a los usuarios de Windows de grabar programas televisivos que tienen derecho a grabar.
  7. Amenazar la seguridad de los usuarios: Windows tienen una larga historia de vulnerabilidades de seguridad, permitiendo la propagación de los virus y la toma de control de las computadoras de los usuarios por parte de terceros para el envío de spam. Como el software es secreto, todos los usuarios dependen de Microsoft para resolver estos problemas – pero en fondo Microsoft tiene sus propios intereses de seguridad, que no son los de sus usuarios.

Ustedes ¿qué opinan?, creen que con éstas campañas de la FSF las personas dejen de utilizar éstos sistemas operativos?, ¿Le ven futuro a Windows 7?, ¿Fracasará igual que Windows Vista?


Fuente: http://www.antoniomtz.org/

wxPython en 15 pasos

wxPython en 15 pasos

Escribir programas con wxPython en 15 pasos

Cada vez que aprendemos un nuevo lenguaje de programacion nos encontramos en la disyuntiva de optar por las librerias adecuadas para cada necesidad, una de estas necesidades es la seleccion de un conjunto de widgets para el desarrollo de la interfaz de usuario. En el caso especifico de Python las alternativas para cubrir esta necesidad son varias. En esta serie de apuntes comenzaremos a investigar y desarrollar breves tutoriales que mostrara algunas de estas librerias en suficiente profundidad como para conocer las prestaciones basicas de la misma. En esta primera entrega nos referiremos a la libreria de widgets wxPython, en entregas futuras abordaremos otras opciones como TKInter, QT, etc. Tambien se prentende presentar una metodologia basica de programacion de interfaces de usuarios graficas e introducir en las buenas practicas de programacion. Para ello crearemos una aplicacion sencilla donde se pueda aplicar los conocimientos adquiridos.

Objetivos:

  • Conocer las tecnicas basicas de programacion de GUIS
  • Comprender cada uno de los metodos y parametros usados por wxPython
  • Servir de base para el desarrollo de nuestras propias aplicaciones

Temas:

  • La creacion de un programa con interfaz de usuario grafica GUI
  • Creacion de widgets
  • Incorporacion de widgets en los contenedores
  • Vincular y manipular eventos
  • Manipular los valores de los widgets

El documento esta escrito de manera lineal y con la informacion estrictamente necesaria para comprender lo que se prentende enseñar, se explica paso a paso y de manera incremental la creacion de un pequeña aplicacion detallando los aspectos necesarios para la comprension sin abundar en detalles que puedan resultar confusos, luego el lector podra profundizar en los conceptos necesarios, para ello al final del documento se sugiere lectura relacionada.

Paso 1: Importacion del modulo

Lo primero que tenemos que hacer es importar el modulo, para poder hacerlo es importante no olvidarse que tenemos que tener instalado tanto el interprete de python como las librerias wxPython, en Debian la instalacion de ambos se hace con apt-get con los siguientes comandos:

apt-get install python python-wxaddons

Veamos ahora el codigo fuente de nuestro primer programa:

#!/usr/bin/python
try:
import wx
except ImportError:
raise ImportError,"Se requiere el modulo wxPython"

Vamos a usar para corroborar el correcto funcionamiento el manejo de excpciones de python mediante try y except, intenta importar el modulo, si la importacion no da errores continua, en caso de producirse un error lanza una excepcion y muestra un mensaje de error.

Paso 2: Creacion de una clase

Python es un lenguaje de programacion orientado a objetos, por lo tanto lo logico es que nuestra aplicacion sea una clase, en wxPython, heredamos de wx.Frame, que es la clase base para ventanas estándar.

#!/usr/bin/python
try:
import wx
except ImportError:
raise ImportError,"Se requiere el modulo wxPython"
class simpleapp_wx(wx.Frame):

Paso 3: El constructor

Un GUI es una jerarquía de objetos, un botón puede estar contenido en un panel que figura en una solapa que es contenido en una ventana, etc.

Por lo tanto, cada elemento gráfico tiene un padre (su contenedor, por lo general). Por lo tanto tambien tiene un constructor padre (parent) como parámetro. Hacer un seguimiento de los padres es muy útil cuando tenemos que mostrar/ocultar un grupos de widgets, redibujar la pantalla o simplemente destruirlas cuando la aplicación termina. Asi, simpleapp_wx hereda de wx.Frame, por lo que tenemos que llamar al constructor wx.Frame (wx.Frame.__init__ ()).

#!/usr/bin/python
try:
import wx
except ImportError:
raise ImportError,"Se requiere el modulo wxPython"
class simpleapp_wx(wx.Frame):
def __init__(self,parent,id,title):
wx.Frame.__init__(self,parent,id,title)

El objeto wx.Frame tiene dos parámetros: id (identificador del widget) y title (el título de la ventana).

Paso 4: Mantener relacion con el padre

Es una buena costumbre, cuando se realiza la construcción de cualquier tipo de componente GUI, mantener una referencia a nuestra clase padre.

#!/usr/bin/python
try:
import wx
except ImportError:
raise ImportError,"Se requiere el modulo wxPython"
class simpleapp_wx(wx.Frame):
def __init__(self,parent,id,title):
wx.Frame.__init__(self,parent,id,title)
self.parent = parent

Paso 5: Inicializacion de nuestro GUI

Usualmente es mejor tener la porción de código que crea todos los elementos GUI (botón, campos de texto …) separado de la lógica del programa. Es por eso que creamos el metodo initialize(). Vamos a crear todos los widgets (botones, campo de texto, etc) en este método.

En wxPython tenemos que usar self.Show(True) para forzar que la ventana se muestre en pantalla (de lo contrario permanecera oculta).

#!/usr/bin/python
try:
import wx
except ImportError:
raise ImportError,"Se requiere el modulo wxPython"
class simpleapp_wx(wx.Frame):
def __init__(self,parent,id,title):
wx.Frame.__init__(self,parent,id,title)
self.parent = parent
self.initialize()
def initialize(self):
self.Show(True)

Paso 6: Creacion de la clase principal

Ya tenemos un clase completamente funcional y sintacticamente correcta, vamos a usarla!

Creamos una funcion main que se ejecuta cuando el programa se invoca desde la línea de comandos.

En wxPyhon, es obligatoria la instanciacion de un objeto wx.App () antes de la creación de los elementos del GUI. Por lo que hacemos app = wx.App (). Luego instanciamos nuestra clase (frame = simpleapp_wx ()). Asimismo, no le asignamos ningun padres (None), porque es el primer elemento GUI que vamos a construir. Usamos -1 a dejar a wxPython elegir un identificador (id) propio. Y damos nuestra ventana un título: «Mi aplicacion».

#!/usr/bin/python
try:
import wx
except ImportError:
raise ImportError,"Se requiere el modulo wxPython"
class simpleapp_wx(wx.Frame):
def __init__(self,parent,id,title):
wx.Frame.__init__(self,parent,id,title)
self.parent = parent
self.initialize()
def initialize(self):
self.Show(True)

if __name__ == "__main__":
app = wx.App()
frame = simpleapp_wx(None,-1,'Mi aplicacion')

Paso 7: Entramos en el loop

Ahora, le tenemos que decir a nuestro programa que entre en un bucle esperando eventos, esto lo hacemos con mainloop ()

Esto significa que cada programa entra en un bucle "infinito", ya veremos que no tanto, a la espera de eventos (ej. clic en un botón, pulsacion de una tecla, alguna accion con el raton, etc.) En wxPython el bucle principal recibirá estos eventos y los manejara en consecuencia. Esto se llama programacion event-driven o controlada por eventos (debido a que el programa no hará nada, sino esperar los eventos, y sólo reaccionara cuando se reciba uno de ellos).

#!/usr/bin/python
try:
import wx
except ImportError:
raise ImportError,"Se requiere el modulo wxPython"
class simpleapp_wx(wx.Frame):
def __init__(self,parent,id,title):
wx.Frame.__init__(self,parent,id,title)
self.parent = parent
self.initialize()
def initialize(self):
self.Show(True)

if __name__ == "__main__":
app = wx.App()
frame = simpleapp_wx(None,-1,'Mi aplicacion')
app.MainLoop()

Ya estamos en condiciones de ejecutar nuestro programa y ver el primer resultado, yo programo desde VIM, por lo que hago lo siguiente, :w para grabar, luego :!python % para ejecutar el interprete y pasarle como parametro el archivo que actualemente se encuentra en el buffer. Si usa otro editor grabe el programa y desde linea de comandos cambiele los permisos para hacerlo ejecutable por el dueño con:

chmod u+x programa.py

Luego invoquelo de la siguiente manera:

./programa.py

Podremos ver nuestro programa en accion, por una parte es estimulante ver una ventana en modo grafico con todos los botones y el aspecto identico al resto de nuestras ventans, pero por otra parte es decepcionante ver la ventana vacia, por lo que en los proximos pasos iremos poblandola con widgets.

Paso 8: Diseño de interfaz

Hay varias manera de incrustar widgets en una ventana (o en otro contenedor): Añadir apilados horizontalmente, verticalmente, en una grilla, etc

Existen diferentes clases, llamadas gestores de diseño (layout managers), capaces de colocar los widgets en los contenedores de diferentes maneras. Algunos son más flexibles que otros. Cada contenedor (ventana, panel, solapa, diálogo …) puede tener su propio gestor de diseño.

Yo recomiendo el gestor de diseño grid (grilla). Se trata de una simple grilla donde se pueden incrustar los widgets, algo parecido a una tabla con filas y columnas donde se pueden ir incroporando nuestros elementos. Por ejemplo: Ponga un botón en la columna 2, fila 1. Ponga una casilla en la columna 5, fila 3. etc.

En wxPython, para crear el gestor de diseño del tipo grilla usamos grilla=wx.GridBagSizer() y luego le indicamos a nuestra ventana que lo use (self.SetSizerAndFit(grilla)).

#!/usr/bin/python
try:
import wx
except ImportError:
raise ImportError,"Se requiere el modulo wxPython"
class simpleapp_wx(wx.Frame):
def __init__(self,parent,id,title):
wx.Frame.__init__(self,parent,id,title)
self.parent = parent
self.initialize()
def initialize(self):
grilla = wx.GridBagSizer()
self.SetSizerAndFit(grilla)
self.Show(True)

if __name__ == "__main__":
app = wx.App()
frame = simpleapp_wx(None,-1,'Mi aplicacion')
app.MainLoop()

Obtendremos una ventana minima que puede ser redimensionada.

Paso 9: Agregar un widget de entrada de texto

Los pasos para agregar un widget a un contenedor son dos, primero debemos definirlo para crearlo, luego lo agregamos a un gestor de diseño, vamos por partes entonces.

Crear del widget

El objeto que vamos a crear es una netrada de texto en wxPython esa clase se lla TextCtrl y lo hacemos asi (self.entrada=wx.TextCtrl()), pasamos como parametro self y el padre, porque nuestra ventana será el padre de este widget, es decir que aparecera dentro de nuestra ventana.

TextCtrl reciba dos parámetros ademas de self, -1 (para que wxPython asigne automáticamente un identificador), y el texto a mostrar (value=u"Enter text here.").

Tenga en cuenta que mantenemos una referencia a este widget en nuestra clase: self.entrada =…, esto se debe a que tenemos que acceder a ella más adelante, desde otros métodos.

Agregar el widget

Ahora, lo agregaremos a nuestros gestor de diseño (GridBagSizer).

Llamamos al metodo .Add() de nuestra grilla, le pasamos el widget que acaba de crear (self.entrada) y sus coordenadas de ubicacion en la grilla (0,0) y (1,1) que es el espaciado alrededor del widget. En nuestro caso, el widget no se extienden a varias celdas, wx.EXPAND le dice al gestor de diseño (grilla) que debe ampliar la entrada de texto si su celda es redimencionada.

#!/usr/bin/python
try:
import wx
except ImportError:
raise ImportError,"Se requiere el modulo wxPython"
class simpleapp_wx(wx.Frame):
def __init__(self,parent,id,title):
wx.Frame.__init__(self,parent,id,title)
self.parent = parent
self.initialize()
def initialize(self):
grilla = wx.GridBagSizer()
self.entrada = wx.TextCtrl(self,-1,value=u"Ingrese un texto:")
grilla.Add(self.entrada,(0,0),(1,1),wx.EXPAND)
self.SetSizerAndFit(grilla)
self.Show(True)

if __name__ == "__main__":
app = wx.App()
frame = simpleapp_wx(None,-1,'Mi aplicacion')
app.MainLoop()

Tenemos una ventana con un solo campo de texto. Usted puede incluso ingresar en algún texto por teclado. Pero tenemos un problema, el campo de texto no cambia de tamaño cuando redimenciono la ventana. No se preocupe, hay una buena razón para esto, le dijimos al campo de entrada de texto que debia redimensionarse automáticamente si su columna o celda se expande, pero aún no le especificamos al gestor de diseño (grilla) que cuando la ventana se redimensiona tambien lo debe hacer la grilla. Ya veremos como hacerlo mas adelante.

Paso 10: Agregar un nuevo widget, un boton

Muy simple, ya vimos como hacerlo, crear el botón y añadirlo. Tenga en cuenta que en este caso, no mantenemos una referencia al botón (ya que vamos a leer ni alterar su valor en ningun momento).

#!/usr/bin/python
try:
import wx
except ImportError:
raise ImportError,"Se requiere el modulo wxPython"
class simpleapp_wx(wx.Frame):
def __init__(self,parent,id,title):
wx.Frame.__init__(self,parent,id,title)
self.parent = parent
self.initialize()
def initialize(self):
grilla = wx.GridBagSizer()
self.entrada = wx.TextCtrl(self,-1,value=u"Ingrese un texto:")
grilla.Add(self.entrada,(0,0),(1,1),wx.EXPAND)
boton = wx.Button(self,-1,label="Pulsame !")
grilla.Add(boton, (0,1))
self.SetSizerAndFit(grilla)
self.Show(True)

if __name__ == "__main__":
app = wx.App()
frame = simpleapp_wx(None,-1,'Mi aplicacion')
app.MainLoop()

Observe como ubicamos el nuevo widget, el boton, usando las coordenadas (0,1) sin espaciado. En este punto tenemos una ventana con un campo de texto y un botón.

Paso 11: Agregar otro widget, una etiqueta

Se trata de un StaticText en wxPython. Le pondremos coleres personalizados, usaremos un texto blanco sobre fondo azul, tenemos que llamar dos métodos para ello (SetForegroundColour y SetBackgroundColour), el texto estara alineado a la izquierda por defecto, ubicamos la etiqueta en nuestro gestor de diseño, la grilla, pero esta vez el nuevo widget se extienden a través de dos celdas (de modo que aparezca por debajo del campo de texto y del botón.), para ello se debe especificar un area de (1,2), es decir una celda verticalmente, y dos celdas horizontalmente. Finalmente para la expancion de la etiqueta usamos wx.EXPAND.

#!/usr/bin/python
try:
import wx
except ImportError:
raise ImportError,"Se requiere el modulo wxPython"

class simpleapp_wx(wx.Frame):

def __init__(self,parent,id,title):
wx.Frame.__init__(self,parent,id,title)
self.parent = parent
self.initialize()

def initialize(self):
grilla = wx.GridBagSizer()
self.entrada = wx.TextCtrl(self,-1,value=u"Ingrese un texto:")
grilla.Add(self.entrada,(0,0),(1,1),wx.EXPAND)
boton = wx.Button(self,-1,label="Pulsame !")
grilla.Add(boton, (0,1))
self.etiqueta = wx.StaticText(self,-1,label=u'Hola !')
self.etiqueta.SetBackgroundColour(wx.BLUE)
self.etiqueta.SetForegroundColour(wx.WHITE)
grilla.Add( self.etiqueta, (1,0),(1,2), wx.EXPAND )
self.SetSizerAndFit(grilla)
self.Show(True)

if __name__ == "__main__":
app = wx.App()
frame = simpleapp_wx(None,-1,'Mi aplicacion')
app.MainLoop()

Ya tenemos tres widgets en nuestra aplicacion, todavia no hacen nada ni se ven bien cuando redimensionamos la ventana, pero seguiremos mejorando nuestro programa.

Paso 12: Habilitar redimensionamiento

Ahora le decimos a la gestor de diseño que tiene que cambiar el tamaño de sus columnas y filas cuando la ventana es redimensionada. Sólo la primera columna (0), para ello usaremos AddGrowableCol(), Tenga en cuenta que hay otros parámetros. Por ejemplo, algunas columna pueden crecer más que otras cuando se cambia el tamaño, eso se logra con el parámetro es de peso (En nuestro caso, simplemente se debe poner en 1).

#!/usr/bin/python
try:
import wx
except ImportError:
raise ImportError,"Se requiere el modulo wxPython"

class simpleapp_wx(wx.Frame):

def __init__(self,parent,id,title):
wx.Frame.__init__(self,parent,id,title)
self.parent = parent
self.initialize()

def initialize(self):
grilla = wx.GridBagSizer()
self.entrada = wx.TextCtrl(self,-1,value=u"Ingrese un texto:")
grilla.Add(self.entrada,(0,0),(1,1),wx.EXPAND)
boton = wx.Button(self,-1,label="Pulsame !")
grilla.Add(boton, (0,1))
self.etiqueta = wx.StaticText(self,-1,label=u'Hola !')
self.etiqueta.SetBackgroundColour(wx.BLUE)
self.etiqueta.SetForegroundColour(wx.WHITE)
grilla.Add( self.etiqueta, (1,0),(1,2), wx.EXPAND )
grilla.AddGrowableCol(0)
self.SetSizerAndFit(grilla)
self.Show(True)

if __name__ == "__main__":
app = wx.App()
frame = simpleapp_wx(None,-1,'Mi aplicacion')
app.MainLoop()

Ahora intente cambiar el tamaño de la ventana. El campo de texto y la etiqueta azul ahora cambian de tamaño correctamente para adaptarse al tamaño de la ventana. Pero no se ve tan bien cuando redimensionamos la ventana verticalmente.

Paso 13: Agregar limitaciones

Vamos a añadir un contraint de modo que el usuario sólo pueda modificar el tamaño de la ventana horizontalmente. En consecuencia, para impedir el cambio de tamaño vertical de la ventana especificaremos el ancho y alto máximos y mínimos de la ventana, establecemos el alto mínimo y máximo de nuestra actual ventana (self.GetSize().y) a fin de que la ventana no se puede cambiar el tamaño verticalmente. Para ello dejamos en los valores -1 y -1 para el ancho (y) anchura de manera que la ventana puede ser libremente redimensionada horizontalmente (-1 significa "Sin límite").

#!/usr/bin/python
try:
import wx
except ImportError:
raise ImportError,"Se requiere el modulo wxPython"

class simpleapp_wx(wx.Frame):

def __init__(self,parent,id,title):
wx.Frame.__init__(self,parent,id,title)
self.parent = parent
self.initialize()

def initialize(self):
grilla = wx.GridBagSizer()
self.entrada = wx.TextCtrl(self,-1,value=u"Ingrese un texto:")
grilla.Add(self.entrada,(0,0),(1,1),wx.EXPAND)
boton = wx.Button(self,-1,label="Pulsame !")
grilla.Add(boton, (0,1))
self.etiqueta = wx.StaticText(self,-1,label=u'Hola !')
self.etiqueta.SetBackgroundColour(wx.BLUE)
self.etiqueta.SetForegroundColour(wx.WHITE)
grilla.Add( self.etiqueta, (1,0),(1,2), wx.EXPAND )
grilla.AddGrowableCol(0)
self.SetSizerAndFit(grilla)
self.SetSizeHints(-1,self.GetSize().y,-1,self.GetSize().y );
self.Show(True)

if __name__ == "__main__":
app = wx.App()
frame = simpleapp_wx(None,-1,'Mi aplicacion')
app.MainLoop()

Paso 14: manejador de eventos y modificacion de atributos

Los manejadores de eventos (event handler) son métodos que se llaman cuando algo sucede en el GUI. Relacionamos en el manejador de eventos widgets especificos con eventos puntuales. De esta forma decimos que es lo que tiene que hacer la aplicacion ante cualquier evento que pueda ser capturado, por ejemplo, cuando se hace clic con raton sobre el boton o se presiona ENTER en el campo de texto.

Creamos un metodo SiCliqueaBoton(), método que se llama cuando se hace clic en el botón. Tambien creamos un metodo SiPulsamosEnter(), método que se llamará luego de presionar ENTER en el campo de texto. Observe que es necesario agregar en la entrada el parametro style=wx.TE_PROCESS_ENTER para que este sea capaz de procesar el pulsado de la tecla enter.

En cada uno de estos metodos modificamos a su vez la etiqueta usando el metodoGetValue() para tomar el valor actual del campo de texto y SetLabel() para establecer el nuevo valor de la etiqueta mas una leyenda discrecional con la accion realizada.

#!/usr/bin/python
try:
import wx
except ImportError:
raise ImportError,"Se requiere el modulo wxPython"

class simpleapp_wx(wx.Frame):
def __init__(self,parent,id,title):
wx.Frame.__init__(self,parent,id,title)
self.parent = parent self.initialize()

def initialize(self):
grilla = wx.GridBagSizer()
self.entrada = wx.TextCtrl(self,-1,value=u"Ingrese un texto:", style=wx.TE_PROCESS_ENTER)
grilla.Add(self.entrada,(0,0),(1,1),wx.EXPAND)
self.entrada.Bind(wx.EVT_TEXT_ENTER, self.SiPulsaEnter)
boton = wx.Button(self,-1,label="Pulsame !")
grilla.Add(boton, (0,1))
boton.Bind (wx.EVT_BUTTON, self.SiCliqueaBoton)
self.etiqueta = wx.StaticText(self,-1,label=u'Hola !')
self.etiqueta.SetBackgroundColour(wx.BLUE)
self.etiqueta.SetForegroundColour(wx.WHITE)
grilla.Add(self.etiqueta, (1,0),(1,2), wx.EXPAND )
grilla.AddGrowableCol(0)
self.SetSizerAndFit(grilla)
self.SetSizeHints(-1,self.GetSize().y,-1,self.GetSize().y )
self.Show(True)

def SiCliqueaBoton(self,event):
self.etiqueta.SetLabel(self.entrada.GetValue() + "Cliqueo el boton!")

def SiPulsaEnter(self,event):
self.etiqueta.SetLabel(self.entrada.GetValue() + "Pulso enter!")

if __name__ == "__main__":
app = wx.App()
frame = simpleapp_wx(None,-1,'Mi aplicacion')
app.MainLoop()

Paso 15: Fijar foco

Como ultimo agregado, haremos que el cambo de entrada de texto obtenga el foco y se seleccione el texto contenido, para ello agregaremos tanto en el metodo initialize como en cada uno de los metodos llamados por lo eventos un par de lineas, self.entrada.SetFocus() y self.entrada.SetSelection(-1,-1). Veamos ahora nuestro programa terminado y lo ejecutemos para probarlo.

#!/usr/bin/python
try:
import wx
except ImportError:
raise ImportError,"Se requiere el modulo wxPython"

class simpleapp_wx(wx.Frame):
def __init__(self,parent,id,title):
wx.Frame.__init__(self,parent,id,title)
self.parent = parent self.initialize()

def initialize(self):
grilla = wx.GridBagSizer()
self.entrada = wx.TextCtrl(self,-1,value=u"Ingrese un texto:", style=wx.TE_PROCESS_ENTER)
grilla.Add(self.entrada,(0,0),(1,1),wx.EXPAND)
self.entrada.Bind(wx.EVT_TEXT_ENTER, self.SiPulsaEnter)
boton = wx.Button(self,-1,label="Pulsame !")
grilla.Add(boton, (0,1))
boton.Bind (wx.EVT_BUTTON, self.SiCliqueaBoton)
self.etiqueta = wx.StaticText(self,-1,label=u'Hola !')
self.etiqueta.SetBackgroundColour(wx.BLUE)
self.etiqueta.SetForegroundColour(wx.WHITE)
grilla.Add(self.etiqueta, (1,0),(1,2), wx.EXPAND )
grilla.AddGrowableCol(0)
self.SetSizerAndFit(grilla)
self.SetSizeHints(-1,self.GetSize().y,-1,self.GetSize().y )
self.entrada.SetFocus()
self.entrada.SetSelection(-1,-1)
self.Show(True)

def SiCliqueaBoton(self,event):
self.etiqueta.SetLabel(self.entrada.GetValue() + "Cliqueo el boton!")
self.entrada.SetFocus()
self.entrada.SetSelection(-1,-1)

def SiPulsaEnter(self,event):
self.etiqueta.SetLabel(self.entrada.GetValue() + "Pulso enter!")
self.entrada.SetFocus()
self.entrada.SetSelection(-1,-1)

if __name__ == "__main__":
app = wx.App()
frame = simpleapp_wx(None,-1,'Mi aplicacion')
app.MainLoop()

Conclusiones

Bueno, eso es todo, espero que les sirva, si encuentran errores por favor me avisan asi lo corrijo. El documento es de libre distribucion, solo me gustaria que se mantenga la autoria, pero, si no lo quiere hacer tambien esta bien, la unica motivacion es compartir conocimientos.

Si quieren profundizar en el uso de wxPython recomiendo los siguientes enlaces:

http://www.wxpython.org/onlinedocs.php

http://wiki.wxpython.org/

http://boa-constructor.sourceforge.net/

Fuente: http://www.retronet.com.ar *Luis Tomas Wayar*


5 síntomas de pereza informática y sus remedios

Desorden y caos informáticosUn ordenador es como una casa. Bueno, no exactamente, pero el símil sirve para introducir un problema frecuente: el caos informático. Un equipo desorganizado se reconoce en seguida por la acumulación de iconos, el proliferar de molestos pop-ups, la presencia de docenas de barras y complementos, etcétera.

Todo esto, no sólo queda feo, sino que disminuye la comodidad del trabajo diario.  En este artículo, hablaremos de los cinco signos más frecuentes de pereza informática y de las soluciones que puedes poner en práctica para hacerles frente. Venga, ¡a limpiar!

1.  Toneladas de iconos en el Escritorio

El Escritorio es tan simpático, siempre ahí cuando necesitas tener algo a mano. ¿Tienes que descomprimir una cosa? Al Escritorio. ¿Te acaban de pasar unas fotos? Al Escritorio. ¿Creas accesos directos donde no toca? Al Escritorio irán.

El problema es que, según el tiempo pasa, este espacio se va llenando de más y más pequeños iconos hasta que resulta imposible encontrar nada. ¿Cuál es su utilidad entonces?

Escritorio repleto de iconos

Posibles soluciones:

  • Descomprimir archivos temporales en una carpeta ad-hoc. Por ejemplo C:\Temp
  • Utilizar el Asistente de Limpieza de Escritorio para borrar los accesos directos no utilizados últimamente. Lo encuentras en Propiedades de pantalla / Escritorio / Personalizar Escritorio / Limpiar Escritorio ahora.
  • Usar un programa como Fences o un dock
  • Configurar el navegador para que baje los ficheros a una carpeta (p.ej. "Descargas")

2. Superpoblación en la Bandeja del Sistema

Tener muchos iconos en la Bandeja del sistema no es algo malo de por sí. Lo malo es la causa que lleva a esta situación, la cual no es otra que infinidad de programas en memoria.

Posibles soluciones:

  • Eliminar del arranque programas innecesarios. Por ejemplo, con System Tray Cleaner
  • Configurar individualmente los programas para que no se muestren aquí
  • Ocultar los iconos que no usas modificando las Propiedades de la Barra de Tareas

3. Atracón de barras de herramientas en Internet Explorer

"Se me instaló sola y no sé como quitarla". ¿Cuántas veces habremos oído eso en boca de algún amigo con más barras de herramientas de las que cualquier humano podría desear?  En verdad, lo que quieren decir es "Soy demasiado vago para intentar desinstalarla".

Posibles soluciones:

  • Desinstalar las barras que no quieres. Algunas se encuentran en Agregar o Quitar programas. Otras se pueden desinstalar desde el menú Ayuda de la propia barra. En el futuro, evita el "SiguienteSiguiente" al instalar
  • Prueba utilidades como Toolbar Uninstaller o WhatInStartup
  • Usa otro navegador gratuito, como Firefox, Opera o Chrome

4. Menú contextual como la bolsa de Mary Poppins

El menú contextual del Explorador es nuestro amigo, pero tiene el feo vicio de acoger menús y submenús de todas las aplicaciones a las que les gusta integrarse con el sistema. A diferencia de los iconos en el Escritorio, la mayoría de instaladores dan por sentado que al usuario le apetecerá tener un atajo más al hacer clic con el botón derecho del ratón.

Menú contextual superpoblado

Posibles soluciones:

  • Usa ShellMenuView, Context Menu Editor o MenuMaid para eliminar ítems inútiles
  • Abre el Editor de registro (Inicio > Ejecutar > regedit.exe o Win+R) y navega hasta HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers. Borra los que no te interesan y reinicia el equipo
  • Las opciones de algunos programas permiten modificar o desactivar la integración con el Explorador

5. Más avisos que los de un panel de una central nuclear

Otro síntoma bastante molesto es la aparición de ventanas de aviso o recordatorios de que determinado producto ha caducado. El problema es que este tipo de avisos suelen tener la opción de "revisarlos más tarde", por lo que se van dejando y dejando hasta que al final te das cuenta de que, por no prestarle atención durante un minuto el primer día, has estado cerrando la ventana durante meses.

Posibles soluciones:

  • Desinstala los programas OEM preinstalados. Para ello, te recomendamos The PC Decrapifier y AppRemover
  • No instalar la actualización Notificaciones de Ventajas de Windows Original. Si lo haces, prueba a quitarla con RemoveWGA o alguna herramienta similar
  • Avisos o asistentes de primer uso (como el de IE):  no posponerlo indefinidamente
  • Si el programa te gusta, ¿por qué no comprarlo? ;-)

¿Tienes alguno u otro de estos síntomas de "dejadez computacional"? ¿Se te ocurren más soluciones a los problemas mencionados?


FUENTE: http://es.onsoftware.com

viernes, 7 de agosto de 2009

Instalando MySQL Workbench para Ubuntu

Si trabajas con bases de datos MySQL seguramente te interesara instalar este modelador Entidad / Relacion que te permitira diseñar tu base de datos facilmente. Para instalar la version alpha de MySQL Workbench 5.1.3 que ya se encuentra disponible, Ejecutamos los siguientes pasos:

- Nos descargamos la libreria “libctemplate0_0.91-1_i386.deb” desde el siguiente enlace. Y la instalamos con:

$ sudo dpkg -i libctemplate0_0.91-1_i386.deb

- Despues añadimos a nuestro fichero /etc/apt/sources.list las siguientes lineas:

deb ftp://ftp.mysql.com/pub/mysql/download/gui-tools/ubuntu/ binary/
deb-src ftp://ftp.mysql.com/pub/mysql/download/gui-tools/ubuntu/ source/

- Actualizamos los repositorios:

$ sudo apt-get update

- Instalamos mysql workbench:

sudo apt-get install mysql-workbench

- Lo ejecutamos:

$ mysql-workbench

Y a diseñar nuestra base de datos.


Visto en | http://ubuntulife.wordpress.com/

martes, 21 de julio de 2009

Como darse de baja de Windows Live o Hotmail

Puede haber varias razones por las cuales en algún momento decidas que es hora de cerrar una cuenta de Hotmail o Windows Live: tal vez porque estés cansado de la cantidad de Spam que se recibe, porque has cambiado de cuenta y quieres que tus contactos se cambien…porque eres un paranoico y crees que el gobierno te persigue y esta es una forma de “despirtarlos”…

Obviamente, Microsoft no te lo va a poner fácil a la hora de permitir darse de baja de su servicio, pero por suerte para tí, te lo vamos a poner sencillo y si tu cuenta de Windows Live Mail tiene esta muy oculta vamos a iluminarte para que conozcas como darte de baja de inmediato.

Si no quieres perder tiempo, es suficiente con que sigas los siguientes pasos y en abrir y cerrar de ojos tu cuenta de Hotmail pasará a mejor vida:

1. Ir a Windows Live e iniciar sesión con la cuenta que quieres eliminar
2. Si necesitas hacer una copia de seguridad de las direcciones de sus contactos y los correos electrónicos importantes a otra cuenta de correo este es el momento indicado.
3. Ir a la página http://mail.live.com/mail/CloseAccountConfirmation.aspx
4. Haga clic en “Cerrar cuenta” y Game Over, ya habremos eliminado nuestra cuenta.

Microsoft pese a todo seguirá esperanzado con que vuelvas al redil y teofrece la posibilidad de reactivar la cuenta de Hotmail o Windows Live, tan sólo deberemos accedar de nuevo en un plazo de 270 días.

Fuente: PlanetaRed

Otros 10 comandos Linux muy útiles

10 comandos Linux muy útiles y que ayudarán a los usuarios de Linux a hacer su vida algo más fácil en algunos aspectos

1. Actualiza Twitter desde el terminal:

curl -u TuUsuario:TuPassword -d status=”El mensaje que quieres escribir” http://twitter.com/statuses/update.xml

2. Encontrar archivos borrados (deleted) que todavía están en uso:

find -L /proc/*/fd -links 0 2>/dev/null

3. Comprobar que el cable de red esta enchufado y funciona correctamente:

mii-tool eth0


4. Migrar el sistema de archivos de Ext3 a Ext4:

tune2fs -O extents,uninit_bg,dir_index /dev/yourpartition

Antes de hacer esto, os recomendamos hacer una copia de seguridad de todos los datos que hayan en las particiones ext3 que se convertirán a ext4.
Después de ejecutar el comando anterior debes ejecutar fsck, ya que se necesita para volver el sistema de ficheros a un estado coherente.

fsck -pDf /dev/tuparticion

Edita /etc/fstab y cambia el ‘type’ de ext3 a ext4 para las particiones que hayas convertido a ext4.

5. Descomprime una película comprimida en un archivo .rar “On-the-fly” (al vuelo) y reproducirla (también funciona con archivos divididos en partes):

unrar p -inul foo.rar|mplayer -

6. Lista los programas con puertos y conexiones abiertas:

netstat -ntauple

o

netstat -lnp

7. Uso de ruby, busca la cadena “search” y la sustituye por la cadena “replace”, en todos los archivos con extensión .php en la carpeta actual. También hace una copia de seguridad de cada archivo con la extensión “.bkp”:

ruby -i.bkp -pe “gsub(/search/, ‘replace’)” *.php

8. Encuentra archivos que sean mayores de 1 GB:

find / -type -f -size +1000000000c

9. Mata/termina un proceso que bloquea un archivo:

fuser -k filename

10. Manualmente pause/activa una aplicacion (proceso) con POSIX-Signals, por ejemplo para el caso de Firefox:

killall -STOP -m firefox

El comando anterior suspenden todos los hilos de Firefox. Por lo que la carga de uso de la CPU será cero. Esto es muy útil cuando se tengamos 100 pestañas abiertas y necesitamos liberar el uso de la CPU para realizar otra tarea. Debemos tener cuidado ya que puede producir cuelgues en otros procesos o del FF en sí. Es sensible a mayúsculas y minúsculas.

Fuente: webupd8

domingo, 19 de julio de 2009

Instalando Driver de Ati en Ubuntu 9.04


Ahora a instalar los drivers de ATI, también conocido como los CCC (Catalyst Control Center), en Ubuntu 9.04, pero en otras distros la instalación es de una manera muy similar.

Las mejoras con estos nuevos drivers son:

  • Arreglado problema de falta de segmentación cuando las X paran en modo dual-head

  • Arreglado el renderizado indirecto en SUSE Enterprise 10.1 de Novell

  • Cuando programas 3D están en funcionamiento no se reportarán problemas en dmesg

  • Arreglado problemas de reproducción de vídeo, que causan que el sistema se bloquee, tras resumir desde estados S3/S4

  • El botón por defecto para el diálogo Warning en las preferencias de Catalyst Control Center ha sido arreglado

  • Mejorados los valores de gamma en Catalyst Control Center

  • La página de soporte HDTV de Catalyst Control Center muestra correctamente los formatos

También es importante aclarar que las versiones anteriores se instalan de la misma manera.

Instalar Driver ATI 9.4 desde cero

*Descargamos desde la página de ATI el último driver disponible, en este caso los 9.4 (Ejemplo: Mi ACELERADOR es una HD3200, entonces selecciono serie HD3xxx)

http://ati.amd.com/support/drivers/linux/linux-radeon.html

*Luego abrimos una terminal y escribimos:

sudo apt-get update

sudo apt-get install build-essential cdbs fakeroot dh-make debhelper debconf libstdc++5 dkms linux-headers-$(uname -r)

Estas líneas son para instalar las librerías de compilación necesarias para el driver ATI Catalyst 9.4 y también se usan en la serie anterior.

*Desinstalamos estos dos paquetes:

  • apt-get remove fglrx-modaliases
  • apt-get remove xserver-xorg-video-radeon
*Paso final: Luego para instalar los drivers arrastramos nuestro archivo .RUN (Driver) a la consola, previamente debemos logearnos como root (sudo -s), y le damos ejecutar, y ya ahí se abrirá en modo grafico un sencillo instalador (en inglés) que seguiremos los pasos y se dará por terminado.

Aquí les dejo unos screen del Catalyst Control Center instalado en mi Laptop ACER 5535:


Gracias a huemulito de islabit.com, estos sencillo pasos de configuración de los dificiles aceleadores ATI, que yo cambie un poquito para todos para intentar hacerlo mas sencillo aún y me funcionó de maravilla.

viernes, 17 de julio de 2009

Webcam integrada en HP Pavilion

Algunos de estos notebooks con hardware nuevo, dan problemas a la hora de habilitar ciertos dispositivos en GNU/Linux como la webcam integrada por que los fabricantes solo dan soporte para windows, el siguiente manual lo probé en un HP Pavilion dv2040ca, aquí están las características según la página oficial.

Procedimiento para KUBUNTU

La especificación que me lanza un lsusb sobre la webcam es:
ID 0c45:62c0 Microdia
Me parece que también funciona en otros notebooks de la serie dv2000.

Necesitamos tener instalado build-essential y subversion:
apt-get install build-essential subversion
Ahora podemos proceder como root (o anteponiendo sudo en ubuntu):
svn checkout http://svn.berlios.de/svnroot/repos/linux-uvc/
cd linux-uvc/linux-uvc/trunk/
make
make install

Probamos el módulo:
modprobe uvcvideo

Listo, sólo nos falta probarla con algún software como camorama, ekiga, kdetv ( A mí me funcionó con el último, instalando los paquetes kdetv y v4l-conf con apt)

viernes, 10 de julio de 2009

Compartir archivos Ubuntu-Windows, en VirtualBox

Windows emulado bajo GNU/Linux, con una misma carpeta compartida, para escribir, leer y ejecutar, y esta es la segunda etapa o la continuación después de que emulaste Windows Bajo GNU/Linux con VirtualBOX ¿Cómo hacer para que “convivan” los dos sistemas operativos? Muy fácil, a windows no le queda otro camino más que someterse a una potente máquina potenciada por Linux, una vez que creamos una carpeta común para compartir archivos entre sí. Puedes descargar desde tu win cualquier cosa y en el instánte leerla en Linux (o al revés), modificarla, escribirla, como si fuera un sistema operativo único. Una entrada a una tecnología más depurada, simple e intuitiva. Esta guía es una respuesta a preguntas de usuarios, hecha con la intención de ayudar al nuevo usuario que se muda a GNU/Linux y le cuesta trabajo dejar un sistema operativo al que está acostumbrado y que creía único. Ojalá la disfruten, porque tiene bastantes horas de trabajo y pestañas quemadas, así como un largo proceso de prueba y error. Todas las herramientas son software libre, excepto el sistema operativo del chico gates del que espero tengan licencia.

Esta guía está pensada para el usuario principiante de GNU/Linux y sus distintas derivaciones, así que podrá parecerles a los gurús algo extremadamente larga, pero la explicación.
Antes que nada tenemos que echar a volar Samba (el protocolo de comunicación entre Linux y windows, y una derivación de SMB (Server Message Block) de la siguiente manera: Damos click (en cualquier distribución Ubuntu) en la barra: Sistema / Administración / Carpetas Compartidas, nos pide la calve de root y se despliega una ventanita, le decimos que sí instale servicios. Para distribuciones como Ubuntu, OpenSuse, Fedora, Mandriva, mediante sus instaladores respectivos. (para ubunteros sería: sudo apt-get install samba).

Una vez que termine, cerramos. Para este ejemplo crearemos una carpeta llamada “compartida” (sin las comillas), pero puede variar por el nombre que tu quieras. He puesto en negritas joare porque esa es mi carpeta (local) pero debes cambiarla por tu carpeta local. Así que nos vamos a nuestra shell y le ordenamos crearla con la siguiente línea:

sudo mkdir /home/joare/compartida

Luego clickeamos, otra vez. Sistema / Administración / Carpetas Compartidas, y en la ventana le damos click a la pestaña Añadir. Y le indicamos lo siguiente:

En la pestaña Ruta, le indicamos la ruta (valga la redundancia) de nuestra carpeta compartida. Le dejamos compartir redes windows (SMB) y en Nombre, ponemos “joare” (sin las comillas). Le damos aceptar y n0s aparece ya nuestra carpeta, con un dominio o grupo de trabajo MSHOME.

Ahora, de acuerdo al manual de VirtualBox, debemos crear en la emulación las rutas adecuadas para que pueda leerla windows y viceversa con el siguiente comando, desde la shell (el comando debe quedar en una sola línea y, en este caso, los nombres entre comillas sí llevan las comillas):

sudo VBoxManage sharedfolder add “El nombre de nuestra máquina virtual” -name “compartida” -hostpath “/home/aquíVatuHOME/compartida”

Mí línea de comando quedó así (obviamente en una línea):

sudo VBoxManage sharedfolder add “WindowsXP” -name “compartida” -hostpath “/home/joare/compartida”

Le damos enter.

Nos dice que todo fue bien y sin contratiempos, y que ahora sí podemos dar el otro paso, para que esto quede funcionando. Así que ahora sí abrimos nuestra máquina virtual Virtual Box, y arrancamos windows.

Quiero suponer que nuestra máquina virtual está funcionando sin problema alguna (que tiene instalado desde la pestaña Devices / Install Guest / Adittions… ) todos los componentes para que windows corra sin suspicacias en la vida. Si no es así, instálate los agregados desde la pestaña Devices, y nos vamos a la barra de inicio de windows, y luego ejecutar, como se muestra en la gráfica anterior.

Le escribimos “cmd” (sin las comillas), clickeamos Aceptar, y nos aparece una pantalla de dos a la que escribimos lo siguiente: (tal cual si creamos la carpeta “compartida”. La diagonal inversa \\ se escribe con la tecla AltGr y ?, a la vez (teclado latinoamericano-español)

net use Z: \\vboxsvr\compartida

Damos Enter. Vas a tu carpeta MiPC, y ahí debe aparecer ya tu carpeta compartida, en la que puedes descargar archivos desde internet. Y en Linux, con un golpe de ratón también, en tu carpeta “compartida” de tu /home. Puedes crear cuanta carpeta quieras compartir. Lo interesante de este asunto es que trabajas con Linux a windows, sin reiniciar, y a golpe de ratón. Dos sistemas integrados.

Gente yo no probe todavia.. Pido cualquier noticias!!! (joarevalos)

Gracias:http://www.bakara.root-linux.com

Gestor Gráfico Compatible con Firebird

Acerca de CrunchyFrog
CrunchyFrog es un cliente de SQL y esquema navegador principalmente (pero no exclusivamente) para el escritorio GNOME. Está escrito en Python (PyGTK) y licenciado bajo la GNU General Public License v3.

Características
* Soporta varias bases de datos (PostreSQL, MySQL, SQLite, Oracle, SQLServer, Firebird, Informix, MaxDB).
* Ligera interfaz de usuario para las tareas diarias.
* Editor de SQL con sintaxis coloreada.
* Exportación a CSV resultados y OpenOffice.
* Examinar la base de datos de objetos.

* Soporta múltiples conexiones con bases de datos a la vez (por ejemplo, para la conexión entre
el desarrollo y entornos de producción).


Descarga "Ubuntu / Debian "
Para instalar en Ubuntu CrunchyFrog siga las instrucciones de esta página para
agregar PPA CrunchyFrog el repositorio a su gestor de paquetes.

El paquete contiene archivos de paquetes Interpid y Jaunty.

Se recomienda instalar ambos crunchyfrog y crunchyfrog-gnome. Esta última instalación
de paquetes adicionales para una mejor integración con GNOME como el almacenamiento
de contraseñas en el anillo de claves.

Sin ser probado, los paquetes deben instalarse en Debian también.
Para instalar CrunchyFrog añadir las siguientes líneas a /etc/apt/source.list:

deb http://ppa.launchpad.net/crunchyfrog/ppa/ubuntu
Jaunty main
deb-src http://ppa.launchpad.net/crunchyfrog/ppa/ubuntu
Jaunty main
Sustitúyase "Jaunty" con "Intrepid" si se está ejecutando Intrepid.

Para importar la clave GPG repositorios:

sudo apt-key ADV - recv-keys - keyserver keyserver.ubuntu.com 266d5f41c7f166d8

Finalmente instalar CrunchyFrog ejecutar:

sudo aptitude update

sudo aptitude install gnome-crunchyfrog crunchyfrog
 
Si quieres ayudar a las pruebas o si está interesado en las últimas características hay un
segundo diario construye con PPA(inestable).

Fuente: http://www.swik.net
Traducción:
http://www.google.com

lunes, 29 de junio de 2009

Mantener limpio Ubuntu

1. Paquetes/Librerías obsoletas o sin uso

Cuando hacemos instalaciones/desinstalaciones de paquetes en Ubuntu a veces se han de descargar librerías que quedan huérfanas, es decir, que no se desinstalaron correctamente pero quedan en el disco y no se utilizan. Esto es más frecuente cuando usamos el comando Apt-get que con Aptitude, con lo que si vamos a instalar desde consola es más recomendable usar aptitude. En caso contrario, Synaptic es también una buena opción para controlar este factor.

Otra cosa que ocurre es que si desinstalamos con el comando sudo apt-get remove nombredepaquete sin añadir la opción -purge, dejamos archivos de configuración en el disco que quedan obsoletos, puesto que ninguna aplicación los necesita.

Consejo:
Si quieres desinstalar con apt-get, usa el comando:

sudo apt-get remove -purge nombredepaquete

Y si quieres desinstalar con aptitude:

sudo aptitude --purge-unused purge nombredepaquete

Para solventar esto tenemos dos opciones:

a. Autoclean

Este comando de consola nos permite eliminar los paquetes descargados que se encuentran en /var/cache/apt/archives/ y /var/cache/apt/archives/partial/, y que ya no estan disponibles en los repositorios, para usar este comando debes hacer lo siguiente:

1. Ir a Aplicaciones/Accesorios/Terminal
2. Una vez abierto, escribe:

sudo apt-get autoclean

3. Te informara si hay algo para eliminar y sigue los pasos
4. Cierra la terminal

Para eliminar los paquetes descargados manualmente, debes hacer lo siguiente:

1. Ir a Aplicaciones/Accesorios/Terminal
2. Una vez abierto, escribe:

sudo rm /var/cache/apt/archives/*.deb

3. Cierra la terminal

b. Deborphan

Nos permite eliminar librerías huérfanas y ficheros de configuración obsoletos. Es un paquete muy útil que nos ayuda a mantener una coherencia entre los paquetes instalados y que además elimina los ficheros de configuración obsoletos de nuestro sistema. El resultado es siempre positivo, ya que, por un lado se obtiene más espacio en el disco duro y por el otro se mantiene el sistema perfectamente ordenado.

Si deseas instalarlo y a la vez usar una interfaz grafica, debes hacer lo siguiente:

1. Ir a Aplicaciones/Añadir y quitar
2. Una vez abierto "Añadir y quitar aplicaciones" buscar "deborphan"
3. Seleccionar "Eliminar paquetes huérfanos"
4. Para instalar lo seleccionado dar clic en "Aplicar cambios", una vez terminada la instalación cierra la ventana.

Para usarlo, debes hacer lo siguiente:

1. Ir a Sistema/Administracion/Remove orphaned packages
2. Una vez abierto, ve a la pestaña "Orphaned packages" en la cual te mostrara una lista de las librerias huerfanas, selecciona las de tu preferencia o todas (clic con el boton derecho del raton sobre una de ellas y luego clic en "Select all") y luego da clic en "Aceptar"
3. Te saldra una ventana de advertencia "Pending removals" donde te preguntara si estas seguro de eliminar las librerias seleccionadas, da clic en "Si", esto eliminara las librerias y luego da clic en "Aceptar" para aplicar los cambios
4. Una vez de nuevo en la ventana principal verifica que la lista este vacia, de lo contrario repite los pasos 2 y 3, hasta que te muestre "No orphaned libraries found"
5. Por ulitimo da clic en "Aceptar" para cerrar el programa.

2. Paquetes de idiomas que no se usan

Cuando instalamos Ubuntu por primera vez, el soporte de idiomas ha de activarse y entonces se nos traducen algunas aplicaciones que suelen venir por defecto en inglés.

Al descargar los paquetes de idioma en español nos pueden quedar paquetes de idioma antiguos que ya no nos interesan. Lo mismo ocurre al desinstalar una aplicación. Estos paquetes siempre ocupan un poco de espacio de disco (aunque muy poco).

localepurge es un paquete que se encarga de eliminar los archivos de traducción (archivos locales) que no utilizamos. Para instalarlo debes hacer lo siguiente:

1. Ir a Aplicaciones/Accesorios/Terminal
2. Una vez abierto, escribe:

sudo aptitude install localepurge 

3. Al acabar la instalación aparecerá una pantalla azul donde hay que seleccionar los idiomas que queremos conservar en nuestro sistema.

Es importante saber que existen dos niveles de idiomas:
a. De primer nivel: Son los que van sin guiones bajos y son los más importantes, ya que contienen la mayoría de la traducción del idioma (ejemplo: es).
b. De segundo nivel: Son los que van con guiones bajos (ejemplo: es_ES).

Una vez configurado localepurge, solo hay que ejecutarlo con permisos de administrador para eliminar los ficheros de traducción que no deseamos, de la siguiente forma:

1. Ir a Aplicaciones/Accesorios/Terminal
2. Una vez abierto, escribe:

sudo localepurge

3. Al finalizar, nos mostrará una línea con el espacio de disco liberado, ejemplo:

localepurge: Disk space freed in /usr/share/locale: 12000K

A partir de ahora, cada vez que instalemos una aplicación mediante apt-get o aptitude se ejecutará automáticamente localepurge al finalizar la instalación.

3. Archivos que no deseo

Hay archivos que suelen ocupar espacio en nuestro disco y que nos pasan desapercibidos. Pueden ser logs de error, archivos generados por GIMP, etc.

Si deseas eliminar los thumbnails, debes hacer lo siguiente:

1. Ir a Aplicaciones/Accesorios/Terminal
2. Una vez abierto, escribe:

sudo rm .thumbnails/normal/*.png
sudo rm .thumbnails/normal/fail/*.png

3. Cierra la terminal

Otras opciones para liberar espacio en disco son: vaciar la caché de nuestro navegador de internet (firefox, opera, etc.), archivos de backup de conversaciones de chat, antiguos logs, etc.

4. Desinstalar Kernels antiguos

Esta maniobra es realmente útil para organizar el menú de GRUB cuando éste se llena de viejas entradas que ya no nos sirven, además de que cada kernel ocupa aproximadamente unos 90 Mbytes de espacio en disco.

Al instalar un nuevo kernel no es recomendable desinstalar el inmediatamente anterior, al menos hasta que probemos el nuevo y veamos que funciona bien. De todos modos es interesante siempre tener dos kernels por si nos falla uno de ellos en algún momento.

Los kernels son nombrados de la siguiente manera: linux-image-X.X.XX-XX-generic, de modo que pueden ser por ejemplo:

linux-image-2.6.27-11-generic
linux-image-2.6.27-7-generic

Siendo más reciente el de número más elevado.

Para desinstalar antiguos kernels podemos hacer lo siguiente:

1. Ir a Aplicaciones/Accesorios/Terminal
2. Verificar que versiones de kernel estan instaladas, escribe:

dpkg --get-selections | grep linux-image

3. Para desinstalar el kernel deseado, escribe:

sudo apt-get remove --purge linux-image-X.X.XX-XX-generic

4. Cierra la terminal


*** Nota: sustituir las "X" por la versión de kernel que deseamos desinstalar.

Gracias: UNAYA

Desbloquear anillo de claves en Ubuntu

Si usas conexiones de redes inalámbricas mediante el Network Manager de GNOME, te habrás dado cuenta que cada vez que inicias sesión te pide que desbloquees el anillo de claves, esto puede ser muy molesto para algunas personas, para que esta ventana no vuelva a aparecer, harás lo siguientes:

En Ubuntu 9.04:

1. Ir a Aplicaciones/Accesorios/Contraseñas y claves de cifrado
2. Una vez abierto "Contraseñas y claves de cifrado" da clic en la pestaña Contraseñas
3. Selecciona "default" y da clic con el botón derecho del ratón, en el menú contextual selecciona Cambiar la contraseña
4. Te saldrá la ventana "Cambiar la contraseña del depósito", en la cual debes introducir tu Contraseña antigua, y deja en blanco los campos de Contraseña y Confirmar contraseña, clic en Cambiar
5. Te saldrá la advertencia "¿Almacenar sus contraseñas sin cifrarlas?", da clic en Usar depósito inseguro
6. Ahora puedes cerrar "Contraseñas y claves de cifrado" y una vez reinicies el equipo no te pedirá de nuevo la contraseña


Gracias: UNAYA

viernes, 26 de junio de 2009

Cámara Web en Ubuntu 9.04

Si tienes una Webcam y solo la usas como adorno sigue estos pasos para instalarla y poder usarla en Ubuntu.

Hacer que funcione es mas fácil de lo que imaginas solo sigue este pequeño tutorial y estarás usando tu cámara mas rápido de lo que imaginas

Tutorial para hacer que Ubuntu 9.04 detecte tu Webcam


Paso 1.- Descargar - wxCam 1.0.4
Paso 2.- Darle doble click, el archivo esta en .deb así que se instala casi solo
Paso 3.- Haz click en el boton de instalar paquete

Listo eso es todo, ahora corre el programa, lo podrás encontrar en Aplicaciones/Sonido y Vídeo/ Webcam aplication :)

wxCam es una aplicación de cámaras web para linux con soporte para grabación de video en formato avi y Xvid, toma fotografias, y algunas sorpresas especiales como grabar video cuando detecta movimiento

Entre las características de esta aplicación destacan:

* Posibilidad de ajustes de resolución, brillo, contraste, gamma y saturación.
* Soporte para algunos controles especiales para webcams Philips,
* Captura en varios formatos (BMP, PNG, JPEG, TIF, PCX, XPM.)
* Efectos gráficos (color corrección, negativo, monocromo, espejo,etc)
* Grabación de video sin audio en formato avi descomprimido.
* Grabación de video con audio en Xvid
* Grabar video cuando detecta movimiento.


También existe otra muy útil aplicación en los repositorios llamada Cheese es muy divertida y fácil instalar solo tienes que abrir una terminal y teclear:

sudo apt-get install cheese


Y listo!!!

Publica por Fa... como te fue con tu Webcam Saludos!!

Gracias: kaeltas

lunes, 22 de junio de 2009

Instalar y configurar servidor DHCP en Ubuntu

Instalar y configurar un servidor DHCP es bastante sencillo. Vamos a suponer que tenemos dos tarjetas ethernet en el servidor (eth0 y eth1). La interfaz eth1 es la que vamos a utilizar para conectar a la red lan a la que otorgaremos direcciones ip.

Primero instalamos nuestro servidor desde los repositorios.

$ sudo apt-get install dhcp3-server

Luego editamos el archivo de configuración dhcpd.conf

$ sudo gedit /etc/dhcp3/dhcpd.conf

Buscamos y comentamos las siguientes líneas

# option definitions common to all supported networks…
option domain-name “example.org”;
option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;
max-lease-time 7200;

Debe quedar en consecuencia así

# option definitions common to all supported networks…
# option domain-name “example.org”;
# option domain-name-servers ns1.example.org, ns2.example.org;

# default-lease-time 600;
# max-lease-time 7200;

Ahora definimos los parámetros que tendrá nuestra red, para lo cual vamos a suponer lo siguiente:

Red: 192.168.1.0
Rango IP: Desde 192.168.1.2 hasta 192.168.1.100
Mascara de Subred: 255.255.255.0
Servidor DNS: 192.162.1.1
Dominio: tudominio.org
Puerta de Enlace: 192.168.1.1

Y entonces agregamos al archivo la configuración, conforme a nuestros parámetros

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.2 192.168.1.100;
option domain-name-servers 192.162.1.1;
option domain-name “tudominio.org”;
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
default-lease-time 600;
max-lease-time 14400;
}

Bien eso es sufienciente en nuestro archivo de configuración, por lo tanto guardamos los cambios y cerramos.

Ahora, corresponde configurar cual va a ser la interfaz que utilizaremos para dar el servicio DHCP, que dijimos sería eth1

Editamos el siguiente archivo

$ sudo gedit /etc/default/dhcp3-server

y agregamos nuestra interfaz, quedando de este modo

# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/dhcp3-server by the maintainer scripts
#
# This is a POSIX shell fragment
#
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. “eth0 eth1″.
INTERFACES=”eth1”

Guardamos los cambios y cerramos el archivo.

Bien... dejemos claro que la interface eth1 tiene que poseer el 192.168.1.1
que es el mismo rango que las ips dinamicas que se asginarán

Finalmente levantamos nuestro servidor DHCP

$ sudo /etc/init.d/dhcp3-server start

domingo, 21 de junio de 2009

Teclado Ubuntu: un gadget para los amantes del pingüino

Para los amantes de los sistemas Linux llega un gadget indispensable, se trata de un teclado diseñado para Ubuntu, que incluye teclas de acceso directo con el logotipo del SO (reemplazando al logo de Windows) y tiene un diseño refinado.

Este juguete, delicia de los fanáticos, sólo cuesta 25 dólares y se consigue online a través del sitio zareason.com, que se dedica a fabricar hardware especialmente diseñado para Linux, además de remeras y otros accesorios.

¿Te imaginas presionando la tecla de "Ubuntu" en lugar de la normal de Inicio de los teclados para Windows o Command (la manzanita) de la Mac?

Las características de este gadget son las siguientes:

  • Teclas de acceso directo: "Reproducir (play)/Pausa", "Calculadora", "E-mail", "Internet", "Bajar volumen", "Subir volumen" y "Silenciar".
  • Diseño resistente a derrames accidentales de líquidos.
  • Bordes redondeados, hot keys plateadas, diseño ergonómico.
  • Durabilidad, por estar fabricado a partir del teclado Logitech Internet 350 USB.
  • Dos teclas de "Ubuntu" al lado de cada "alt".

¡No te lo puedes perder!

Fuente: elwebmaster.com