domingo, 26 de abril de 2009

Instalando Jaunty Jackalope en un Asus EEE PC 2G - FLISOL 2009


Durante la flisol 2009 en Santiago, me acerqué a una persona, Marcelo, que buscaba quien le instalara una distro de linux diferente a la que venía con su Asus eee pc 2G. Para ver las specs de su netbook en detalle, pueden hacer click aquí y compararlo con los otros eee en el mercado.




Especificaciones Asus eee pc 2G surf:

CPU: 800 MHz Intel Celeron M ULV @ 571 MHz
Memoria: 512 MB DDR2
Disco duro: 2 GB
Pantalla: 15.25cm x 9.15cm (6 x 3.6 pulgadas) ¡Pequeña!
Sistema operativo original: Xandros (Debian fork)

Marcelo no estaba contento con la version de Xandros que venía predeterminada en su netbook, puesto que no le permitía descargar actualizaciones de ningúna clase, ni configurar libremente sus aplicaciones o sistema operativo. En pocas palabras, lo decribió como "Fisher-Price Linux".

Instalar ubuntu en este Asus presentó muchas diferencias inesperadas con respecto a laptops y computadores convencionales, incluso netbooks más nuevos. La primera traba fue el no-reconocimiento de la BIOS a mi Ubuntu live-usb (Si no era obvio o no sabía, los netbooks no tienen drive para CD o DVD). Es inútil cambiar el boot-order, puesto que medios de usb no están considerados como boot-able en esta lista.

En cambio, cuando nos aparece esta splash-screen inicial, debemos oprimir el boton Esc para instar la BIOS a bootear desde el pendrive. Primera traba superada.

Nuestro segundo tropiezo ocurrió porque tuvimos una version de escritorio de ubuntu en el pendrive. Dado que el Asus eee 2G tiene, precisamente, 2 gigabytes de disco duro, la instalación ubuntu-desktop no es conveniente, porque ubuntu-desktop trae consigo 1.4 gigabytes de aplicaciones, entre ellas OpenOffice, Evolution, Gimp, y Gnome. Como el livecd (o en nuestro caso, live-usb) de Ubuntu no nos permite escoger cuales aplicaciones cargar u omitir si no una vez instalado el sistema operativo, una solución es instalar la versión para servidores.

Ubuntu server tiene la ventaja de brindar un control específico sobre cuáles paquetes uno desea instalar en la máquina. A diferencia de la versión para escritorios, estamos ante un entorno de texto, pero las opciones que tenemos son prácticamente las mismas que el Livecd que conocemos. Cuando aparecen las opciones de los paquetes que queremos instalar, el usuario experimentado puede armar su sistema a gusto. Al instalador novicio le conviene aceptar los programas predeterminados, ya que la aplicación de instalación siempre instala un sistema básico por defecto.

No olvide tener su equipo conectado a una red desde el principio, o el installer no reconocerá su tarjeta de red y tendrá problemas para configurar su tarjeta y bajar el resto de los componentes después. Yo cometi este error y debí comenzar de cero.

Al reiniciar el netbook, estamos ante un command prompt, sin interfaz gráfica alguna, pero tenemos aptitude. Lo primero que hicimos fue instalar X, la aplicación que permite la representación gráfica de los programas, mediante el siguiente comando:
sudo apt-get install xserver-xorg-core

El paquete no es pequeño así que hágase de calma. (Si el espacio es muy importante, puede usar aptitude ahora, o synaptic después, para borrar los drivers de xserver innecesarios para su tarjeta de video específica) Una vez instalado, xserver nos permite tener un entorno gráfico. Como teníamos poco espacio, escogimos el entorno más liviano de entre los grandes tres: XFCE. Lo instalamos usando aptitude tipeando simplemente:
sudo apt-get install xfce4

Xfce pesa más que xserver, así que vaya con calma a hacerse un té. Y ya tenemos el entorno gráfico. El problema es que xfce no es un programa que se pueda llamar desde el command line sin más. Debimos luego instalar GDM, o gnome display manager, el cual maneja las sesiones de usuarios y nos permite entrar en el entorno gráfico automáticamente al bootear. (otras opciones son KDM para kde y XDM para X. Elegi gdm por ser la opción más atractiva y "user friendly", además mi usuario no tenía mucha experiencia con linux). Escribimos:
sudo apt-get install gdm

Luego reiniciamos y, en nuestro caso, teníamos una pantalla de login, un escritorio de xfce predeterminado y ninguna aplicación. Las funciones de un pc como el eee 2G son reducidas y dependen de su tamaño y potencia. Marcelo usaba su eee para navegar por la web y dar presentaciones en powerpoint en sus clases de sicología social en la Universiad Arcis. Determinamos, el dueño y yo, las cosas esenciales que nos faltaban:

Gestor de paquetes Synaptic
Wifi
Web browser
Sonido
Hoja de calculo
Procesador de textos
Presentaciones
Calculadora
Iconos


Elegimos, entonces, las siguientes aplicaciones respectivas. (Entre paréntesis ponemos el nombre que reconoce apt-get para instalar la aplicación)

Synaptic (synaptic)
Network manager (network-manager)
Firefox (firefox)
Pulse Audio (libpulse0, libpulse-browse0, libpulsecore9, pulseaudio, pulseaudio-module-hal, pulseaudio-module-x11)
Gnumeric (gnumeric)
Abiword (abiword)
Presentaciones: No instalamos nada para esta necesidad (oops), pero lo más recomendable es usar la aplicación de presentaciones google, que no necesita ser instalada.
Gnome Calculator (gcalctool)
Iconos xfce (xfce4-icon-theme)


Estos son los pasos que seguimos para este caso específico, un sistema muy liviano con lo mínimo en espacio y software para un netbook igualmente liviano y mínimo de espacio. Si fuera necesario, podríamos prescindir de abiword y gnumeric al preferir las aplicaciones web que ofrece Google. Lamentablemente, terminamos muy tarde porque teníamos una conexión de internet relativamente lenta, y, al terminar, no se me ocurrió averiguar finalmente cuánta memoria habíamos usado en el disco duro de Marcelo. Claramente eran menos de 2 gigabytes, y el método seguramente servirá a quienes desean instalar Jaunty en computadores con especificaciones bajas.

-Fernando M.

domingo, 15 de marzo de 2009

Cómo programar tareas automáticas usando Crontab o Gnome Schedule

Fuente: Ubuntu Documentation. Man

En caso de querer programar una tarea podemos usar Crontab o, en su defecto, Gnome Schedule, que no es más que una interfaz gráfica de la primera. Para entender cómo funcionan ambas herramientas es necesario tener claro qué es cron y su relación con crontab:

Cron es un demonio, es decir, es un proceso que se ejecuta en segundo plano, sin interactuar con el usuario, que es usado para programar tareas que serán ejecutadas en un tiempo específico. Por otra parte, crontab es un archivo de texto y cada usuario posee el suyo. En este archivo el usuario puede especificar el momento en que se ejecutará una determinada tarea. Es así como en el interior del archivo crontab se encuentra una lista de comandos y sus respectivos tiempos de ejecución. Ambos factores son controlados por el demonio cron y son llevados a cabo en segundo plano por el sistema. De igual manera, el sistema también posee un crontab, en donde se especifica una serie de tareas que son realizadas de forma regular.

Como usuario puedes usar cron de dos maneras: editando el archivo crontab o mediante Gnome Schedule.

Editando el archivo crontab
Primero, para editar crontab, en el terminal escribes:
crontab -e

Se te pedirá que escojas un editor. Yo he escogido nano. La pantalla que verás será parecida a esta:



Como podrás ver se trata de un archivo cuyo contenido se limita a una linea antecedida por el signo #. Ello nos indica que se trata de un comentario y será ignorado por el sistema. Este comentario cumple la función de orientarnos respecto al formato que deben respetar las entradas que agreguemos en el archivo. Como puedes ver, la entrada típica de crontab cumple con el formato:
[m] [h] [dom] [mon] [dow] [command]

Una manera de no olvidar lo que cada parámetro significa es entendiendo su significado:

Parámetro Significado Rango

m minute (minuto) 0-59
h hour (hora) 0-23
dom day of month (día del mes) 1-31
mon month (mes) 1-12
dow day of week (día de la semana) 0-6 (0=Domingo)
command command (comando)

Por lo tanto, en caso de dudas basta con mirar la primera línea de nuestro archivo para saber qué parámetro incluir sin la necesidad de memorizar nada.
Veamos un ejemplo práctico. Supongamos que tienes un script que respalda nuestra colección Amarok. Supongamos que su ruta es /home/usuario/Script/amarok/backup_coleccion_amarok. En caso de que deseemos ejecutarlo el primero de cada mes, a las 4 de la tarde, escribimos la siguiente entrada en nuestro archivo:
* 16 1 * * /home/usuario/Script/amarok/backup_coleccion_amarok

Cuando el parámetro del día de la semana (dow) y el correspondiente al día del mes (dom) son ingresados, basta que uno de los dos se cumpla para que la tarea se ejecute. Por lo tanto, si queremos que el script corra el primero de cada mes, además de todos los lunes, en ambos casos a las 4 de la tarde, escribimos:
* 16 1 * 1 /home/usuario/Script/amarok/backup_coleccion_amarok

Es posible especificar rangos de números para cada parámetros escribiendo dos números separados por un guión. Además puedes ingresar listas de números separándolos por comas. Ambos formatos pueden convivir en un mismo parámetro. Por lo tanto, en caso de que desees que el script se corra el primero de cada mes, a la vez que todos los días 5, 6 y 7 de cada mes, siempre a las 4 de la tarde, la entrada quedaría así:
* 16 1,5-7 * * /home/usuario/Script/amarok/backup_coleccion_amarok

También puedes especificar pasos (steps) con el fin de saltarte determinados números. Cada paso afecta a la unidad de tiempo al que se asocia. Para ello es necesario escribir:
‘‘/número’’

Supongamos que deseas que el script se ejecute cada tres horas el primero de cada mes a partir de las 4 de la tarde:
* ‘‘16-23/3‘‘ 1 * * /home/usuario/Script/amarok/backup_coleccion_amarok

En caso de que desees ver la lista de tareas que hayas programado escribes en el terminal:
crontab -l

Para borrar tu crontab escribes:
crontab -r


Utilizando Gnome Schedule
Es posible instalarl Gnome Schedule con Synaptic o escribiendo en el terminal:
sudo apt-get install gnome-schedule

Una vez instalado puedes correrlo desde Aplicaciones-->Herramientas del sistema-->Tareas programadas. Te aparecerá una ventana parecida a esta:



Si presionas en el botón Nuevo se te preguntará qué tipo de tarea deseas añadir:



Básicamente son tres opciones: tareas que se ejecutan periódicamente, tareas que se ejecutan una sola vez y usar una programación predefinida anteriormente.
Supongamos que quieres ejecutar el script el primero de cada mes, a las 4 de la tarde. Escoges la primera opción. Luego basta hacer click en la opción Advanced y anotar los datos necesarios:



Como podrás ver es posible en este punto guardar la programación de la tarea en caso de que quieras utilizarla posteriormente escogiendo la opción Add as template.
Una vez programada la tarea esta habrá de aparecer en la ventana principal:



Ojo que Gnome-Scheduler no es otra cosa que una interfaz gráfica para editar nuestro archivo crontab. Por lo tanto, si ejecutamos el comando crontab -l podemos ver que la tarea está programada y en caso de necesidad, podemos modificar la entrada editando el archivo de texto.

domingo, 1 de marzo de 2009

Cómo hacer respaldos automáticos de tu colección Amarok 1.4 con base de datos MySQL

Fuente: Wiki Amarok

Para el siguiente proceso de respaldo se asume que antes has configurado correctamente tu colección Amarok para que use una base de datos MySQL.

A continuación tienes dos script que realizarán todo el proceso de respaldo y restauración. El primero respalda de manera automática, con la frecuencia que tú determines, toda tu colección de música. El segundo cumple la función de restaurar tu colección sin perder tus etiquetas, carátulas, etc. incluso en caso de reinstalar todo el sistema.

El script de respaldo

El script de respaldo lo puedes encontrar acá.

1. El script de respaldo guarda una copia de:
  • La base de datos MySQL.
  • El archivo amarokrc.
  • Las listas dinámicas, inteligentes y estáticas.
  • Las carátulas de los discos.
  • Los temas del navegador de contexto.

2. Los respaldos se guardan en ~/backup dentro de una carpeta cuyo nombre corresponde a la fecha del respaldo según el formato día-mes-año.

3. Antes de que el script se ejecute debe ser modificado, cambiando según corresponda:
  • [Línea 9] El nombre de la base de datos MySQL.
  • [Línea 12] El nombre del usuario MySQL.
  • [Línea 13] El password MySQL.
4. En caso de que lo desees puedes modificar la ruta de los siguientes elementos (sólo necesario en caso de una instalación no estándar):
  • [Línea 16] El archivo amarokrc.
  • [Línea 19] Las listas dinámicas.
  • [Línea 22] Las listas inteligentes.
  • [Línea 28] Las listas estáticas.
  • [Línea 25] Las carátulas de los discos.
  • [Línea 31] Los temas del navegador de contexto.
5. En caso de que desees no respaldar algún elemento basta con comentar la linea correspondiente anteponiendo el signo #.

6. Si ejecutas el script más de una vez el mismo día (en caso de ejecución manual) se te preguntará si deseas sobreescribir los archivos anteriormente guardados (Atención: esto no ocurre en el caso de las caratulas, los temas del navegador de contexto y las listas estáticas)

7. Para que este script corra de manera automática debes utilizar la herramienta crontab.

El script de restauración

El script de restauración lo puedes encontrar acá.

1. Antes de que el script se ejecute debe ser modificado, cambiando según corresponda:
  • [Línea 33] El nombre del usuario MySQL (en el script se asume USUARIO) y el nombre de la base de datos (en el script se asume amarok)
2. Es posible modificar la ruta de los siguientes elementos (sólo necesario en caso de una instalación no estándar):
  • [Línea 15] El archivo amarokrc.
  • [Línea 9] Las listas dinámicas.
  • [Línea 12] Las listas inteligentes.
  • [Línea 21] Las listas estáticas.
  • [Línea 18] Las caratulas de los discos.
  • [Línea 24] Los temas del navegador de contexto.

3. En el momento de restaurar la colección se te pedirá el password del root MySQL.

4. Se te pedirá que ingreses la fecha del respaldo a restaurar en el orden día-mes-año.

5. Las listas estáticas serán restauradas, pero deberás importarlas posteriormente desde Amarok para que el programa las reconozca.

6. Se asume que este script se ejecuta de manera manual cuando sea necesario.

7. En caso de que sea necesario volver a otorgar los permisos al usuario MySQL debes escribir en el terminal:
mysql -p -u root
GRANT ALL ON amarok.* TO amarok@localhost IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;
QUIT;

Donde la sintaxis de la instrucción GRANT significa:
GRANT [permisos] ON [base_datos].[tabla] TO [usuario]@[host_de_conexión] IDENTIFIED BY '[password para el usuario]'
Otra forma de hacerlo es con MySQL Administrator.

8. En caso de que desees no restaurar algún elemento basta con comentar la linea correspondiente anteponiendo el signo #.

viernes, 20 de febrero de 2009

Vaciar la papelera en Intrepid cuando no tenemos los permisos para ello

Si algún archivo se resiste a ser eliminado de la papelera, aludiendo a que te faltan los permisos necesarios, lo más fácil es eliminarlo haciendo uso de sudo. Escribes en el terminal:
sudo rm -rf ~/.local/share/Trash/files/*

y listo.

jueves, 5 de febrero de 2009

Amarok 1.4.10 no accede a Wikipedia

Fuente: foros.ubuntu-cl.org, launchpad.

Desde hace un tiempo Amarok 1.4 tiene problemas para mostrar la información de Wikipedia. Lamentablemente el equipo de desarrollo de Amarok está actualmente concentrando todos sus esfuerzos en Amarok 2.0 por lo que no hay programada una nueva versión de Amarok 1.4. Sin embargo no todo está perdido, es posible hacer que las cosas vuelvan a la normalidad gracias a nuestro amigo janitux que ha conseguido empaquetar una versión parchada de Amarok, la cual no tiene problemas con Wikipedia. Basta con descargar el paquete e instalarlo. Puedes bajarlo de acá:
http://janitux.boaboa.org/etc/amarok_1.4.10-0ubuntu3_i386.deb

También deberás descargar los siguientes archivos:

http://launchpadlibrarian.net/18512791/amarok-common_1.4.10-0ubuntu3_all.deb

http://launchpadlibrarian.net/18512794/amarok-engine-xine_1.4.10-0ubuntu3_i386.deb

http://launchpadlibrarian.net/18512795/amarok-engine-yauap_1.4.10-0ubuntu3_i386.deb

La instalación debe hacerse en el siguiente orden: amarok-common, amarok-engine-xine, amarok-engine-yauap, amarok 1.4.10.

Luego de instalados los paquetes el Gestor de actualizaciones te avisará que hay actualizaciones disponibles. Sin embargo si instalas los paquetes sugeridos perderás el parche. Debes procurar que los paquetes no se actualicen, al mismo tiempo que debes conseguir que el sistema no siga avisando que existe esa actualización. Para ello debes escribir en el terminal:
$ sudo -s
# echo amarok hold| sudo dpkg --set-selections
# echo amarok-common hold|dpkg --set-selections
# echo amarok-engine-xine hold|dpkg --set-selections
# echo amarok-engine-yauap hold|dpkg --set-selections

IMPORTANTE: Las actualizaciones de los paquetes son necesarias para solucionar problemas de seguridad. Es necesario tener en cuenta este hecho antes de realizar este método.

Cómo instalar nuevos temas en XFce


Fuente: wiki.xfce.org

Existen 4 diferentes tipos de temas en XFce: los que corresponden al decorado de ventanas, los GTK+interfaces, los cursores del mouse y los iconos. Es posible descargarlos desde xfce-look.org

Para cambiar el decorado de ventanas:
Los decorados de ventanas (xfwm4) se extraen en el directorio ~/.themes
Si deseas que los puedan usar todos los usuarios debes extraerlos en /usr/share/themes
Tienes que asegurarte de que los tema se extraigan de la forma ~/.theme//xfwm4/

Cambiar GTK+ interfaces
Estos temas controlan los botones, campos de textos, es decir, prácticamente todo lo que está en el interior de las ventanas. Algunos requieren archivos adicionales para que puedan ser usados (theme engine) y tienes que preocuparte de instalarlos. Otros simplemente funcionan al instalarlos. En general es algo que el diseñador te dice en las indicaciones de instalación.
Se extraen en el directorio ~/.themes
Si deseas que los puedan usar todos los usuarios debes extraerlos en /usr/share/themes
Tienes que asegurarte de que los tema se extraigan de la forma ~/.themes//gtk-2.0/gtkrc

Cursores
Extrae el tema en ~/.icons
Para que lo puedan usar todos los usuarios se extraen en /share/icons
Tienes que asegurarte de que los temas se extraigan de la forma ./icons//cursors

Iconos
Extrae el tema en ~/.icons
Para que los puedan usar todos los usuarios se extraen en /share/icons
Se recomienda tener siempre instalado el paquete hicolor-icon-theme para solucionar posibles problemas, como temas incompletos, etc.

miércoles, 4 de febrero de 2009

Agregando GNOME Utilities a XFce

Fuentes: live.gnome.org, ¿Cómo arreglé eso?, El Blog de Jabba.

Si tienen Xubuntu o cualquier otra distro que venga con Xfce instalado por defecto (como Zenwalk, que fue la distro que use para llevar a cabo esta entrada) las utilidades de GNOME no vienen instaladas. Para acceder a ellas debes instalar el paquete gnome-utils. En el terminal debes escribir:

sudo aptitude install gnome-utils


Este paquete incorpora una serie de utilidades que el entorno XFce no tiene por defecto:

baobab
Analizador de uso de disco. Herramienta gráfica que analiza el uso del disco. Puede escanear todo el árbol del sistema de ficheros o un fichero en particular, ya sea local o remoto. Autodetecta en tiempo real cualquier cambio que se haga a tu directorio home y en cualquier dispositivo que sea montado o desmontado.

gnome-system-log
Es un visor de sucesos del sistema

gnome-search-tool
Es un buscador de archivos. Es posible agregar en el menú Places del panel de XFce la opción de buscar archivos con este programa. Basta con con hacer click con el botón derecho sobre el menú y escoger la opción Propiedades. Luego en donde dice Search escribes gnome-search-tool:



Con eso la opción de búsqueda de archivos debiera agregarse a tu menú.

gnome-dictionary
El diccionario de GNOME

gfloppy
Utilidad para dar formato a diskettes

gnome-screenshot
Capturador de pantalla. Es posible asignarle una combinación de teclas en Preferencias de teclado. En Xubuntu se enceuntra en Aplicaciones/Configuración/Administrador de configuración/Keyboard. En otros sistemas lo encontraremos en Menú Xfce/Configuración/Configuración del teclado:



Una vez allí escogemos la pestaña Atajo. Haciendo click en el botón Añadir nos pedirá que ingresemos el comando para el cual queremos añadir una combinación de teclas. Acá es recomendable separar la captura de todo el escritorio de la captura de la ventana activa. Si queremos designar un atajo para la captura de todo el escritorio debemos ingresar el comando gnome-screenshot. Luego, cuando se nos pida la combinación de teclas escojemos la que más nos acomode. Por ejemplo podemos asignarle la tecla ImprPant. Si queremos asignar un atajo a la captura de la ventana activa debemos ingresar el comando gnome-screenshot -w y luego ingresamos una combinación de teclas diferente, como Alt+ImpPant, por ejemplo.