Mostrando entradas con la etiqueta optimizacion. Mostrar todas las entradas
Mostrando entradas con la etiqueta optimizacion. Mostrar todas las entradas

25 nov 2014

Monta un escritorio ligero en 5 minutos: LXQt

LXQt es un escritorio ligero basado en el código de RazorQt pero con la filosofía de LXDE. Usa Openbox como gestor de ventanas y ofrece compatibilidad con la librería Qt 5.0, por lo que se lleva mejor con las aplicaciones de KDE que con las de Gnome.

Escritorio LXQt

En este artículo veremos con instalar, ajustar y adaptar el escritorio a nuestras necesidades, hasta formar un entorno ligero, rápido y funcional, perfecto para sacar el máximo partido a máquinas con recursos limitados o que soportan una gran carga de trabajo.


  • Instalación
La versión más actual de LXQt es la 0.8.0 y podéis encontrarla en el PPA de Lubuntu:
sudo add-apt-repository ppa:lubuntu-dev/lubuntu-daily
sudo apt-get update
sudo apt-get install lxqt-metapackage


  • Iniciar sesión y configuración
Para iniciar sesión con el nuevo escritorio sal de tu sesión actual y entra seleccionando el tipo de sesión LXQt session en tu gestor de login.

Una vez iniciado el escritorio abriremos el panel de control desde Menú - Preferencias - Centro de configuración LXQt, dondepodremos ajustar todo el funcionamiento del sistema.

Cuadro de diálogo para configurar el aspecto de LXQt


Los aspectos más importantes a tener en cuenta serán el gestor de ventanas (en este artículo usaré OpenBox, aunque si ya tenéis KDE podéis usar KWin), los módulos de LXQt que se ejecutarán al iniciar, el tema, la tipografía y las demás opciones visuales.


  • Integración con aplicaciones Qt
Podemos mejorar el aspecto de las aplicaciones que usan la librería Qt desde el cuadro de diálogo qtconfig
sudo apt-get -y install qt4-qtconfig ; qtconfig

Cuadro de diálogo para configurar el aspecto de las aplicaciones Qt

Desde aquí podremos configurar el aspecto de las aplicaciones nativas de LXQt y del resto de aplicaciones basadas en la librería Qt.

  • Integración con aplicaciones GTK
Las aplicaciones que usan la librería GTK se ven francamente mal, para solucionar esto podemos forzar el cambio de tema a uno que encaje mejor con LXQt, por ejemplo yo voy a usar Oxygen-GTK:
sudo apt-get install gtk-chtheme gtk2-engines-oxygen-gtk gtk3-engines-oxygen-gtk ; gtk-chtheme

Cuadro de diáologo para configurar el aspecto de las aplicaciones GTK

  • Complementos y aplicaciones sugeridas
Podemos completar nuestro nuevo escritorio LXQt con algunas aplicaciones que le quedan especialmente bien.

Como navegador web sencillo y basado en la librería Qt podemos usar QupZilla
sudo apt-get install qupzilla

Navegador web QupZilla
 
Un buen reproductor de audio es Yarock
sudo add-apt-repository ppa:samrog131/ppa
sudo apt-get update
sudo apt-get install yarock

Reproductor multimedia Yarock

Reproductores de video podeis elegir entre SMPlayer o VLC, los dos son buenos y muy completos
sudo apt-get install smplayer vlc

Hay un visor de imágenes a pantalla completa escrito en Qt que seguro os gustará
sudo add-apt-repository ppa:samrog131/ppa
sudo apt-get update 

sudo apt-get install photoqt

Visor de imágenes PhotoQT

  • Más información
LXQt Home page
LXQt 0.8.0 en WebUpd8

  • Artículos relacionados
Monta un escritorio ligero en 5 minutos: RazorQt
Monta un escritorio ligero en 5 minutos: OpenBox

20 feb 2012

Monta un escritorio ligero en 5 minutos: RazorQt

Hace poco vimos cómo montar un escritorio ligero basado en OpenBox, esta vez veremos una opción diferente, igualmente sencilla pero basada en las librerías Qt y que por tanto se llevará mejor con las aplicaciones y opciones del escritorio KDE.

A diferencia de OpenBox, RazorQt es un entorno de escritorio, y puede ser configurado para usar cualquier gestor de ventanas que tengamos instalado en el sistema (incluyendo OpenBox), aunque con el que conseguiremos mejores resultados es con el gestor de ventanas de KDE kwin

El resultado final será un escritorio completo, limpio y funcional con un consumo de recursos muy bajo (unos 30 mb de ram en total).

Escritorio RazorQt


  • Instalar los paquetes necesarios
Todos los paquetes necesarios están incluidos en un PPA, así que su instalación es muy sencilla:
sudo add-apt-repository ppa:razor-qt 
sudo apt-get update 
sudo apt-get install razorqt

  • Inicio de sesión y configuración
Para poder usar RazorQt sólo tendremos que cerrar la sesión actual y volver a hacer login usando el tipo de sesión Razor.


Escritorio RazorQt 

Lo primero que se nos preguntará es qué gestor de ventanas queremos usar, podéis elegir el que más os guste, luego podremos cambiarlo desde las opciones de Razor.

Una vez iniciado el entorno vemos que Razor consta de un completo panel, un menú principal, un cambiador de aplicaciones (al que se accede con la combinación de teclas Alt+Tab), un lanzador de comandos (aparece al apretar Alt+F2), un sencillo gestor de escritorio y un panel de control.

Cambiador de aplicaciones
Lanzador de comandos

El panel de control está dividido en 3 partes: sesión, escritorio y opciones de Razor.

Opciones de RazorQt


Configuración de la sesión

Editor de escritorio
  • Integración con KDE
Si ya tienes instalado KDE en tu sistema simplemente elige el gestor de ventanas kwin desde la ventana de Opciones de sesión. Si no tienes KDE pero quieres usar su gestor de ventanas usa el comando:
sudo apt-get install kde-window-manager

Nota: este comando instalará una gran cantidad de librerías de KDE.

Las ventajas que conseguiremos con esto es que RazorQt usará un tema visual mucho más agradable a la vista y si tenemos los efectos visuales activados en KDE también estarán disponibles en RazorQt.

RazorQt mostrando los efectos Opacidad y Transparencia de Kwin

Puedes configurar los efectos de escritorio de KDE con el comando:
kcmshell4 --icon preferences-system-windows kwincompositing

  • Integración con Qt

También podemos mejorar el aspecto de las aplicaciones Qt y de los propios menús de Razor con qtconfig:
sudo apt-get install qt4-qtconfig && qtconfig

La misma ventana capturada antes y después de modificar las opciones de Qt:

 

  • Integración con Gnome
Vamos a cargar las opciones de Gnome desde el incio de RazorQt. Pulsamos en Menu - Preferencias - RazorQt settings - Configuración de sesiones Razor - Autostart - Razor Autostart - Add. Veremos un cuadro de diálogo donde introduciremos los siguientes datos:
Nombre: Opciones de Gnome
Comando: /usr/lib/gnome-settings-daemon/gnome-settings-daemon


Cerramos sesión y volvemos a entrar para aplicar los cambios.

La misma ventana capturada antes y después de la integración con las opciones de Gnome:


  • Más información
RazorQt home page http://razor-qt.org/

  • Artículos relacionados
Monta un escritorio ligero en 5 minutos: OpenBox

6 feb 2012

Monta un escritorio ligero en 5 minutos: OpenBox

Esta semana montaremos un escritorio liviano pero completo, perfecto para máquinas virtuales, ordenadores con pocos recursos o usuarios exigentes que quieren dar el máximo de recursos a sus aplicaciones y no al sistema.

Resumiendo lo que vamos a hacer es usar el gestor de ventanas OpenBox complementado con una barra de tareas (Tint2), un lanzador de aplicaciones y comandos (gmrun) y un monitor de sistema (conky) que nos ayudará a comprobar el mínimo consumo de este escritorio.

El resultado final será un escritorio limpio, funcional y con un consumo de recursos mínimo.

Escritorio OpenBox


  • Instalamos los paquetes necesarios

Todo lo que vamos a usar está en los repositorios oficiales de Ubuntu, no se reuqiere ningún repositorio extra ni PPA:
sudo apt-get install openbox obconf obmenu gmrun conky hsetroot tint2

En detalle:
openbox: gestor de ventanas
obconf: panel de configuración
obmenu: editor de menús
gmrun: lanzador de aplicaciones y comandos
conky: monitor de sistema
hsetroot: establece el fondo de pantalla
tint2: barra de tareas

Además tendremos que generar un índice de aplicaciones para poder acceder a ellas desde el menú de openbox con la orden:
ln -s /var/lib/openbox/debian-menu.xml ~/.config/openbox/debian-menu.xml


  • Archivos de configuración

Para evitaros tener que editar manualmente los archivos de configuración he colgado los míos, podéis descargarlos (y modificarlos) a vuestro gusto:

autostart.sh: órdenes a realizar al iniciar la sesión openbox, guarda el archivo en ~/.config/openbox/
rc.xml: definición de los menús de openbox, guarda el archivo en ~/.config/openbox/
conkyrc: configuración del monitor de sistema conky, renombra el archivo a .conkyrc (el "." es necesario) y guárdalo en ~
Bauhaus.ttf: la tipografía usada en conky, guárdala en ~/.fonts/
iLocke.jpg: el wallpaper (puedes usar cualquier otra imagen pero tendrás que cambiar la linea hsetroot del archivo autostart.sh), guárdalo en ~/Imágenes/


  • Iniciar sesión

Ya sólo nos queda cerrar la sesión actual y desde el Login Manager elegir el tipo de sesión OpenBox.


  • Más información

Openbox http://openbox.org/
Tint2 http://code.google.com/p/tint2/
Gmrun http://sourceforge.net/projects/gmrun/


  • Artículos relacionados


OpenBox, un gestor de ventanas ultraligero
BMPanel, un panel ultraligero
PCmanfm, un gestor de ficheros ultraligero
Conky, un monitor de sistema ultraligero
Utilidades de escritorio ultraligeras

28 jun 2010

Probando el nuevo sistema de ficheros Btrfs en Ubuntu

Btrfs es un nuevo sistema de ficheros soportado por Linux, que se centra en incorporar las funciones más avanzadas, tolerancia a fallos y reparación sencilla.

En este artículo veremos cuales son las características principales del sistema de ficheros Btrfs, como usarlo en Ubuntu 10.10 y finalmente una serie de pruebas de rendimiento para ver que tal se porta.


  • Caracterísitcas destacadas
  1. Soporte extents
  2. Compresión de datos
  3. Desfragmentación automática
  4. Comprobación con el sistema montado
  5. Backups incrementales
  6. Comprobacion de integridad de datos
  7. Subvolúmenes
  8. Copy-on-write
  9. Tamaño máximo de archivo 16EiB (16 millones de terabytes)
  10. Máximo número de archivos 2^64 (18.446.744.073 mil millones de archivos)
Podeis ver una lista más completa en http://es.wikipedia.org/wiki/Btrfs#Features

  • Instalación de Ubuntu 10.10 alternate (daily build)
Vamos a aprovechar que las nuevas ISOs alternate de Maverick ya soportan btrfs desde la instalación para instalar el sistema directamente en una particion btrfs. Puedes descargar esta ISO de http://cdimage.ubuntu.com/daily/current/:


Soporte btrfs en Ubuntu 10.10

Una vez instalado comprobaremos el soporte Btrfs con:
$ dmesg | grep -i btrfs
[ 2.516098] Btrfs loaded


Y el correcto formato de nuestra partición Btrfs con:
$ mount | grep btrfs
/dev/sda7 on /media/btrfs type btrfs (rw)


  • Crear un sistema de ficheros btrfs
Si no hemos creado una partición de tipo Btrfs durante la instalación podemos hacerlo después. Para las pruebas yo usaré /dev/sda7, usa cualquier partición libre que tengas:
$ sudo mkfs -t btrfs /dev/sda7

WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using

fs created label (null) on /dev/sda7
nodesize 4096 leafsize 4096 sectorsize 4096 size 10.08GB
Btrfs Btrfs v0.19


También podemos convertir directamente una partición de tipo ext3/ext4 directamente a Btrfs sin perder los datos que contiene con la orden (de nuevo hago las pruebas con la partición /dev/sda7):
$ sudo btrfs-convert /dev/sda7
creating btrfs metadata.
creating ext2fs image file.
cleaning up system chunk.
conversion complete.


  • Usar las herramientas para gestionar particiones btrfs
Listar las particiones Btrfs locales:
$ sudo btrfs-show

Analizar un sistema de ficheros Btrfs (con la partición desmontada):
$ sudo btrfsck /dev/sda7

  • Las pruebas
Para las pruebas he preparado 3 particiones: una de tipo ext4, una de tipo reiserfs y una de tipo btrfs de 10Gb cada una. Sobre cada una de ellas he ejecutado pruebas que evalúan la velocidad de creación y eliminación de archivos, copia de un archivo grande y multiples archivos pequeños, compresión y descompresión de datos.

Los resultados son los siguientes: (todos los resultados en segundos excepto la primera prueba)


BTRFS REISERFS EXT4
Creación de ficheros 1Gb (en Mb/s) 71,9 66,6 59,25
Copia de 1 archivo 2Gb 61,43 65,34 66,075
Copia de 1 archivo 2Gb (misma partición) 69,14 67,395 68,76
Copia de múltiples archivos 4Gb 261,03 268,1 275,11
Copia de múltiples archivos 4Gb (misma partición) 147,84 210,42 244,585
Comprimir 4Gb 165,29 224,115 268,18
Descomprimir 4Gb 98,825 84,105 97,77
Borrar 4Gb 36,915 11,605 13,02

Para los que no se os dé bien interpretar números aquí dejo unas cuantas gráficas que se entienden mejor:


  • Conclusiones
De los anteriores resultados se extrae que el sistema Btrfs funciona realmente bien, de las 8 pruebas realizadas supera a reiserfs y ext4 en 5 de ellas (creación de archivos, copia de un archivo, copia de múltiples archivos, copia de múltiples archivos dentro de la misma partición y compresión de archivos).

En 2 pruebas los resultados son similares en los 3 sistemas (copia de un archivo dentro de la misma partición y descompresión de archivos)

Como dato curioso (y negativo) ha tardado casi tres veces más que ext4 en borrar un directorio completo con sus 4Gb de archivos. Habría que investigar por qué está pasando esto.

  • Más información
http://es.wikipedia.org/wiki/Btrfs
http://btrfs.wiki.kernel.org/index.php/Main_Page


  • Artículos relacionados
Usar el nuevo sistema de ficheros ext4 en Ubuntu

19 abr 2010

Optimiza el área de visión en los NetBook

Cada vez son más los usuarios de estos pequeños pero potentes dispositivos y cada vez son más las personas que los usamos con Ubuntu. Uno de sus puntos fuertes es su pequeño tamaño, pero esto a la vez es su mayor desventaja, con pantallas de entre 9 y 11" y resoluciones de 800x600 a 1024x600, cada milimetro de pantalla que podamos ganar será bienvenido.

En este artículo vamos a ver una serie de trucos y opciones encaminados a sacar el máximo partido a estas pequeñas pantallas y reducir todo lo posible el área ocupada por el sistema. Algunos de estos trucos serán aplicables a vuestro NetBook, otros no, que cada uno decida cuales quiere y puede usar y cuales no. Espero que os sirvan de ayuda.

  • Ajusta la configuración de Gnome
Reduce el tamaño de las fuentes del sistema de los 10 puntos por defecto a 8 puntos:
gconftool-2 --set /apps/nautilus/preferences/desktop_font --type string "Sans 8"
gconftool-2 --set /desktop/gnome/interface/document_font_name --type string "Sans 8"
gconftool-2 --set /desktop/gnome/interface/font_name --type string "Sans 8"
gconftool-2 --set /apps/metacity/general/titlebar_font --type string "Sans Bold 8"
gconftool-2 --set /desktop/gnome/interface/monospace_font_name --type string "Monospace 8"


Reduce el tamaño de los paneles a 18 puntos:
gconftool-2 --set /apps/panel/toplevels/top_panel_screen0/size --type integer 18
gconftool-2 --set /apps/panel/toplevels/bottom_panel_screen0/size --type integer 18


  • Applets que aumentan el área de visión
Existen numerosos applet del panel de Gnome diseñados para aprovechar al máximo la pantalla de cualquier dispositivo, vamos a ver como sacar provecho de algunos de ellos.

El menú principal de Gnome ocupa mucho espacio en el panel pero podemos cambiarlo por otro applet mucho más compacto y que ofrece la misma funcionalidad. Elimina el applet Barra de menús y añade el applet Menú principal

Espacio ocupado por los applets Barra de menús y Menú principal respectivamente

El applet Global menú muestra la barra de menús de cada aplicación dentro del panel de Gnome, ahorrando el espacio que ocupa esta barra en cada aplicación. Además este applet sirve como lista de ventana y cambiador de aplicaciones, ahorrando aún más espacio en el panel. Para instalar este applet usa la orden:
sudo aptitude install gnome-applet-globalmenu

Global menú

El applet Window Applets muestra la barra de título y los botones de control de la ventana dentro del panel de Gnome, ahorrando el espacio que ocupa esta barra en cada aplicación. Teneis los paquetes para Ubuntu e instrucciones de uso en Window Applets GNOME-Look.org

Window Applets

  • Ejecución de programas a pantalla completa
Algunos programas tienen en sus menús la opción de ejecutarse a pantalla completa ahorrando así el espacio reservado para el panel, la barra de título de la ventana y los docks. Para activar esta función en todas las aplicaciones y asignarle la combinación de teclas Alt+F11:

Si nuestro gestor de ventanas es Metacity con la orden:
gconftool-2 --set /apps/metacity/window_keybindings/toggle_fullscreen --type string "<Alt>F11"

Si nuestro gestor de ventanas es Compiz desde el menú:
Sistema - Preferencias - Administrador de Opciones CompizConfig - Acciones del administrador de ventanas extra - Habilitar o deshabilitar Pantalla completa - <Alt>F11

Administrador de Opciones CompizConfig

Si nuestro gestor de ventanas es KDE (kwin):
Clic con el botón derecho en la barra de título - Avanzado - Pantalla completa

Kwin a pantalla completa

  • Conecta un monitor de mayor tamaño
Una buena manera de ganar espacio de visión es conectar un monitor externo, cualquier viejo 14" que tengais por ahi servirá, pero evidentemente cuanto mayor sea mejor. En mi caso le he conectado un monitor de 19" que permite una resolución de 1440x900 pixels.

Desde el menú Sistema - Preferencias - Pantalla podemos elegir la resolución de cada monitor por separado, la posición relativa de los 2 monitores si es que queremos usarlos a la vez y cual está encendido y apagado en cada momento.

Sistema - Preferencias - Pantalla

De esta manera podemos conseguir difernetes disposiciones: que la imagen aparezca por un solo monitor, que se muestre lo mismo en los dos monitores o fusionar las dos pantallas en un solo escritorio.

Escritorio compuesto: arriba la pantalla del netbook, abajo la pantalla externa

  • Docks
Aunque el uso de docks no es recomendable en pantallas pequeñas hay algunos usuarios que no quieren renunciar a estos útiles gadgets. Si vais a usar un dock intentad seguir estas recomendaciones:
  1. Mantened el dock de pequeño tamaño
  2. Usad opciones de ocultación automática

El dock Gnome-do a tamaño 24 y ocultación inteligente

  • Más información
EeePC - Community Ubuntu Documentation
Window Applets GNOME-Look.org

  • Artículos relacionados
Ubuntu 9.10 Karmic Koala en el NetBook EeePC 1005H...

12 abr 2010

Compiz + Nouveau en Lucid Lynx Beta2

Ahora que todos nos hemos enterado de la salida de la Beta2 de Ubuntu Lucid Lynx vamos a ver como usamos una de sus principales novedades, el driver libre para las gráficas de nVidia, nouveau, junto con compiz.

Por defecto el driver nouveau nos ofrece la extensión Composite, responsable de gran cantidad de mejoras estéticas (transparencias, ventanas redondas, docks...) pero no permite la activación de compiz. Vamos a ver ahora paso a paso como activar este soporte.

Nota: este artículo ha sido posible gracias a la colaboración de los usuarios del canal #ubuntu+1 de la red IRC-Hispano (irc.irc-hispano.org).

  • Identificar nuestra gráfica
Para conocer el modelo exacto de nuestra gráfica usaremos la orden:
lspci | grep -i vga

Con el chipset que nos muestre podemos ir a la página nouveau Wiki - CodeNames para comprobar el estado de desarrollo y características soportadas. A nivel general hay soporte 2D para todos los modelos de nVidia, y soporte 3D para todos los modelos de la serie NV40 (GeForce6 y GeForce7) en adelante.

  • Añadir repositorios e instalar paquetes
Una vez comprobado que nuestro modelo de nVidia tiene soporte 3D con el driver nouveau (modelos Geforce6 y superiores) tenemos que instalar el sistema gráfico modificado y el driver parcheado para poder soportar compiz.

Abrimos la aplicacion Sistema - Administración - Orígenes del software y en la pestaña Otro software añadiremos los repositorios de Xorg Edgers, que son:
deb http://ppa.launchpad.net/xorg-edgers/ubuntu lucid main
deb-src http://ppa.launchpad.net/xorg-edgers/ubuntu lucid main


Cerramos la aplicación y recargamos los repositorios para actualizar la base de datos. Ahora instalaremos los programas necesarios con la orden:
sudo aptitude update && sudo aptitude dist-upgrade && sudo aptitude install nouveau-firmware

Esta orden actualiza la base de datos, instala los nuevos paquetes de Xorg, libDRI y nouveau y finalmente instala el paquete de actualización de firmwares para que nouveau reconozca bien todos los modelos de nvidia (en general este ultimo paquete no es necesario, pero no hará ningún daño instalarlo).

Tras esto reiniciamos el sistema para que se carguen los nuevos drivers nouveau:
sudo reboot

Tras la carga del entorno gráfico comprobaremos que el soporte 3D por hardware está activo con la orden:
glxinfo | grep -i render

Si tenemos aceleración 3D por hardware veremos algo parecido a esto:
direct rendering: Yes
OpenGL renderer string: Gallium 0.4 on NV84
GL_NV_blend_square, GL_NV_conditional_render, GL_NV_light_max_exponent,


En caso de no tener aceleración 3D veremos algo parecido a esto:
direct rendering: Yes
OpenGL renderer string: Software Rasterizer


  • Iniciar compiz
Si tenemos aceleración 3D por hardware ya podemos pasar a iniciar compiz con la orden:
compiz --replace &

Y comprobamos que funciona activando cualquiera de los plugins de compiz. Por ejemplo yo he activado el cubo:

Plugin desktop cube usando compiz + nouveau

En caso de que funcione podemos dejar compiz activo para todas las sesiones desde la aplicación Sistema - Preferencias - Apariencia en la pestaña Efectos visuales y marcando la opción Extra o Personalizado


Si queremos configurar el comportamiento de los efectos usaremos la aplicación Sistema - Preferencias - Administrador de Opciones CompizConfig:


Teneis muchas indicaciones sobre la configuración de compiz en la serie de artículos Compiz a fondo

  • Tests de rendimiento
Aunque no hay una manera estándar de analizar el rendimiento del 3D he hecho una serie de comparaciones sobre el mismo hardware usando Karmic + driver propietario de nvidia y Lucid + nouveau, os dejo los resultados en forma de tabla para que juzgueis vosotros mismos.

Test

Nouveau

Driver propietario

glxgears

1633,05 fps

7132,80 fps

Compiz Benchmark

500 fps

600 fps

GL Tron

110 fps

950 fps


Por los resultados podemos decir que para los efectos de escritorio nouveau se porta más o menos igual que el controlador propietario de nvidia, pero en el tema de juegos OpenGL aun está lejos de igualar su rendimiento.

  • Más información
Nouveau
Compiz

  • Artículos relacionados
Instalando Lucid Lynx Alpha2
Aceleración 3D con nvidia en Ubuntu Jaunty alpha3
Compiz a fondo

16 nov 2009

Compilar el kernel (2.6.31.6)

El kernel es el núcleo del sistema, compilar el kernel no es una tarea sencilla ni mucho menos necesaria. Las distribuciones actuales proveen kernels genéricos preparados para ejecutarse sobre una gran variedad de hardware sin problemas y con una buena colección de módulos para mejorar aun más este soporte.

Sin embargo, compilar el kernel puede ser útil en ciertas circunstancias, como por ejemplo:
  1. Activar funciones no activadas por defecto en el kernel de la distribución
  2. Usar opciones experimentales
  3. Mantener el kernel actualizado
  4. Optimizar/ajustar el kernel a nuestro hardware
  5. Por el placer de aprender

Si no necesitas hacer nada de lo anterior te recomiendo que no compiles el kernel manualmente. En mi caso lo he hecho para poder activar el nuevo sistema de ficheros experimental btrfs, sobre el que hablaremos en el próximo artículo.

  • Instalar las fuentes
El kernel se distribuye en forma de código fuente que podemos encontrar en http://www.kernel.org

Descargaremos y descomprimimos la versión más actual (la 2.6.31.6 a día de hoy) con la orden:
$ wget -c ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.6.tar.bz2
$ tar xvfj
linux-2.6.31.6.tar.bz2

Si no lo hemos hecho aun, necesitaremos instalar algunos paquetes para poder compilar:
$ sudo aptitude install build-essential libncurses5-dev


  • Configurar las opciones
Usaremos la configuración del kernel actual como base para la configuración del nuevo:
$ cp /boot/config-`uname -r` ~/linux-2.6.31.6/.config

Ahora lanzaremos el menu de configuración del kernel:
$ cd ~/linux-2.6.31.6/ && make menuconfig

Menu de configuración de las opciones del kernel

Nota: si teneis errores diciendo que falta alguna libreria, compilador o utilidad de desarrollo, la instalais y volveis a lanzar el comando.

Nota: existen varios tipos de menús de configuración del kernel, tanto gráficos como en modo texto. En el archivo README del kernel teneis una explicación más detallada.

No voy a alargarme aquí explicando todas las pantallas y opciones pero os recomiendo que os tomeis vuestro tiempo, leais la ayuda y ajusteis al máximo las opciones a vuestro sistema. Un buen consejo es que si no sabemos lo que hace una opción es mejor no tocarla.

  • Compilar kernel y módulos
Para compilar el kernel, una vez repasadas las opciones:
$ make

Empezaremos a ver mensajes por pantalla que nos informan del progreso de la compilación. En función de la potencia del hardware y de las opciones marcadas en el kernel este proceso puede tardar mucho rato (en mi sistema tardó 1 hora 40 minutos en compilar el kernel y los módulos con las opciones por defecto).

Para instalarlo ejecutaremos:
$ sudo make install modules_install

Generamos un archivo initrd con:
$ sudo update-initramfs -c -k 2.6.31.6

Los módulos quedarán instalados en /lib/modules/2.6.31.6, el kernel y el archivo initrd en /boot/vmlinuz-2.6.31.6 y /boot/initrd.img-2.6.31.6 respectivamente.


  • Actualizar grub1 (Versiones 9.04 y anteriores)
Ahora vamos a crear una entrada en el menu del grub para poder elejir el nuevo kernel:
$ sudo gedit /boot/grub/menu.lst

Recomiendo duplicar la sección de Ubuntu cambiando el número del archivo del kernel y la linea initrd por los nuevos), en mi caso por ejemplo quedó así (resalto los cambios que he hecho en rojo para que lo veais mejor):

[...]
title Ubuntu Jaunty 9.04
root (hd0,1)
kernel /boot/vmlinuz-2.6.28-16-generic root=/dev/sda2 ro splash locale=es_ES vga=792
initrd /boot/initrd.img-2.6.28-16-generic
quiet

title
Linux 2.6.31.6 - manual
root (hd0,1)
kernel
/boot/vmlinuz-2.6.31.6 root=/dev/sda2 ro splash locale=es_ES vga=792
initrd
/boot/initrd.img-2.6.31.6
quiet
[...]


La parte que he añadido es la segunda, y el resto del archivo de configuración del grub se deja sin alterar.

Una vez guardardo el archivo reiniciamos y seleccionamos el nuevo kernel, si todo ha ido bien ejecutamos uname -r y veremos algo así:

$ uname -r
2.6.31.6


  • Actualizar grub2 (Versiones 9.10 y posteriores)
En el caso de que estemos usando grub2 (versiones Karmic y posteriores de Ubuntu) la forma de modificar el menú de arranque es algo diferente.

Primero editaremos el archivo de opciones generales de grub para asegurarnos de que aparece el menu de selección de sistema operativo y que tenemos tiempo de elegir el nuevo kernel (si en tu sistema ya se muestra el menu de grub2 saltate este paso):

$ gksu gedit /etc/default/grub

Y nos aseguraremos de comentar (poniendo un "#" delante) la linea:
#GRUB_HIDDEN_TIMEOUT=0

Como el nuevo formato de configuración no es muy conocido yo os recomiendo que saqueis una copia de una de las entradas actuales de vuestro grub leyendo el archivo /boot/grub/grub.cfg. En mi caso las siguientes lineas corresponden a una entrada en el menu:

menuentry "Ubuntu, Linux 2.6.31-14-generic" {
recordfail=1
save_env recordfail
set quiet=1
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set fcc3f8cd-346f-4337-b75d-dff91753f1d3
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=fcc3f8cd-346f-4337-b75d-dff91753f1d3 ro quiet splash
initrd /boot/initrd.img-2.6.31-14-generic
}

Nota: los identificadores de particiones y los nombres de archivo serán diferentes en cada caso, usad los vuestros, no copieis estos!

Ahora añadiremos la entrada manual copiando la información anterior al final del archivo /etc/grub.d/40_custom y modificando los nombres del archivo del kernel y del initrd por los que hemos creado nostotros:
$ gksu gedit /etc/grub.d/40_custom

En mi caso al final del archivo añadí estas lineas (resalto los cambios que he hecho en rojo para que lo veais mejor):
menuentry "Linux 2.6.31.6 - manual" {
recordfail=1
save_env recordfail
set quiet=1
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set fcc3f8cd-346f-4337-b75d-dff91753f1d3
linux /boot/vmlinuz-2.6.31.6 root=UUID=fcc3f8cd-346f-4337-b75d-dff91753f1d3 ro quiet splash
initrd /boot/initrd.img-2.6.31.6
}

Como veis lo único que he cambiado es la etiqueta de la entrada, la referencia al archivo del kernel y al archivo del initrd.

Finalmente actualizaremos el grub2 con la orden:
$ sudo update-grub

Debemos ver que aparece el nuevo kernel que hemos introducido, reiniciamos y seleccionamos el nuevo kernel, si todo ha ido bien ejecutamos uname -r y veremos algo así:

$ uname -r
2.6.31.6


  • Más información
http://www.kernel.org
Como compilar el kernel de ubuntu

  • Artículos relacionados
Compilar el kernel (2.6.25)

12 ene 2009

Conky a fondo (Segunda parte)

Continuamos con el artículo en profundidad sobre conky, el fabuloso monitor de sistema. Veremos como cargar scripts externos a conky aumentando sus capacidades, como hacerle ejecutar diferentes comandos de sistema y finalizaremos la configuración de nuestra versión personalizada de conky.


Para todos los que no os funcionan los enlaces de descarga dejo un paquete con las fuentes, los scripts y la configuración de conky.

Sólo teneís que descomprimirlo en vuestro home con:
$ tar xvfj script_conky.tar.bz2

Y después directamente ejecutar conky con:
$ conky &

http://www.megaupload.com/?d=M8IE282H


  • Sección red
En esta sección mostraremos todos los datos relativos a nuestra red, con información sobre velocidades, totales transmitidos y cobertura wifi. El código es este:

RED ${hr 2}

${voffset -6}${font PizzaDude Bullets:size=14}O${font} Up: ${upspeed ath0} kb/s ${alignr}${upspeedgraph ath0 8,60}
${voffset 4}${font PizzaDude Bullets:size=14}U${font} Down: ${downspeed ath0} kb/s ${alignr}${downspeedgraph ath0 8,60}
${voffset 4}${font PizzaDude Bullets:size=14}N${font} Upload: ${alignr}${totalup ath0}
${voffset 4}${font PizzaDude Bullets:size=14}T${font} Download: ${alignr}${totaldown ath0}
${voffset 4}${font PizzaDude Bullets:size=14}Z${font} Señal: ${wireless_link_qual ath0}% ${alignr}${wireless_link_bar 8,60 ath0}


Los comandos de conky usados y sus prámetros son:
upspeed "interfaz" = muestra numéricamente la velocidad de subida del interfaz seleccionado
downspeed "interfaz" = muestra numéricamente la velocidad de descarga
upspeedgraph
"altura,anchura interfaz" = muestra gráficamente la velocidad de subida
downspeedgraph "altura,anchura interfaz" = muestra gráficamente la velocidad de descarga
totalup "interfaz" = muestra la cantitdad total de datos enviados
totaldown "interfaz" = muestra la cantidad total de datos recibidos
wireless_link_qual "interfaz" = muestra el % de señal numéricamente
wireless_link_bar "altura,anchura interfaz" = muestra el % de señal gráficamente


  • Sección Temperaturas
En esta sección mostraremos el estado interno de diferentes componentes de nuestro PC (no todos los sistemas pueden mostrar las mismas informaciones) y también usaremos un script externo para mostrar la temperatura exterior (ver "Gestión de Scripts" en este artículo para saber más).

El código es el siguiente:
TEMPERATURAS ${hr 2}
${font Weather:style=Bold:size=14}y ${font}Procesador: ${alignr}${hwmon 1 temp 1} / ${alignr}${hwmon 1 temp 3} C
${font Weather:style=Bold:size=14}y ${font}Placa base: ${alignr}${hwmon 2 temp 3} C
${font Weather:style=Bold:size=14}y ${font}Disco duro: ${alignr}${execi 20 hddtemp /dev/sda | cut -c28-32}
${font Weather:style=Bold:size=14}y ${font}Gráfica: ${alignr}${execi 10 nvidia-settings -q=GPUCoreTemp | grep 0.0 | cut -c 47-48} C
${font Weather:style=Bold:size=14}y ${font}Temperatura exterior: ${alignr}${execi 1800 ~/.scripts/weather/weather.sh SPXX0015}


Los comandos de conky usados y sus prámetros son:
hwmon x temp y = lee la temperatura "y" del sensor "x"

Para saber que hay que poner en "x" e "y" lo mejor es recurrir al man, aqui os pongo un fragmento:

hwmon (dev) type n
Hwmon sensor from sysfs (Linux 2.6). Parameter dev may be omit‐
ted if you have only one hwmon device. Parameter type is either
’in’ or ’vol’ meaning voltage; ’fan’ meaning fan; ’temp’ (Cel‐
sius) or ’tempf’ (Fahrenheit) meaning temperature. Parameter n
is number of the sensor. See /sys/class/hwmon/ on your local
computer.

Para entender como obtengo las temperaturas del disco duro y de la gráfica ver "Ejecutar comandos del sistema" más adelante en este artículo. Para entender como obtengo la temperatura exterior ver
"Gestión de Scripts" más adelante en este artículo.


  • Sección Correo
Esta sección consta de una llamada a un script externo que nos mostrará información sobre las llegadas de nuevos mensajes a nuestra bandeja de entrada de Gmail (ver "Gestión de Scripts" en este artículo para saber más).

El código es este:
CORREO ${hr 2}
${font MarVoSym:style=Bold:size=14}B ${font}Gmail: ${alignr}${execi 300 python ~/.scripts/gmail.py}




  • Gestión de fuentes personalizadas
Si queremos usar fuentes personalizadas en conky es tan sencillo como poner la fuente en cuestión dentro del directorio ~/.fonts e indicarle a conky que la use con las directrices:

xftfont nombre_fuente:size=tamaño_fuente = establece la fuente por defecto, se define en la sección de opciones generales del archivo .conkyrc
${font nombre_fuente:size=tamaño_fuente} = establece la fuente que se usará para un determinado indicador
${font} = deja de usar la fuente anterior y vuelve a usar la fuente por defecto

Gracias a esto podemos simular el uso de iconos gráficos en conky, usando en realidad caracteres normales de fuentes concretas.

Algunas fuentes muy útiles son OpenLogos (logotipos libres de distribuciones y más), StyleBats (dibujos esquemáticos, en mi caso los he usado para representar partes del sistema como CPU o RAM), Pie charts for maps (perfectos para representar discos y particiones), PizzaDude bullets (indicadores simples, ideales para las funciones de red), Weather (muy buena para temperaturas y scripts que consultan las condiciones climáticas).

Todas estas fuentes están incluidas en el archivo conkyrc-fosco_.tar.gz


  • Gestión de scripts
Los scripts añaden funcionalidades extra a conky (por ejemplo control multimedia, lectores de noticias, gestores de correo, consultas climáticas...), vamos a ver el ejemplo de los dos scripts que yo he usado: el que da la temperatura exterior y el que avisa de la llegada de correo.

Pondremos los scripts que necesitemos en ~/.scripts y los invocaremos desde conky con las directrices

Los scripts para el Gmail y para el clima estan incluidos en el archivo conkyrc-fosco_.tar.gz

Para configurar el script de gmail introduciremos nuestro nombre de usuario y contraseña en el archivo gmail.py.

Para configurar el script del clima solo tendremos que poner el código de localización correcto (SPXX0015 en mi caso) en la linea:
${font Weather:style=Bold:size=14}y ${font}Temperatura exterior: ${alignr}${execi 1800 ~/.scripts/weather/weather.sh SPXX0015}

del archivo .conkyrc. Para saber el código correcto entrad en la dirección http://xoap.weather.com/search/search?where=tu_ciudad, substituyendo "tu_ciudad" por el nombre de tu ciudad.


  • Ejecutar comandos del sistema
Podemos ejecutar comandos del sistema y mostrar en conky su resultado usando una estructura del tipo:
${execi "segundos comando"} = ejecuta el "comando" y lo repite cada "segundos"

Por ejemplo:
${execi 3600 curl www.whatismyip.org} = muestra nuestra IP externa y la comprueba cada hora (3600 segundos)


  • Artículos relacionados
Conky, un monitor de sistema ultraligero
Conky a fondo (Primera parte)


  • Enlaces de interés
http://conky.sourceforge.net/
http://screenlets.org/index.php/WaterMark
Visitas