Archive for the 'Linux' Category

05
Dic
09

Cambiar el tipo de letra utilizado en los gráficos de MATLAB

Para seguir haciendo uso del “juguete nuevo”, ahora dejo un código que permite modificar la fuente (tipo de letra) utilizada al desplegar gráficos mediante el comando plot en MATLAB. Lo anterior se puede realizar de manera bastante directa en Windows (aunque la mayor parte de las veces no es siquiera necesario), pero en GNU/Linux (al menos en mi experiencia) es más engorroso y se debe hacer siempre dado que la fuente que utiliza el programa por omisión es horrible y no se lleva bien con caracteres típicos del español. De todas formas, el código funciona en ambas plataformas.

Como agregado también incluyo una línea de código que otorga la posibilidad de cambiar el nombre de la ventana (figure) donde va a ser desplegado el gráfico de modo que, cuando se muestran un gran número de ellos en pantalla, estos sean fácilmente identificables. Finalmente, también una línea para guardar la imagen generada al disco de manera automática.

% Se deben cambiar los textos 'Nombre de la ventana', 'Título del gráfico',
% 'Etiqueta del eje x' y 'Etiqueta del eje y' por las frases que correspondan
% (en ningún caso borrar las comillas simples).
% Además, evidentemente se deben reemplazar los parámetros de "plot" (datosX
% y datosY) por los que efectivamente se graficarán.
% Finalmente, también se debe cambiar el texto correspondiente a
% 'nombre_del_archivo' y 'extensión'. En el último caso, yo al menos utilizo 'png'.
figure('Name','Nombre de la ventana','NumberTitle','off','Color', [1 1 1])
plot(datosX,datosY)
title('Título del gráfico','FontName','Arial','FontSize', 14);
xlabel('Etiqueta del eje x','FontName','Arial','FontSize', 14);
ylabel('Etiqueta del eje y','FontName','Arial','FontSize', 14);
saveas(gcf,'nombre_del_archivo','extensión');

Los parámetros del tipo de letra (en este caso Arial) y de su tamaño (en el código, 14) pueden ser variados por otros de su preferencia (cambiar el tipo de letra podría no ser muy directo en todo caso).

Hay otras opciones relativas a las características del texto, distintas a las mostradas, que pueden ser modificadas. En el próximo ejemplo se muestran algunas de ellas y, además, otra forma de darle formato al título (más larga que la anterior, pero que de alguna manera podría resultar más clara para algunas personas).

% Se da el ejemplo haciendo uso de la posibilidad de incluir leyendas en
% los gráficos.
% Del código, los textos del título y de las leyendas deben ser cambiadas
% por las pertinentes. Además, el usuario podría querer modificar el texto
% 'North', el cual indica la posición dentro del gráfico en el que colocará
% la leyenda. También se pueden cambiar el tipo de letra y su tamaño entre
% otros.
titulo = title('Título del gráfico');
leyenda1 = 'Texto de la primera leyenda';
leyenda2 = 'Texto de la segunda leyenda';
leyenda3 = 'Texto de la tercera leyenda';
leyenda4 = 'Texto de la cuarta leyenda';
leyenda = legend(leyenda1,leyenda2,leyenda3,leyenda4,'Location','North');
set(titulo,'FontName','arial','FontUnits','points','FontSize',11,...
    'FontWeight','normal','FontAngle','normal');
set(leyenda,'FontName','arial','FontUnits','points','FontSize',10,...
    'FontWeight','normal','FontAngle','normal');

Espero que todo lo anterior sea lo suficientemente claro. Jueguen y prueben con estos pequeños códigos y revisen la documentación de MATLAB para saber cómo funcionan las cosas, qué otras opciones hay para ser modificadas, etcétera.

05
Dic
09

Compilar programas disponibles en el AUR e instalarlos

El otro día me enteré que se puede postear código fuente en los entradas del blog de manera muy fácil, de modo que voy a tomar unos artículos que había escrito hace un buen tiempo [1] [2] que estaban muy adornados con “teoría” para que el usuario supiera qué era lo que estaba haciendo realmente para dejar solo la parte práctica. En esa ocasión no utilicé el plug in para desplegar código, así que supongo que ahora puede quedar más “limpio”.

Sin embargo, antes que todo claramente debo situar la escena. Pasa que en Arch Linux existe un repositorio (el AUR) que es mantenido por los usuarios de la distribución en los que ellos suben código que permite instalar programas que no están disponibles en los repositorios oficiales. Si bien se corre un riesgo al hacer uso de esta opción (Arch no les da soporte y toda la responsabilidad recae en la comunidad), utilizarla nos permite acceder a montones de programas que no están contemplados oficialmente.

Ahora sí, la parte práctica. Para instalar un programa descargado desde el AUR en la carpeta “downloads” (por ejemplo), basta con seguir la siguiente secuencia de pasos (la cual no está pensada para ser utilizada como script).

#  Supóngase que el nombre del paquete a instalar es "foo"
#+ y que este se encuentra en la carpeta downloads.
cd downloads
gunzip -c foo.tar.gz | tar xopf -
cd foo
makepkg
su
pacman -U foo.pkg.tar.gz
exit

Lo anterior asume que el usuario que mantiene el paquete en el AUR es ordenado y puso todo su código en la carpeta foo y luego la comprimió en un archivo tar.gz. Esto es lo habitual. También se asume que el código que proporcionó no es defectuoso y/o malicioso…

Para conocer todos los detalles que hay detrás de las operaciones anteriores (cómo hacer que se pueda compilar el código como usuario normal, qué es el ABS o el PKGBUILD por ejemplo), visite los artículos Compilar programas en Arch e instalarlos primera y segunda parte. Si usted nunca ha hecho uso de makepkg antes, se lo recomiendo totalmente. Ahora si lo que quiere es tener a mano la secuencia de comandos (como yo), no se moleste.

23
Nov
08

Manejo básico de pacman en Arch Linux

Escribiendo el post acerca de la instalación de Arch Linux me percaté que en muchas ocasiones puse instrucciones que dependían de pacman. Para los no entendidos, pacman (en el mundo de Arch Linux), corresponde al gestor de paquetes de la distribución (algo así como apt en Debian) y toma su nombre por tanto de PACkage MANager.

Pacman está extremadamente bien escrito y es una de las principales razones por las cuales uso Arch Linux. Goza de mucha simpleza y versatilidad, por lo que incluso he leído que mucha gente considera que es superior al mismísimo apt.

El objetivo de este post es ofrecer una pequeña guía de comandos comunes y que son básicos para desenvolverse con pacman en Arch Linux. Nótese que se adopta la misma convención que en el otro artículo: las palabras entre corchetes cuadrados corresponden a parámetros a ingresar por el usuario.

La presente guía está basada en la página de la wiki de Arch para pacman.

Seguir leyendo ‘Manejo básico de pacman en Arch Linux’

22
Nov
08

Instalar Arch Linux

A continuación dejaré mi guía personal (la cual tengo anotada en un cuaderno) para instalar Arch Linux en un PC. La guía está basada en la instalación de la versión 0.8 Voodoo, pero la utilicé hace algunas semanas para instalar la versión 2008.06 Overlord sin mayores problemas ni modificaciones. El concepto de “versión” no tiene mucho sentido en Arch, pero al menos de vez en cuando sacan a la luz nuevos instaladores o modifican pequeñas cosas de ellos y las publican bajo nueva versión.

Arch Linux es una distribución independiente desarrollada y optimizada para las arquitecturas de procesador i686 y x86-64 (es decir, funciona para cualquier procesador medianamente nuevo, creo que de Pentium III para adelante y en procesadores de 64 bits, por lo que no pierda su tiempo tratando de instalar esta distro en un computador extremadamente viejo dado que no funcionará). Arch en particular ha sido programada de manera que “no importa qué versión se instale, pues al actualizar el sistema quedará perfectamente al día” (al menos eso es lo que yo entiendo del concepto rolling-release, además del hecho que siempre se están generando nuevos paquetes). Esto de la rolling-release tiene sus ventajas en el sentido que por lo general el usuario de Arch tiene a su disposición las últimas versiones de los paquetes a su disposición, pero tiene el consiguiente riesgo de la posible inestabilidad de ellos (aunque igual pasan por la rama testing antes de ingresar al repositorio oficial). Personalmente nunca he tenido problemas de inestabilidad sino de malas decisiones de los desarrolladores de la distro al actualizar paquetes que se vuelven incompatibles con otros, pero los descalabros cósmicos nunca han sido tales como para cambiarme de distro, aun cuando es un punto en el que los desarrolladores de Arch tienen que mejorar.

Se dice que corresponde a una distribución de GNU/Linux para usuarios avanzados, pero a mi gusto es más correcto decir que es para gente con ganas de aprender y que no le tema a la línea de comandos, pues el sistema se maneja directamente a través de archivos de texto. A mi gusto es mucho más simple que Ubuntu por ejemplo, con la única deficiencia de poseer menor cantidad de paquetes, en cuyo caso se puede hacer uso del AUR (cosa que bueno, sí es para usuarios más avanzados) siguiendo mi humilde guía partes [1] y [2].

Me extendí mucho en la introducción, por lo que mejor voy directamente a la explicación, la que se encuentra después del salto.

Seguir leyendo ‘Instalar Arch Linux’

14
Ene
08

Reviviendo el PC

Uff… Estuve unos días sin PC porque tuve un error brígido… Kernel panic y cuestiones, inconsistencia en el sistema de archivos… No me di la molestia de arreglarlo pues este error llegó justo en el momento en que necesitaba tiempo libre para leer un mamotreto que pedí en la biblioteca de Santiago (aventura que le lleva una situación que aun no logro comprender y que si me da la gana y el tiempo contaré en otro post). Esto, ya que habitualmente pierdo horas e incluso a veces días resolviendo las quejas de mi PC…

Bueno, habiendo leído ya unas 450 páginas (todavía no llego a la mitad) y como a esta hora están dando Perdidos en el Espacio en la radio, me di la molestia de buscar en internet acerca del problema que tenía el PC y la solución es bastante simple… Procedo a comentar el problema y la solución.

Antecedentes:

  • Sistema Operativo: Arch Linux
  • Memoria RAM: 512 Mb
  • Discos duros: digamos unos 80 – 90 Gb, de esos viejos (creo que los nuevos son SATA, bueno, mis discos no lo son)
  • Sistema de archivos: ext3

Ya, resulta que llegó a mis manos un módulo de memoria RAM de 256 Mb y quise instalarla en el PC. Sumado a esto, quise instalar un disco duro que tenía “botado” por ahí. OK. Abrí el PC, limpié la gran cantidad de suciedad que había e instalé ambas cosas. Reboot… Error en el disco. Bueno, hace años había tenido el mismo problema, pero con un lector de CD, por lo que creo que creo que el malo es el enchufe ese gordo que ahora no me acuerdo cómo se llama… Pero eso es harina de otro costal.

Saqué el disco, reinicié (pasando por la BIOS en todos los casos) y llego a la bienvenida de Arch en KDE. Meto la clave e inicio sesión. Carga, pero falta en la barra faltan los programas que se están ejecutando. “Voy a matar la X”, pensé. CTRL + ALT + DELETE. Bueno, ahora le puedo decir que ¡¡¡no haga esoooo!!! Yo lo había hecho en varias oportunidades (a sabiendas que puede traer problemas) y ahora me tiró unos errores 4 y 8 de no sé dónde. Dije: “no ha de ser grave”. Apreto reset en el PC (no me dejó ocupar ni el comando halt ni reboot) y de nuevo… ¡¡¡Usted no lo haga!!! Corrompí algo (qué se yo qué sería) y me tiró los mansos kernel panics y yo tenía el alma dividida: “wow, nunca había tenido un kernel panic” y “¡qué desastre!”. OK, como no me dejaba ejecutar comandos (me daba errores) al igual que en el caso anterior, nuevamente reset (si ya lo comprendió antes, no creo que sea necesario que le recuerde nuevamente que eso no se debe hacer).

Cargo el sistema… Revisando los discos… Error.

Multiply-claimed block(s) in inode ###: ###

donde los ### eran unos números. Fueron como 4 mensajes de esos y no me dejaba iniciar el PC. Moría ahí mismo. Esperando un rato salía un informe de los nodos conflictivos y los archivos que estaban involucrados. Si bien eran de sistema, eran de baja importancia: imágenes, un .desktop y un PKGBUILD del abs.

Acudí a un PC con internet, puse el error que arriba está en negrita (“blanquita”) en google y el oráculo me dijo al tiro que ejecutara

fsck /dev/partición

donde partición corresponde a hdXY o sdXY según sea el caso (el error especifica la partición conflictiva). Bueno, ejecuté el comando como root (a pesar de no cargar el sistema completo, ofrece la posibilidad de ingresar como root en una sesión “limitada”), me preguntó un par de cosas, a las cuales sólo respondí y (yes, claro está)… Voilà, aquí estoy postando desde mi PC y esperando que al siguiente reboot no haya problemas…

PD: importante, el fsck se debe ejecutar en una partición que NO ESTÉ MONTADA. Se me había olvidado mencionar ese pequeño gran detalle. Si lo ejecutan estando la partición montada, puede que dejen una escoba más grande que la original.

PD2: luego de sucesivos on/off, el PC ha funcionado normalmente…




buscar en el blog

calendario de posts

julio 2020
L M X J V S D
 12345
6789101112
13141516171819
20212223242526
2728293031  

Contacto

Siéntase libre de escribir a contacto También puede encontrarme en Last.fm, YouTube, Delicious y Twitter.