Archivo del Autor

Una de muchísimas cosas que me gustan de Gentoo es la estética de la consola. Supongo que la manera en que se suele administrar este sistema y sobre todo lo peculiar de su instalación hacen que los usuarios que disfrutamos de ella usemos la consola mucho. Y si lidias con algo durante mucho tiempo, qué mejor que sea lo más bonito posible, ¿no?

Algo que echo mucho de menos en una instalación de Ubuntu es esa tan cuidada decoración de la consola que tiene Gentoo, así que he decidido copiarla en mi portátil, donde uso Ubuntu 9.10.

Bueno, la consola en Gentoo básicamente se muestra como una consola con un prompt decorado con colores y, ademas, el comando ls que colorea los ficheros según el tipo al que pertenecen. Debemos ejecutar estos comandos:

$ echo "export PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w $\[\033[00m\] '" >> ~/.bashrc
$ echo "eval \$(dircolors -b .DIR_COLORS)" >> ~/.bashrc
$ echo "alias ls='ls --color=auto'" >> ~/.bashrc
$ echo "alias grep='grep --color=auto'" >> ~/.bashrc

Para acabar debéis descargar el fichero .DIR_COLORS en ~.

Para el usuario root, es básicamente lo mismo, solo que cambia el primer comando a añadir en el .bashrc:

$ echo "export PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W #\[\033[00m\] '" >> ~/.bashrc
$ echo "eval \$(dircolors -b .DIR_COLORS)" >> ~/.bashrc
$ echo "alias ls='ls --color=auto'" >> ~/.bashrc
$ echo "alias grep='grep --color=auto'" >> ~/.bashrc

Y por supuesto debéis descargar tambien el fichero .DIR_COLORS en el ~ de root.

Imagen de muestra de la consola.
Imagen de muestra de la consola.

Comments No Hay Comentarios »

Con pocas palabras entederéis de qué va esto:

# emerge wtf
$ wtf is lmao
LMAO: laughing my ass off
$ wtf is lol
LOL: laughing out loud
$ wtf is wtf
WTF: {what,when,where,who,why} the fuck

Uno de los programas más útiles que he encontrado últimamente, jajaja.

Comments No Hay Comentarios »

Estoy usando una memoria USB cifrada con TrueCrypt para que en caso de pérdida no se puedan acceder a los datos contenidos en ella.

La suelo usar en un equipo con Windows XP que no está en mi casa, y en casa solo uso GNU/Linux. El problema ha sido que el sistema de ficheros VFAT se ha corrompido, y para arreglarlo en casa he tenido que usar Truecrypt en Gentoo.

Descargasmos de la web de Truecrypt la versión última del software para GNU/Linux, y la copiamos en /usr/portage/distfiles. Ejecutamos # emerge truecrypt y ya lo tenemos listo.

Para montar usamos # truecrypt fichero.tc, veremos que se nos monta en /media/truecrypt1 o algo similar.

En mi caso necesitaba conectar solo el dispositivo pero sin montar el sistema de ficheros para poder hacerle un fsck.vfat. Cosa que conseguimos con # truecrypt --filesystem=none fichero.tc. A continuación: # fsck.vfat -a /dev/mapper/truecrypt1.

Para desmontar todos los sistemas montados usamos # truecrypt -d

Y por último si os da un error del tipo:
device-mapper: reload ioctl failed: Invalid argument
Command failed

Podéis solucionarlo aquí.

Comments No Hay Comentarios »

¡Qué pesadilla! Mi cron daemon me envía un correo-e de aviso cada vez que algo inesperado ocurre en la ejecución de los comandos. Bien, pues resulta que me han llegado como 500 correos en los que todos comentaban el mismo error: “/bin/bash: root: command not found”. ¡Claro que root no es un comando! ¿Pero por qué cron intenta ejecutar root como un comando? Hoy me ha quedado clarísimo.

Uso vixie-cron como cron daemon, este demonio al igual que otros tiene soporte para un crontab file de sistema y otros para cada usuario de sistema. La diferencia entre el crontab file de un usuario y el del sistema es que el sexto campo en el crontab file del sistema es el usuario usado para ejecutar el comando que aparece en el campo séptimo. El cron de sistema es el único que puede ejectuar comandos haciéndose pasar por otro usuario del sistema. Debido a esto, si cualquier otro usuario tiene un crontab file, el sexto campo debe ser directamente el comando a ejecutar.

¿Qué narices me había pasado? Pues que en algún momento edité el crontab del usuario root como si el de sistema se tratase, por equivocación. Así que tenía el mismo crontab file para el sistema como para el usuario root. Si quieres editar el crontab file del sistema jamás uses el comando crontab tal cual. Para editarlo se recomienda usar el comando crontab -e o bien editar /etc/crontab con tu editor de texto favorito.

¿Y como solucioné el problema? Ejecuté como root el comando crontab -r que borra el crontab de usuario. De ese modo ya solo se ejecuta el crontab de sistema y todo ha vuelto a la normalidad.

Comments 2 Comentarios »

Hace unos días hablaba con un amigo sobre programitas para nuestros teléfonos Symbian de Nokia, el mío en concreto es un Nokia N81 y el de él un Nokia N95. Entre varios programas hablamos algo sobre los programas que hay que te permiten usar el terminal móvil como webcam inalámbrica. Había visto algunos para Windows y por eso mismo ni los había probado. Hoy he buscado de nuevo a ver qué me encontraba y me he llevado una grata sorpresa. He topado con SmartCam un proyecto libre alojado en Sourceforge, que consigue que mi móvil funcione como webcam en mi máquina GNU/Linux.

El funcionamiento consiste en instalar un programa cliente en el terminal móvil, y otro programa servidor más el driver para el kernel en el equipo en el que queremos usar el terminal como webcam. He probado también en mi N70 tanto con el cliente Java como con el cliente nativo para Symbian, pero no he tenido suerte. Sin embargo, todo ha funcionado perfecto para mi N81.

He instalado usando el código fuente que podéis encontrar aquí, si os fijáis también hay paquetes deb para Debian y que usen APT. Los pasos son muy sencillos: descargar el correspondiente .tar.gz, descomprimir tar xzfv fichero.tar.gz, cambiamos al directorio que ha descomprimido y ejecutamos los tres comandos mágicos: ./configure, make, make install.

Con esto ya tenemos el servidor instalado, que se ejecuta desde consola solo con teclear smartcam, pero aún nos queda compilarnos el módulo para el kernel y montarlo debidamente. Para ello accedemos al directorio driver_src que cuelga del directorio que hemos descomprimido antes, y llamamos a la orden make -C /lib/modules/`uname -r`/build M=`pwd` y con esto deberíamos tener el driver compilado sin problemas.

Para montar el driver:
# modprobe videodev
# insmod smartcam.ko

Para instalar el cliente en el teléfono enviamos el .sis correspondiente por bluetooth al terminal, podemos encontrarlos en el directorio /usr/local/share/smartcam/phone_installs/, ejecutamos el servidor en nuestro PC con la orden smartcam como usuario.

Si usáis un kernel 2.6.29 como yo, necesitaréis aplicar un parche al código fuente del driver. Es fácil, descargáis el parche en el mismo directorio donde está el código fuente del driver (driver_src/)y ejectuáis patch -p0 < smartcam-2.6.29.4.patch y luego compiláis como expliqué antes.

Los dos programas tanto cliente como servidor son sencillísimos de usar tanto por wifi como por bluetooth, si queréis usarlo por bluetooth o por WiFi debéis configurar antes el servidor para que espere la conexión por lo que hayáis escogido (File->Settings). Tened en cuenta que debéis tener una conexión bluetooth en correcto funcionamiento previamente, al igual que vuestra red local y vuestro WiFi.

Comments 2 Comentarios »

Hola, la web ha estado más tiempo del que esperaba sin servicio. Desconecté el servidor para volcar todo al servidor nuevo, tenía pensado tenerlo todo funcionando en la misma tarde, pero por un problema personal no he podido terminar el trabajo hasta hoy.

Bueno, el nuevo servidor no es nada del otro mundo, pero es mejor que el anterior. Antes tenía un IBM Aptiva, Pentium II Celeron 333MHz, 256MiB RAM y unos 74GB de disco duro. Y ahora gracias a un regalo de mi amiga Marta que me dio un IBM Personal Computer 300GL, Pentium III 667MHz he podido montar un servidor con 120GB de disco y 640MiB de SDRAM PC-133. Espero que ahora todo vaya algo más ligerito y también espero tener pronto varias entradas que creo que serán bastante interesantes.

¡Muchas gracias Marta!

Comments 4 Comentarios »

He actualizado mi servidor web Cherokee a la versión 0.99.15 y mi WordPress a la versión 2.8 y por fin ya se llevan bien. Han desaparecido muchos problemas que tenía anteriormente en mi blog y ya puedo retractarme de lo que dije anteriormente aquí.

Así que por favor, ya que he actualizado si vieras algún problema no dudes en decírmelo. Puedes usar la página de contacto, te estaría muy agradecido.

Comments 4 Comentarios »

Llevaba un tiempo que cuando quería usar algún applet java que aparecía en alguna web no me quedaba más remedio que cerrar mi Firefox de 64Bits y abrir el de 32Bits. Pero ya por fin encontré la solución para poder utilizar Java en mis navegadores de 64Bits (también epiphany).

Lo primero es llamar como root a la orden java-check-environment y seguir las instrucciones que nos indica.
A continuación, si queremos también podemos eliminar todos los JDKs y JREs antiguos, si es que no los vamos a necesitar. Clásico emerge -C …

Y por último eselect java-nsplugin set 64bit sun-jdk-1.6 o bien: eselect java-nsplugin set 64bit sun-jre-bin-1.6

Comments No Hay Comentarios »

En una entrada anterior he hablado sobre cómo encender un equipo remotamente desde la red local. Pero me ha surgido un problema puntual con la tarjeta de red integrada de mi placa base ASUS M2N-E que usa el driver forcedeth. El caso es que observé que si apagaba el equipo usando la orden halt como siempre hago, no funcionaba el envío del Magic Packet para despertar mi ordenador. Sin embargo si apagaba el ordenador dejando el botón de encedido pulsado 4 segundos, justo después de la carga de la Bios, pero antes de cargar el sistema operativo sí que funcionaba.

Resultó ser un fallo que ha surgido en algún lugar en el camino entre el kernel Linux 2.6.26 al 2.6.27. Y no sólo eso, si no que debemos asegurarnos de que nuestro interfaz de red soporta y tiene activado la opción de Wake on LAN.

  1. # emerge ethtool
  2. # ethtool eth0
    Settings for eth0:
    Supported ports: [ MII ]
    Supported link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    1000baseT/Full
    Supports auto-negotiation: Yes
    Advertised link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    1000baseT/Full
    Advertised auto-negotiation: Yes
    Speed: 100Mb/s
    Duplex: Full
    Port: MII
    PHYAD: 1
    Transceiver: external
    Auto-negotiation: on
    Supports Wake-on: g
    Wake-on: d
    Link detected: yes

    “Wake-on: d” significa que está desactivado, y debería estar en ‘g’, que es el modo de wakeonlan que soporta, tal y como “Supports Wake-on: g” dice.
  3. # ethtool -s eth0 wol g
    Activamos wakeonlan.
  4. # echo "ethtool -s eth0 wol g" >> /etc/conf.d/local.start
    Lo añadimos al servicio local, para que se ejecute siempre al arrancar el sistema.
  5. Aquí es donde viene lo más extraño, y es el error del que habla antes. Al darle la dirección MAC de la interfaz de red al comando wakeonlan debemos dársela del revés. Suponiendo que nuestra dirección MAC es 00:12:34:56:78:9A, el comando a usar sería:
    # wakeonlan 9A:78:56:34:12:00

Fuentes: aquí y aquí.

Comments No Hay Comentarios »

Ayer vi que salió la nueva y flamante versión 2.7 de WordPress, que promete bastante, una interfaz de administración mucho más cuidada y con muchas características nuevas, entre ellas una que me gusta que poseían otros CMS: si respondes a un comentario, este aparece anidado. Y la mejor, ¡se auto actualiza!

Pero… En cada versión nueva he visto como WordPress se hacía cada vez más incompatible con Cherokee Web Server, hasta el punto de que en la versión 2.7 de WordPress ya no era posible entrar a mi blog. Y en la versión que uso ahora, intentad entrar aquí si tenéis narices.

No estoy usando la última versión de Cherokee, quizás si pruebo a usar la última funcione. Tendré que ir probando, mientras tanto mi blog sigue en pie, que es lo importante.

Comments 5 Comentarios »