10 cosas que hacer tras instalar Ubuntu

El principal motivo por el que utilizar Ubuntu Linux es que se trata del sistema más adaptable, económico y productivo que existe actualmente. Por supuesto, cada uno tiene sus propios motivos para optar por su propio sistema operativo. Existen aplicaciones sin las que no podemos trabajar, y en ocasiones esas aplicaciones te atan a un sistema en concreto. Y la vida es demasiado corta. Yo llevo meses trabajando con Ubuntu Studio, una adaptación de Ubuntu para la creación multimedia, la cual te instala de serie todas las aplicaciones que necesitas para el trabajo con audio y vídeo, más el kernel realtime que te permite sacarle el máximo rendimiento a tu instalación de escritorio.

Aún recién instalado el sistema, podría no estar listo para funcionar a tope. He aquí 10 cosas que deberías hacer para adaptar una nueva instalación de Ubuntu a tus necesidades.

  1.     $ sudo aptitude install sbackup
        

    Nada más terrible que perder tus datos importantes; imágenes, mensajes de correo, música, documentos, etc. El comando instala Simple Backup Suite, una genial solución para copias de seguridad en escritorio. Puedes seleccionar qué directorios quieres salvaguardar —backup completo o incremental— y luego transferir esas copias a un almacenamiento externo. Si juegas mucho con tu máquina romperás cosas a menudo. Con sbackup puedes tener la confianza de que podrás recuperar tus datos aún si has de reinstalar una aplicación o, peor aún, el sistema operativo completo.

  2.     $ sudo aptitude install ubuntu-restricted-extras && sudo aptitude install w64codecs
        

    Como te gusta la música, el vídeo, y los contenidos multimedia, probablemente querrás un conjunto completo de codecs para reproducir cualquier formato de medios, aún aquellos con problemas de patentes. Podrías necesitar añadir repositorios externos como medibuntu o EMA Tech. Ah, si tu sistema es de 32 bits instala w32codecs en lugar de w64codecs.

  3.     $ sudo apt-get install msttcorefonts && sudo fc-cache -fv
        

    En muchas ocasiones es recomendable disponer de las mismas fuentes que los usuarios de Windows, tanto si eres diseñador web como si dispones de documentos creados con aplicaciones de Microsoft.

  4.     $ sudo aptitude install mplayer
        

    Para no andar con aplicaciones distintas para reproducir distintos formatos multimedia, mejor instalar una aplicación que pueda con todo. Como alternativa a mplayer tienes VLC, el cual te permite incluso difundir tus medios a otros ordenadores en tu red o incluso a la televisión.

  5.     $ sudo aptitude install k3b
        

    Aún el usuario convencido de GNOME estará de acuerdo en que K3b es la mejor aplicación para quemar tus CDs y DVDs. La interfaz es condenadamente intuitiva y fácil de utilizar.

  6. Activa el sonido surround. Para hacerlo con PulseAudio basta con editar /etc/pulse/daemon.conf y cambiar la línea que dice:
      ; default-sample-channels = 2
      

    por

      default-sample-channels = 6
      
  7. Utiliza la tecla Windows.

    Muchos son más productivos utilizando atajos de teclado en lugar del ratón. Afortunadamente hay una forma fácil de convertir la tecla Windows en la tecla Ubuntu.

    Visita Sistema, Preferencias, Combinaciones de teclas. Busca «Show the panel’s main menu» Verás que se indica «Combinación nueva…»

    Pulsa ahora la tecla Windows, cierra el cuadro de diálogo y comprueba que dicha tecla ahora activa el menú de aplicaciones.

    Por supuesto, ahora que sabes hacerlo, redefine todo el teclado a tu gusto.

  8. Haz que gedit recuerde más documentos

    Si utilizas gedit para editar rápidamente documentos, puedes cambiar el número de documentos recientemente abiertos que recuerda para ahorrarte en lo posible andar navegando por el sistema de ficheros. Haz:

      $ sudo gconf-editor
      

    En la ventana que aparece selecciona apps, gedit2, preferences, ui, recent y ahora cambia max_recents de 5 a 10. O los que necesites.

  9. Aumenta la velocidad de tu sistema con CPU multi núcleo

    Si haces esto en un sistema con sólo una CPU sólo lo ralentizarás. Si tienes una CPU multi core, puedes hacer que los servicios arranquen en paralelo. Edita como root el fichero /etc/init.d/rc y cambia CONCURRENCY=none por CONCURRENCY=shell. Reinicia el sistema.

  10. Utiliza aplicaciones para otro sistema operativo.

    La virtualización es la solución. Ya no necesitas WINE ni reiniciar en otro sistema operativo. Mejor utiliza VirtualBox. QEMU también es magnífico, aunque quizás algo más experimental.

      $ sudo aptitude install virtualbox
      

    Un truco extra

    Ésta es una forma rápida de desinstalar un paquete .deb:

      sudo dpkg -r nombre_paquete
      

    De una idea de Ubuntu Linux Help. Gracias linuxnetbook.

Vorbis Theora, listo para YouTube

Maik Merten

Tal y como Greg Maxwell apuntó recientemente, parece que Theora puede ya competir con otros formatos utiliados para distribuir contenidos de vídeo online. Ha comparado la salida generada por el mecanismo de codificación de YouTube con salida generada por el nuevo codificador Theora —en el momento de escribir esto libtheora 1.1alpha2 es la última versión—. El resultado, a grandes rasgos, es que Theora ofrece un rendimiento similar al de cualquier otro codificador utilizado actualmente en YouTube. Esto quiere decir que los servicios de streaming pueden ya utilizar tecnología abierta sin penalización en bitrate o calidad comparando con sus configuraciones actuales.

Esto no quiere decir que H.264 como formato deje de ser el líder en rendimiento. Lo que quiere decir es que H.264 —aka. MPEG-4 o DivX— cuando se utiliza en un sistema donde debe primar lo económico procesando además grandes cantidades de contenido —necesitando de ahí ofrecer un balance aceptable entre calidad y velocidad de codificación— no es el líder en rendimiento que se cree habitualmente. Un formato menos sofisticado con un codificador inteligente puede ofrecer una solución razonable cuando hay que considerar eficacia en la compresión, velocidad y costes de licencias.

La comparativa de Greg utilizaba contenidos generados por ordenador. La mía intenta dar otro punto de vista con contenidos «normales».

La fuente del vídeo para mi pequeño experimento es una entrevista con Fred von Lohmann sobre industrias de medios y DRM. Se trata de «un tío hablando» así que de lejos es el material más sofisticado con el que poner a prueba un codificador. Pero por lo mismo no creo que ninguno de los codificadores probados encuentre que se trata de material especialmente fácil o difícil, así que me parece un trato justo. Además, «tíos hablando» es de lo que más te encuentras en las plataformas de streaming.

El contenido original era un MPEG-2 a 1440×1080. Lo desentrelacé y lo escalé a 1280×720, y volví a codificarlo a MPEG-2 con mencoder. El resultado es este fichero.

Lo subí a YouTube y luego lo descargué usando una extensión para Firefox llamada DownloadHelper. Luego codifiqué el fichero de entrada con Theora a la misma resolución y bitrate usando ffmpeg2theora y la revisión SVN 16142 de Thusnelda, el nuevo codificador Theora. Opté por establecer la frecuencia de marcos a 170 —comparando con los 250 de la comparativa de Greg— y usé el modo de codificación gestionado por bitrate, lo que quiere decir que el resultado no es VBR sino ABR. Esto tiene cierto impacto en la calidad pero asegura que no hay picos de bitrate, algo deseable cuando preparas material para streaming.

Las líneas de comandos ffmpeg2theora usadas son:

  ffmpeg2theora -K 170 -V 465 -a 0 -x 480 -y 270 input.mpg
  

y

  ffmpeg2theora -K 170 -V 2050 -a 0 input.mpg
  

El parámetro -a 0 en ambos casos devuelve audio Vorbis a aprox. 64 Kbps, lo que considero adecuado para lo que necesito dado el buen rendimiento de Vorbis. Para un bitrate combinado de audio y vídeo de aprox. 500 a 530 Kbps nunca elegiría un bitrate de audio mayor que ese. Y para contenido en alta definición a 2 Mbps no hay en realidad diferencia por unos cuantos Kbps de más en el audio. De todas formas me aseguré de que el tamaño del fichero de salida fuese similar al del descargado de YouTube.

Sobre elegir la frecuencia de marcos a 170 —son 6,8 segundos—. En la actualidad el codificador Thusnelda, en fase alfa, directamente acopla la gestión de bitrate a la frecuencia de marcos. Cuando haya una API que permita ajustar ambos parámetros por separado los valores más típicos pasarían a ser de 3 a 5 segundos para la frecuencia de marcos y posiblemente 8 a 10 segundos para la ventana de gestión de bitrate, para estar mejor adecuados a los buffers en el lado de cliente.

Resultados

En las siguientes secciones las capturas de pantalla son del marco 300 en los vídeos. Parece haber un desplazamiento de un marco entre la codificación de YouTube y la mía —a pesar de usar la misma entrada—. El marco 301 de YouTube coincide con mi marco 300 en la salida de Theora, así que cojo ese marco 301 del fichero de YouTube.

480×270

YouTube ~529 Kbps combinado, H.264, descargar (~33,5 MB)

Theora, descargar (~33,2 MB)

A mis ojos ambas codificaciones parecen la misma aunque —quizás de forma inesperada— Theora parece conservar más detalle en la cara, la camisa y el pelo. En esta sencilla prueba con esta configuración declaro ganador a Theora sobre el H.264 de YouTube.

1280×720

—Las capturas de pantalla son demasiado grandes para ponerlas aquí.—

YouTube ~2135 Kbps combinado, H.264, descargar (~134,9 MB)
Theora, descargar (~133,9 MB)

Mucho mejor dado que ambas codificaciones parecen iguales y uno tiene que mirar con cuidado —¡utiliza para esto los vídeos, no las capturas de pantalla!— para notar alguna diferencia. Yo diría que la codificación H.264 de YouTube me presenta algo más de detalle en la camisa, así que ante mis hojos puede que el H.264 de YouTube sea algo mejor que Theora en este caso. Otros a los que he preguntado no han sido capaces de ver diferencias. No importa en realidad.

Mi conclusión personal resulta ser la misma que la de Greg. Es posible ya utilizar Theora para ofrecer streaming en la red sin inflar el bitrate ni reducir dramáticamente la calidad comparando con el formato de codificación H.264 que usan los servicios más populares.

Recuerda que mi comparativa no es científica en forma alguna. Pero espero que de un punto de vista válido si estás pensando en qué configuración de streaming ofrecer.

Visto en Xiph.org.

Acceso automático a la clave WEP con kdewallet

Álvaro Márquez me recuerda un problema que afirma que vienen sufriendo todos los usuarios de Kubuntu, su distribución favorita, en su versión 9.04. El problema es que, al arrancar el sistema operativo, cuando se está utilizando una red inalámbrica, kdewallet solicita la contraseña del repositorio de claves para poder acceder a la correspondiente clave WEP. Para quien esto resulta molesto, deshabilitar este gestor de claves no es una solución dado que en tal caso simplemente no hay acceso a las necesarias para utilizar la red inalámbrica.

A modo de solución, es posible simplemente configurar una contraseña en blanco para el gestor kdewallet. Simplemente abre la cartera de claves, en el menú Archivo selecciona Cambiar contraseña y ahora simplemente pulsa Aceptar. La aplicación accederá ahora a la clave WEP sin molestar al usuario. El truco debería ser válido para cualquier distribución con KDE 4.2.

Por supuesto la solución no se recomienda en equipos compartidos.

Linux no es Windows y no hace falta que lo sea

En el blog Lynx, Dougie Richardson da su voto al mejor comentario realizado durante el Ubuntu’s Open Week. Su elección es por supuesto subjetiva pero no puede negarse que la respuesta de Mark Suttleworth a la pregunta de si WINE —en sí mismo o como sinónimo genérico de compatibilidad con Windows— es más importante en el éxito de Ubuntu que las versiones nativas para Linux de las aplicaciones era provocativa.

La pregunta y la respuesta invitan a razonamientos tangenciales. ¿Qué se espera que te dé un ordenador de escritorio por defecto? Si aplicaciones equivalentes en distintas plataformas tienen las mismas características y la misma funcionalidad, y el contenido producido por una aplicación puede ser abierto y modificado en la otra, ¿no será que las interfaces de usuario, la familiaridad, importa menos? ¿O importa más? Si Microsoft entregase hasta la última línea de código de su sistema operativo a la comunidad ¿cómo cambiaría Windows? ¿Cómo cambiaría Linux? Si necesitas un destornillador de estrella, ¿te apañas con uno plano del mismo tamaño?

(12:24:03 PM) jcastro: jcastro: QUESTION: Do you see Wine (and Windows-compatibilty in general) or native Linux ports as the more important ingredient in the success of Ubuntu, or do they each play an important role?
(12:24:18 PM) sabdfl: they both play an important role
(12:24:30 PM) sabdfl: but fundamentally, the free software ecosystem needs to thrive on its own rules
(12:24:41 PM) sabdfl: it is *different* to the proprietary software universe
(12:24:54 PM) sabdfl: we need to make a success of our own platform on our own terms
(12:25:08 PM) sabdfl: if Linux is just another way to run Windows apps, we can’t win
(12:25:13 PM) sabdfl: OS/2 tried that

Shuttleworth —sabdfl en el chat— está en lo cierto. Linux simplemente no es Windows, ni Windows es Linux, y esperar que dos aproximaciones tan fundamentalmente distintas —no sólo cerrado contra abierto— a la experiencia informática se vean, se sientan y funcionen de la misma forma no tiene sentido.

Dicho esto hay tareas que la gente espera de un ordenador de escritorio. La mayor parte de ellas Linux las resuelve tan bien —en algunos casos mejor— como Windows. En los juegos, probablemente, Windows lleva las de ganar, eso para unos es definitivo y a otros simplemente les trae sin cuidado. Esa es la idea.

Durante muchos años he oído describir a Windows como un sistema operativo la-misma-talla-para-todos. No creo que haya problemas con tomar elementos habituales en Windows y aplicarlos a un entorno abierto si son buenos y útiles. La idea es que Linux no es Windows, es algo distinto, una alternativa clara, real y honesta.

Shuttleworth tiene razón y Linux tiene que ser él mismo —sea lo que sea lo que eso signifique—. Las distintas distribuciones —¿demasiadas? Quizás no, ya que cada uno tiene su favorita— deberían aportar distintas definiciones de ese «él mismo». La interoperabilidad entre plataformas abiertas y cerradas —especialmente en cuanto a formatos de fichero— es crucial, pero es un asunto distinto. Linux no necesita asumir los roles e identidades de su competencia si quiere tener éxito, lo merece por sus propios méritos.

Visto en OStatic vía Slashdot.

/proc/meminfo explicado

«free», «buffer», «swap», «dirty». ¿Qué significan? Si has contestado «un campamento hippy», necesitas un cursillo sobre meminfo.

El contenido de /proc/meminfo ayuda a explicar qué se cuece con el uso de tu memoria, si sabes cómo leerlo.

  $ cat /proc/meminfo
  root:	total:    	used:    	free:  		shared:	buffers:	cached:
  Mem:  	1055760384	1041887232	13873152	0	100417536 	711233536
  Swap: 	1077501952  	8540160 	1068961792

  MemTotal:		1031016 kB
  MemFree:		13548 kB
  MemShared:		0 kB
  Buffers:		98064 kB
  Cached:			692320 kB
  SwapCached:		2244 kB
  Active:			563112 kB
  Inact_dirty:		309584 kB
  Inact_clean:		79508 kB
  Inact_target:		190440 kB
  HighTotal:		130992 kB
  HighFree:		1876 kB
  LowTotal:		900024 kB
  LowFree:		11672 kB
  SwapTotal:		1052248 kB
  SwapFree:		1043908 kB
  Committed_AS:		332340 kB
  

Se aporta la información tanto a alto nivel como en forma de estadísticas de bajo nivel. En la parte superior ves un resumen rápido de los valores más comunes a los que deberías prestar atención. Debajo están los valores individuales que vamos a explicar. Vayamos primero con las estadísticas a alto nivel.

Estadísticas a alto nivel

  • MemTotal: La RAM total utilizable, es decir, la RAM física menos cierto espacio reservado y el tamaño del binario del kernel
  • MemFree: La suma de LowFree y HighFree
  • MemShared: Siempre 0 por motivos de compatibilidad
  • Buffers: La memoria del buffer cache, hoy en día un dato poco útil
  • Cached: La memoria en el caché de disco menos SwapCache
  • SwapCache: La memoria que, una vez enviada al swap fue recuperada pero permanece en el fichero temporal, de forma que si es necesario volver a enviarla al swap ya está allí, ahorrandose E/S

Estadísticas detalladas

Estadísticas VM —máquina virtual—

La VM divide las páginas de caché en memoria activa e inactiva. La idea es que si necesitas memoria y hay que sacrificar caché para obtenerla, la tomas de la región inactiva, dado que es aquella cuyo contenido no se espera que sea necesario. La VM comprueba continuamente lo que se está utilizando y mueve de un lado para otro.

Cuando usas memoria, la CPU activa un big en la tabla de páginas. La VM comprueba ese bit ocasionalmente y basándose en ello devuelve páginas a la región activa. Hay una especie de orden «hace mucho que no se usa» —en realidad por supuesto es más complejo—. Las marcadas así pueden ser movidas a la región inactiva. Dicha región se divide en dos en el kernel utilizado. A veces en tres.

  • Active: Memoria que ha sido utilizada recientemente y que no va a ser reclamada a no ser que sea absolutamente necesario
  • Inact_dirty: Sucio significa «podría necesitar pasar a swap en disco— Es más difícil de liberar. Por ejemplo, ficheros que aún no han sido volcados a disco. No se escriben en memoria demasiado pronto para ahorrar E/S. De nuevo un ejemplo, los ficheros de log no deben ser volcados a disco demasiado pronto, hasta que se tenga la traza completa.
  • Inact_clean: Se asume que es fácilmente liberable, el kernel deja por aquí material limpio para asegurarse algo de espacio
  • Inact_target: Una medida que utiliza el kernel para asegurarse de que hay las suficientes páginas inactivas disponibles. Al pasarse, el kernel no va a hacer trabajo alguno para mover páginas de activas a inactivas. Hay otras formas en las que una página llega a ser inactiva. Por ejemplo, si practicas una E/S secuencial larga el kernel presume que no vas a usar esa memoria y la marca como inactiva preventivamente. De esta forma siempre hay más páginas inactivas de las necesarias dado que el kernel las marca como «probablemente no se usarán nunca—. Es una forma de hacer trampa en el mecanismo explicado de las «últimas utilizadas».

Estadísticas de memoria

  • HighTotal: La cantidad total de memoria en la región alta. Es toda la memoria sobre aprox. 860 MB de RAM física. El kernel utiliza trucos indirectos para acceder a esta región de memoria. Es donde se almacena la caché de datos.
  • LowTotal: La cantidad total de memoria fuera de la región alta
  • LowFree: La cantidad de memoria libre fuera de la región alta. Se trata de la memoria a la que el kernel puede acceder directamente. Todas sus estructuras de datos van aquí, fuera de la región alta.The amount of free memory of the low memory region. This is the memory the kernel can address directly. All kernel datastructures need to go into low memory.
  • SwapTotal: Cantidad total de memoria física en la región de swap.
  • SwapFree: Candidad de memoria libre en la región de swap.
  • Committed_AS: Una estimación de cuánta RAM necesitarías para tener la garantía al 99,9% de que nunca te quedarás sin memoria para la carga de trabajo actual. Normalmente el kernel comprometerá memoria de más. Esto significa que si haces p.ej. un malloc de 1 GB, no ocurre en realidad nada. Sólo cuando empiezas a usar esa memoria se demandará para ti memoria real, y tanta como uses. Es como contratar una hipoteca y esperar que el banco no quiebre. Otros ejemplos son hacer mmap con un fichero compartido sólo cuando escribes en el y obtienes así una copia privada de los datos. Es memoria normalmente compartida entre procesos. La cifra Committed_AS es una estimación de cuanta RAM y swap necesitas en el peor de los casos.

Visto en redhat.com. Gracias, @interslice.

Jaunty + Dust = Sexy!

ubuntu 8.10 jaunty dust sexy

El tema Dust está basado en Clearlooks, de ahí su elegancia, con tonos vistosos y a la vez agradables a la vista. Hay quien afirma que deberá ser el tema por defecto en Ubuntu Jaunty. Está ya sin embargo fácilmente disponible como parte del paquete community-themes. Así pues, simplemente:

  $ sudo apt-get install community-themes
  

Y simplemente dirigirse a System, Preferences, Appearance y elegir el tema.

Visto en Gabuntu. Gracias, @natavery.

Compila tu propio kernel realtime en Debian y Ubuntu

El uso de un kernel modificado con los parches realtime es muy adecuado para sistemas de escritorio, y cabe decir que imprescindible para el creativo multimedia, necesitado de bajas latencias y de la mejor respuesta. Por suerte, hay un gran equipo de gente trabajando en los parches necesarios para transformar un kernel estándar Linux en uno que implemente multitarea apropiativa. Es decir, aquel que permite definir una serie de tareas que van a tener permitido acaparar el tiempo de CPU todo lo que necesiten para asegurar un mejor funcionamiento.

En particular, en el trabajo con audio, permitir un funcionamiento en tiempo real o apropiativo del servidor JACK facilita las latencias más bajas y la ausencia total de artificios en el audio. En el momento en el que JACK necesite la CPU, ninguna otra tarea en el sistema va a competir por ella. Cuando tú tienes el paquete de Donuts en la mano, tus amigos sólo comen los que quieres que coman.

Existe la posibilidad de acceder a un kernel realtime empaquetado en la mayor parte de las distribuciones más populares. Esta explicación te permite disponer de la ultimísima versión del mismo en tu Debian o Ubuntu, sin que necesites esperar a que alguien lo compile y lo empaquete por ti.

Requisitos previos

Asegúrate de que tu usuario es miembro del grupo src ejecutando el comando groups. Si src no aparece entre los grupos listados ejecuta como root:

  # adduser ismael src
  

Sustituye por supuesto ismael por tu nombre de usuario en tu sistema. Ahora reinicia la sesión y vuelve a ejecutar groups para comprobarlo. Esto es necesario para poder trabajar bajo el directorio /usr/src.

  $ groups ismael
  ismael : ismael dialout cdrom floppy audio src video plugdev netdev
  

Si quieres estar pendiente de las novedades en el soporte realtime al kernel Linux, deberías estar suscrito a la lista de correo linux-rt-users en vger.kernel.org. Simplemente envía un mensaje de correo sin asunto a majordomo@vger.kernel.org con el siguiente texto en el cuerpo:

  subscribe linux-rt-users
  

Recibirás mensajes de progreso y confirmación, simplemente sigue el proceso sugerido.

Una vez suscrito, las novedades en la serie preempt-rt del kernel son anunciadas en mensajes de correo recibidos de Thomas Gleixner con un asunto como éste.

  [Announce] 2.6.29.4-rt16
  

Te resultará sencillo filtrar estos mensajes, por ejemplo moviéndolos a una mbox separada o marcándolos con una estrella en Gmail. Explicar la forma de hacer esto queda fuera del alcance de este artículo.

El cuerpo del mensaje contendrá información como ésta.

  We are pleased to announce the next update to our new preempt-rt
  series.

  - rebase to 2.6.29.4 (no conflicts)
  - futex updates (tglx, dvhart)

  Download locations:

  http://rt.et.redhat.com/download/
  http://www.kernel.org/pub/linux/kernel/projects/rt/

  Information on the RT patch can be found at:

  http://rt.wiki.kernel.org/index.php/Main_Page

  to build the 2.6.29.4-rt16 tree, the following patches should be
  applied:

  http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.4.tar.bz2
  http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.29.4-rt16.bz2

  The broken out patches are also available at the same download
  locations.

  Enjoy !

  tglx

  --
  To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
  the body of a message to majordomo@vger.kernel.org
  More majordomo info at  http://vger.kernel.org/majordomo-info.html
  

Descarga y parchea el kernel

Primero descarga el kernel sobre el que hay que aplicar los parches, en nuestro caso el 2.6.29.4.

  $ cd /usr/src
  $ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.4.tar.bz2
  

Y ahora el parche realtime que se está anunciando con el mensaje de correo.

  $ wget http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.29.4-rt16.bz2
  

O bien visita esa URL y mira qué hay de nuevo. Para cuando vayas a compilar, una versión más reciente del parche podría estar disponible.

Descomprime ahora las fuentes del kernel.

  $ tar xvfj linux-2.6.29.4.tar.bz2
  

Y aplica el parche realtime.

  $ cd linux-2.6.29.4
  $ bzcat ../patch-2.6.29.4-rt16.bz2 | patch -p1
  

Configura y compila el kernel

Procede ahora a configurar el kernel.

  $ make clean && make mrproper
  $ cp /boot/config-`uname -r` .config
  $ make menuconfig
  

Visita ahora la opción de menú Processor type and features:

Asegúrate de que High Resolution Timer Support y Symmetric multi-processing support están activados.

En Processor family, elige la CPU de tu sistema.

En Preemption Mode, elige Complete Preemption (Real-Time).

En Timer frequency, selecciona 1000 HZ.

Selecciona Exit y contesta Yes a la pregunta sobre si salvar la configuración del kernel.

Es momento de iniciar la compilación. A la versión del kernel ya le habrá sido añadida la del parche realtime, y como revisión utilizamos el nombre de nuestra máquina —recuerda que hemos elegido nuestra CPU y el kernel podría no ser utilizable en otros ordenadores— y una marca temporal. Construirás la imagen del kernel y el correspondiente paquete con los ficheros de cabecera, necesarios más tarde para compilar tus módulos. Ejecuta make-kpkg, hazte un café, o dos, y vuelve cuando haya terminado.

  $ make-kpkg clean
  $ make-kpkg --rootcmd fakeroot --initrd --revision `hostname -s`~`date +%Y%m%d%H%M` kernel_image kernel_headers
  

Estás ahora haciendo surf sobre la cresta de peligrosas olas. No hay ninguna garantía de que todo va a funcionar bien. De hecho, lo que se espera de ti ahora es que reportes cualquier inconveniente a la lista de correo. El placer de estar siendo el primero en correr algo que a los usuarios de Ubuntu Studio les quedan meses para disfrutar, por supuesto no te lo quita nadie.

Utiliza Cyclictest para medir la respuesta de tu sistema con temporizadores de alta resolución y baja latencia. Deja tus resultados junto con la configuración de tu máquina y la versión del kernel que estás usando en los comentarios.

Sólo para gurús ;)

Si eres usuario de Debian inestable, podrías haber notado que compilar un kernel utilizable se ha complicado en los últimos tiempos, después de las últimas modificaciones de Manoj Srivastava al paquete kernel-package. Resumiendo, Manoj asume ahora que cada empaquetador podría desear elegir su propia forma de crear la imagen initrd con los módulos necesarios para el arranque de la máquina. No se presume si por defecto se va a utilizar initramfs o yaird, o cualquier otra aplicación. De ahí que aunque especifiques –initrd como argumento a make-kpkg, aquella imagen no va a ser creada y te expones a un kernel panic durante el arranque con el nuevo núcleo.

La solución es copiar uno de los scripts de ejemplo proporcionados con el paquete kernel-package al directorio que aloja aquellos a ser ejecutados durante la post instalación del kernel. Por si el update-grub final no se ejecutase en el momento adecuado, es decir, después de que la imagen initrd haya sido creada, copiaremos allí también el ejecutable, modificando los nombres de fichero para elegir su orden de ejecución.

  # cp /usr/share/kernel-package/examples/etc/kernel/postinst.d/initramfs /etc/kernel/postinst.d/40initramfs
  # cp /usr/sbin/update-grub /etc/kernel/postinst.d/99update-grub
  

Ah, si la compilación falla por la ausencia del fichero zlib.h, simplemente instala el paquete zlib1g-dev y prueba de nuevo.

Buenas noches y buena suerte.

Notación musical en Linux

Dave Phillips

Antes de lanzarme al informe, debo añadir unas palabras sobre LilyPond y su especial relación con los programas revisados aquí.

Ya he escrito sobre el asombroso LilyPond en artículos anteriores, y me hace feliz informar de que el proyecto sigue vivo y floreciente, en la versión 2.12 de su rama estable. Las funciones de desarrollo y mantenimiento las lleva a cabo una numerosa comunidad de usuarios y programadores, y se trata de un proyecto maduro. Muchos usuarios se han pasado a LilyPond desde otros populares programas de notación, a pesar de la interfaz basada en texto y la operativa desde línea de comandos. La calidad de la salida de LilyPond es así de atractiva.

Dado que la interfaz está basada en texto ASCII, muchos usuarios buscan una interfaz gráfica alternativa para LilyPond. La mayor parte de los programas presentados en este artículo pueden ser considerados front ends a LilyPond, pero varían en la clase y nivel de soporte a LilyPond. Los hay entornos de edición de texto especializados en notación y secuenciación. En todos los casos LilyPond es el motor que proporciona la capacidad de notación. En algunos casos se requiere cierto conocimiento de LilyPond, mientras que en otros la presencia de LilyPond está oculta por completo al usuario.

Comentarios generales

Programar una aplicación de notación pone en problemas a los desarrolladores. Un programa de notación completo implica un motor gráfico complejo, entrada y salida de audio y MIDI y soporte para importar y exportar una gran variedad de formatos de ficheros. Mas aún, el desarrollador debe decidir si su programa va a servir como ayuda al compositor o simplemente como máquina de escribir del músico. Esta distinción impone importantes aspectos del diseño básico de la aplicación, especialmente a nivel de interfaz de usuario.

Hay paquetes que combinan los dos factores de diseño con éxito, pero la necesidad de esa máquina de escribir de calidad profesional siempre demanda una aplicación dedicada. La música imprimida desde un secuenciador de uso general es útil, pero raramente es favorable la comparación con la salida de una aplicación dedicada como es LilyPond.

Los requisitos esenciales para las aplicaciones de notación incluyen funciones de trazado de partitura, métodos de entrada de datos, paletas de símbolos musicales, soporte para salida de audio y opciones para impresión de la partitura finalizada. Los programas básicos pueden incluir sólo un subconjunto de las características posibles, mientras que aplicaciones más profesionales facilitan un mayor control sobre los detalles del trabajo. Por supuesto que mayor control implica mayor complejidad. Los diseñadores de aplicaciones de notación trabajan duro para compensar la facilidad de uso con una plétora de características.

Considérense las necesidades de distintos tipos de usuario; los compositores de escritorio pueden requerir sólo una paleta de notación simple, pero podrían necesitar soporte para entrada MIDI, desde fichero o desde un teclado, y una representación precisa de ess datos. Compositores avanzados podrían no necesitar MIDI pero características como una amplia paleta de símbolos, extracción de partes, o incluso soporte para la manipulación de partituras desde rutinas programadas en Python u otros lenguajes de propósito general. El mundo comercial del software musical ofrece programas que cubren estas necesidades. Finale y Sibelius son dos de las aplicaciones de notación completas más conocidas en el mundo Windows y Mac, y otras aplicaciones más económicas y con menos características están también disponibles.

En los secuenciadores de audio y MIDI modernos se dispone de notación musical, pero la implementación es necesariamente limitada. Un programa de notación completo tiene que ser una aplicación independiente, aunque debe admitirse que las herramientas de notación en aplicaciones como Cubase o Rosegarden son adecuadas para tareas como las hojas principales, las guías de acordes y para piezas relativamente cortas. Un trabajo más ambicioso puede llevarse a cabo con estos programas, pero sus características de notación son sólo un componente de un diseño multipropósito. Debo señalar que los desarrolladores de Rosegarden han prestado gran atención a sus características de notación, y merece la pena recordar que Rosegarden dispone de exportación al formato LilyPond.

El equipo de pruebas

He elegido un sistema sencillo Ubuntu 8.10 con el kernel 2.6.27-9 como plataforma de pruebas. Mi decisión ha estado influida en parte por la disponibilidad de los paquetes en sus repositorios, donde dispongo además de cualquier utilidad de desarrollo para satisfacer dependencias avanzadas. El soporte realtime en este caso no es obligatorio, aunque en ese caso mejoraría la calidad de la salida de audio.

Denemo

Denemo es a la vez un editor con interfaz de usuario para compositores con editor de partituras LilyPond y un entorno basado en notación para la composición con MIDI. El trabajo reciente en Denemo ha mejorado la interfaz de usuario y la estabilidad general de la aplicación, y en la versión pública 0.8.0 se han añadido muchas nuevas características. El trabajo de desarrollo es intenso y el equipo está siempre abierto a sugerencias para nuevas e incluso inhabituales funciones.

La intefaz de Denemo opta por un sistema de menús en lugar de por paletas gráficas que presenten la colección de símbolos de notación. A primera vista puede pensarse que este diseño impide un trabajo rápido, pero el punto clave para la productividad en Denemo es su uso extensivo de atajos de teclado. Casi cualquier función del programa está disponible desde el teclado del ordenador, y una vez que el usuario se acostumbra a la asignación de atajos, el trabajo es muy rápido.

Es posible la entrada de datos utilizando MIDI, en tiempo real o desde fichero, ya sea un fichero existente de Denemo, una partitura de LilyPond, o incluso audio en tiempo real (!). Además, Denemo puede extenderse mediante el lenguaje de programación Scheme. El usuario puede definir y visualizar nuevas opciones de menú para el programa, dándole así a Denemo una posición única entre los programas de ayuda para LilyPond que se presentan en este artículo. Scheme no es un lenguaje difícil de aprender —es una variedad de Lisp— y aprender al menos un poco facilita un gran poder al usuario de Denemo.

Denemo está repleto de herramientas molonas para compositores. Puedes cambiar entre edición gráfica o basada en texto, se soportan símbolos de acordes para bajo y guitarra, y el soporte a Scheme permitiría incluso la composición algorítmica —para los desarrolladores de Denemo; ¡esto molaría un montón!—. Puedes definir qué aplicaciones externas usarás para reproducir audio y MIDI, incluyendo la remarcable posibilidad de utilizar Csound como motor de audio. Los compositores pueden así acceder a las increibles características de Csound desde una aplicación de notación estándar. El secuenciador Rosegarden puede ser usado también como aplicación de notación para Csound, pero no facilita una conexión con Csouns tan integrada. Denemo es la única aplicación que facilita este tipo de conexión para la salida de audio.

Los ficheros pueden ser cargados y salvados en el formato XML propio de Denemo o en el formato nativo de LilyPond. Es posible también exportar a PDF. En el momento de escribir esto, no se soporta MusicXML para importar o exportar, pero la aplicación musicxml2ly de LilyPond permite la traducción de ficheros entre MusicXML y LilyPond.

Versiones anteriores de Denemo sufrían de problemas de estabilidad, y de una imponente curva de aprendizaje. Me alegra informar de que la estabilidad ya no es unproblema, y de que existe mucho material de referencia actualizado, ficheros de ejemplo y documentación para el usuario.

Frescobaldi

Frescobaldi es una obra de los desarrolladores de la fantástica aplicación lilypond-kde4. Frescobaldi no es en sí mismo un editor de notación. Más bien facilita un entorno especializado para editar partituras en el formato nativo basado en texto de LilyPond. Facilita amenidades como resaltado de sintaxis, ayuda inmediata —tanto para LilyPond como para el propio Frescobaldi— y previsualización de la partitura. La interfaz de usuario está refinada, es atractiva, y el programa se domina sin dificultad.

El último Frescobaldi requiere de KDE4 actualizado, y no es probable que esté disponible desde repositorios para sistemas Linux algo antiguos —como 64 Studio 2.1 ó JAD 1.0—. Está incluso ausente de mis repositorios para Ubuntu 8.10 pero, como mencioné antes, el sistema está lo suficientemente actualizado como para facilitar su compilación. Las dependencias perdidas las resuelve Synaptic fácilmente, y no he tenido problemas para compilar e instalar versiones recientes de la aplicación.

Aún así tengo sugerencias para los desarrolladores. En la actualidad el flujo de trabajo te requiere salvar las ediciones antes de previsualizarlas. Me gustaría un modo de edición con previsualización tras un clic, que no requiera de un salvado explícito, si esto es posible. Tengo otro inconveniente con la función de impresión de Frescobaldi. Según escribo esto, Frescobaldi sólo imprime a PDF o PostScript. Me gustaría poder utilizar la impresora de mi sistema desde el propio programa. Por último, dado que LilyPond es capaz de generar un fichero MIDI desde su formato nativo, ¿por qué no facilitar una función de reproducción MIDI?

Aparte de mis deseos, me gusta Frescobaldi y voy a seguir su desarrollo de cerca. Si buscabas un editor LilyPond dedicado —y no te atreves a aprender Emacs— deberías probar Frescobaldi.

Canorus

Canorus comenzó como fork del proyecto NoteEdit que describiré en la segunda parte de este artículo. En un momento dado pareció que el programador de NoteEdit iba a abandonar el proyecto, así que Reinhard Katzmann formó un nuevo grupo de desarrolladores para el mismo. Canorus es el resultado de su esfuerzo para proporcionar «un editor de partituras libre y extensible que soporte escritura de notas, importación y exportación de distintos formatos de fichero, entrada y salida MIDI, scripting y más». La última beta de Canorus 0.7 es su última parada antes de la meta.

El sitio de la aplicación reconoce que el software es calidad beta. Aunque cada nuevo lanzamiento incluye características no disponibles en versiones anteriores, podría no ser tan fantásticamente estable como la versión pública 0.5. Resumiendo, las versiones beta no deberían considerarse para un trabajo serio en este punto. Eres bienvenido a probarlas, los desarrolladores quieren informes de sus usuarios, pero si te subes a la ola, ten cuidado.

Se facilitan versiones estables y en desarrollo desde los enlaces en el sitio de la aplicación. Están disponibles paquetes instalables para Debian y Windows, así como paquetes con fuentes independientes de la plataforma en formatos zip y tarball.

Construir la aplicación completa requiere de ciertas dependencias, incluyendo Qt4 reciente y la utilidad cmake. Son necesarios LaTeX y el visualizador LyX para construir la documentación, pero las versiones que he encontrado en Ubuntu 8.10 son inutilizables con Canorus, así que me quedé sin dicha documentación. Por suerte se trata de un paso opcional, así que si el compilado parece fallar con la documentación, simplemente sigue con el resto de pasos. No dispondrás de la ayuda para el usuario en el menú Help, pero esta carencia se ve mitigada por los avisos de la interfaz de usuario, y por la relativa sencillez de uso de la aplicación.

Me doy cuenta de que estoy probando una versión beta y de que la documentación estará disponible en la versión pública final, pero creo que sería sabio por parte de los desarrolladores facilitar la documentación ya compilada en este tipo de versiones previas. Me sorprende que un sistema tan reciente como Ubuntu 8.10 no facilite una cadena de herramientas de compilado que funcione para construir la documentación de Canorus, y me gustaría poder descargar esa documentación del sitio de Canorus. Sea lo que sea que se incluya en el paquete final, una versión HTML simple en el sitio web sería un feliz aporte al material disponible.

El instalador no añadió un icono a mi menú de aplicaciones, así que inicié el programa escribiendo canorus en mi ventana de terminal. No hay ayuda a la línea de comandos utilizando -h ó –help. Cuando se inicia Canorus, verás una pantalla splash durante unos segundos, y después un lienzo con una marca de inicio sencilla.

Canorus adopta y extiende las características que ya se encontraban en NoteEdit. Como características resaltables se incluyen un excelente método de entrada para notación polifónica, conectividad MIDI con el secuenciador ALSA —esto es, entrada y salida MIDI multiplexada—, scripting con Python o Ruby, una rica selección de símbolos estándar y soporte para eventos definidos por el usuario.

Canorus funciona en los modos de selección o edición. En el último, los símbolos musicales se incluyan y se borran de forma definible por el usuario tanto con el ratón como con atajos de teclado típicos de Emacs —Del para borrar el símbolo seleccionado, Ctrl-Z para undo, Ctrl-A para seleccionar todo, etc.—. Puedes dividir un proyecto en distintas hojas. Cada una incluye controles para canales MIDI y asignaciones típicas de instrumentos General MIDI. Se prescinde de menús de contexto a favor de menús desplegables, lo que puede frustrar a algunos usuarios. En mi opinión en cambio ese diseño deja la pantalla libre de saturaciones molestas.

Sobre el soporte a ficheros; pueden importarse ficheros MIDI o en el formato MusicXML. Puedes salvar tu trabajo en el formato de projecto canorus .can o en el formato basado en XML, o exportarlo para LilyPond o como MusicXML. Puedes también exportar tu trabajo como fichero MIDI o como fichero gráfico en formato PDF o SVG. Canorus imprime tu notación filtrándola a través de LilyPond. Designas el binario LilyPond en el menú Tools/Settings, donde también seleccionas tu visualizador PDF favorito —el formato de salida por defecto en LilyPond—.

Canorus se parece a su excelente predecesor en su clara presentación y en su sencillez de uso. Como he mencionado, las versiones beta requieren probadores, así que si te apetece algo de riesgo, puedes ayudar con el desarrollo de este fantástico programa.

Visto en Linux Journal.

El sonido de cierre de Windows

«Vámonos a casa»

«¡Venga!»

«¡Por fin!»

Visto en Geek And Poke.

Wallpaper Ubuntu del jueves

wallpaper_ubuntu_20090429

La estatua dedicada a Emilio Castelar, en el Paseo de la Castellana de Madrid, una de las más sugerentes de la capital. Haz clic en la imagen. Se abrirá su página correspondiente en Flickr. Ahora haz clic en «ALL SIZES», sobre la imagen y con un icono representando una lupa a su izquierda. Elige ahora el tamaño deseado. Te recomiendo hacer clic en «Original» y después en «Download the Original size». Todos mis fondos de pantalla para Debian y Ubuntu están basados en mis fotografías artísticas en Flickr. Espero que los disfrutes.