
Archivo temático:
Lo más leído (o visto):
Hace algún tiempo comenté sobre la instalación de GNU/Debian en una iBook del tipo ostra con puerto 'firewire'. El funcionamiento es perfecto pero había un par de detalles que faltaban: el botón derecho del apuntador y hacer la pantalla más grande. Así que hoy me dediqué a resolverlos y te cuento cómo.
Parece que hay varias maneras para emular el inexistente botón derecho con alguna tecla. Después de una breve evaluación opté por la más sencilla, instalar mouseemu, un programita que permite asignar cualquier tecla a esa función. De manera predeterminada asigna F11, y F10 para el botón medio. De esta forma se resuelve el asunto que ocasionalmente produce la necesidad de un menú contextual.
Para hacer más grande la pantalla lo mejor es cambiar de máquina, pero ya que no se puede agrandar de su resolución fija de 800x600 al menos se puede hacer una pantalla virtual que dé la sensación de amplitud. Para esto simplemente se agrega la línea "Virtual 1280 1024", por ejemplo y tendremos una pantallota virtual de esas dimensiones aunque sólo veremos un pedacito de ella. Peor es nada.
[ haga un comentario, ( 2 ) ]
[ otras notas similares ]
He estado trasteando con el planet, un programa escrito en Python que construye una página "web" de la suma de canales provenientes de blogs u otros sitios con flujos RSS. Todo estaba más o menos bien, hasta que vi que no había manera de cambiar la hora de las entradas, siempre aparecen con la UTC, que en Londres está bien, pero no es cosa de poner a la gente a restar 4 cada vez que ve una hora escrita. Así que busqué y busqué, y no conseguí manera de arreglar eso; y como imagino que le pasará a más de uno, he aquí la solución.
El planet, al menos en debian está repartido en varios directorios. La configuración en /etc/planet.conf, el 'arrancador' en /usr/bin/planet, pero el grueso del asunto está en /var/lib/python-support/python2.4/planet. En el archivo __init__.py, línea 299, donde dice date = time.gmtime() debe decir (si es que queremos eliminar la hora de Londres y poner la nuestra): date = time.localtime().
Ahora, si era tan sencillo ¿por qué no me ahorraron el trabajo de buscar ese detalle? Diría Cantinflas: Ahí está el detalle.
[ haga un comentario, ( 2 ) ]
[ otras notas similares ]
Se encuentra uno con algunos videos con formatos anticuados, tipo .avi y parece no encontrar manera de convertirlos en VCD o DVD para poder verlos con comodidad en un televisor, desde un aparato lector múltiple de DVD y más; al menos no es evidente el cómo hacer en GNU/Debian/Linux. Así que gracias a la pista que me dió este sitio que se refiere a Ubuntu, paso a explicar el asunto.
Primero, se transforma el video al formato MPEG con ffmpeg
ffmpeg -i entrada.avi -target ntsc-dvd salida.mpg
Otras opciones existen para otros formatos de entrada y salida y para distintos sistemas de televisión. Hay que aclarar que este primer paso puede tardar fácilmente más de 12 horas en un computador no tan viejo. Luego se convierte el video transformado a un formato compatible con DVD, para ello debería crearse un directorio ad-hoc. Se utiliza dvdauthor
dvdauthor -o directoriodeldvd/ salida.mpg
Si se quieren incorpoar varias películas, se repite el proceso en el mismo directorio:
dvdauthor -o directoriodeldvd/ pelicula2.mpg
dvdauthor -o directoriodeldvd/ pelicula3.mpg
Para crear la tabla de contenido del futuro DVD:
dvdauthor -o directoriodeldvd -T
Aquí se puede utilizar un programa como K3b para "quemar" el DVD, o bien se puede crear una imagen ISO con el contenido del directorio de trabajo para su posterior grabación:
mkisofs -dvd-video -o dvdlisto.iso directorideldvd
[ haga un comentario, ( 3 ) ]
[ otras notas similares ]
Texto a voz, casi automático (o proceso para recitar un libro)
Ahora que he hecho el proceso completo al menos una vez, creo estar en condiciones de echar el cuento de cómo producir un audiolibro en GNU/Debian(testing)/Linux. Se supone que disponemos de un libro -o cualquier otro texto- en formato PDF, al final se obtiene un cierto número de archivos mp3 u ogg que pueden escucharse en la computadora o en un tocador portátil de esos formatos.
Los programas requeridos -aparte de las herramientas normales del terminal- son: festival (incluye text2wave y voz en español), pdftotext o ps2text, lame para producir MP3.
Primero, hay que convertir el archivo PDF a texto y el problema puede estar en la codificación del texto. En esta máquina la codificación predeterminada es iso-8859-1 o Latin1. También puede pasar que la conversión no se pueda realizar porque el conversor no "conoce" la codificación. En ese caso, hay que agregar la línea textEncoding Latin1 en el archivo de configuración de xpdf, en debian está en: /etc/xpdf/xpdfrc. Así que hay dos opciones:
pdftotext -enc Latin1 archivo.PDFpstotext -output archivo.txt archivo.pdfsed, como líneas como esta: sed -i -e 's/¿/ /g' archivo.txt. Una vez pulido el texto, ya se puede enviar al lector, pero el resultado sería un solo archivo excesivamente largo si se trata de un libro (unas 300 páginas pueden llevar a 200 megabytes de archivo de sonido y eso en un formato comprimido). Así que es preferible 'picar' o dividir el texto original en trozos para que sea más sencillo detener al lector y llegar a un punto dado.split -l 300 -d archivo.txt prefijo. El 'prefijo' es el nombre que tendrán los archivos divididos seguidos de un número secuencial, por lo tanto esa orden crea una serie de archivos con nombre prefijo01, prefijo02, etc. Si text2wave se confunde con los nombres de los archivos, se les puede agregar la extensión .txt de forma automática así: rename 's/$/\.txt/' prefijo*
text2wave prefijo04.txt -o archivodesonido04.wav. Pero, puede pasar -así fue en este caso- que el lector predeterminado no sea el que queremos. Para hacer que la voz elegida por text2wave para leer sea la que realmente se desea hay que modificar -o crear, si no existe- un archivo llamado .festivalrc y colocar esta línea: (set! voice_default 'voice_el_diphone): la voz "el_diphone" que corresponde a un lector español será la que haga el trabajo; de otro modo muy bien puede suceder que el lector sea un gringo y la lectura será consecuentemente errada.
text2wave prefijo01.txt | lame - prefijo01.mp3text2wave prefijo01.txt | oggenc - -o prefijo01.ogg
cuenta=1
for i in `ls prefijo*`
do
text2wave $i | lame - prefijo${cuenta}.mp3
cuenta=`expr $cuenta + 1`
done
Lo que queda es esperar un rato; según mi cuenta, aproximadamente una décima parte del tiempo de lectura real. Es decir, si la lectura del libro completo dura unas 30 horas, el proceso de conversión de texto a voz tardará unas tres; de hecho algo menos, dependerá de la velocidad de la máquina y demás detalles.
[ haga un comentario, ( 6 ) ]
[ otras notas similares ]
Estuve retrasando un buen tiempo el asunto de crear los respaldos de toda la información (bases de datos, documentos y por supuesto ¡el blog!) porque requería hacer un estudio en profundidad de cómo conectarme a otra máquina sin que solicitase contraseña, para poder programar un respaldo madrugador y sin intervención humana. Eso iba a ser aproximadamente nunca, si no fuese porque conseguí un sitio donde explican brevemente cómo hacerlo. Con fines "filantrópicos" (más bien mnemotécnicos), relataré aún más brevemente el asunto y en cristiano, por si puede servirle a alguien.
Lo primero es que en ambas máquinas, la que origina la conexión (digamos UNO) y la que la recibe (digamos DOS) deben disponer de una instalación funcional de SSH (Secure SHell, en debian se trata de OpenSSH). El usuario que origina la conexión debe tener un directorio .ssh, al igual que el usuario de destino. A continuación, los tres pasos para que se dé la conexión sin explicitar contraseña:
.ssh con esta orden: ssh-keygen -t dsa -f id_dsa -P ''; esto genera dos archivos id_dsa y id_dsa.pub que corresponden a cada clave..ssh del usuario destino: scp id_dsa.pub usuariodestino@maquinaDOS:.ssh/cat id_dsa.pub >> authorized_keys2rsync -avzt /home/usuario1 usuario2@maquinaDOS:/respaldos/. Una vez guardado y hecho ejecutable, es sólo cuestión de añadir una línea en el archivo de p.e. /etc/cron.d/tareasdiarias, que debe lucir algo así: 10 4 * * * usuario1 /usr/local/bin/respaldoEnMaquinaDOS para que ejecute el libreto todos los días a las cuatro y 10 a.m.
[ haga un comentario, ( 0 ) ]
[ otras notas similares ]
Para utilizar la tableta digitalizadora 'wizarpen' y el ratón al mismo tiempo en GNU/Debian he pasado unos ratos de configuración de esos que cualquier usario de computadoras odia. Y no es para menos, porque ni las ayudas que se consiguen, ni los enfoques que se sugieren dan resultado. Así que hay que tomárselo con calma. Como estoy seguro que a otros les va a pasar enumero lo que considero son los pasos para que funcione.
La idea general es que hay que escribir unas reglas para que el gestor de dispositivos udev se encargue de manejar ambos dispositivos y elimine así el conflicto que hay entre ellos. Ahora bien, ¿cómo escribir esas reglas? La principal ayuda es la que aporta Daniel Drake; que sin embargo cuesta asimilar. Primero, hay que conseguir la información de ambos dispositivos, así: udevinfo -q path -n /dev/input/loquesea, siendo 'loquesea' mouse0, mouse1, event3, etc. Mejor resultado obtuve con 'event2' y 'event3' para tableta y ratón respectivamente. Esta orden produce la ruta parcial del dispositivo, ejemplo: /class/input/event2, y para obtener la información de éste, hay que indicar udevinfo -a -p /class/input/event2. Esto produce un verdadero chorro de información, que prácticamente marea. La cuestión consiste en elegir uno de los bloques de ese chorro y tomar varios de sus elementos para construir las reglas que se deben escribir en el archivo de configuración que debe estar en /etc/udev/rules.d/010_loquesea.rules.
En mi caso, tuve que probar entre varios bloques para conseguir uno que tuviese todas las funciones. Y fue este: KERNEL="event*", SUBSYSTEM="input", SYSFS{dev}="13:66", NAME="input/%k", SYMLINK="tableta". Como puede verse (al comparar con la salida del chorro antedicho) todo lo que hay que hacer tomar los trozos de información relevantes, quitar los dos signos de igual y dejar uno, y colocar comas entre ellos y prácticamente ya la regla está lista (el resto es agregar NAME y SYMLINK.
El problema está en que a pesar de que se supone que para reiniciar el sistema 'udev' bastaría ordenar /etc/init.d/udev restart, no es así. Hay que reiniciar la máquina para que realmente los dispositivos se adecúen a las reglas. Después de todo esto, que supongo se simplificará en próximas versiones, ya dispongo de dos dispositivos apuntadores que funcionan, incluyendo la sensibilidad a la presión en el caso de la tableta.
[ haga un comentario, ( 0 ) ]
[ otras notas similares ]
Después de alguna vacilaciones de su propietaria he instalado Debian en una iBook G3 366Mhz con un disco de 10GB (que parecían 6 con Mac OS X). Las instrucciones principales vienen de Branden Robinson, aunque son un poco viejas pero corresponden a este modelo que es del 2001. Resumidamente es así: se bajan cuatro archivos de una dirección de Internet y se colocan en el directorio raíz. Luego se arranca la máquina con las teclas cmd+opt+O+F (esto es para tratar con el Open Firmware) y se entra al programa de instalación normal de Debian. De ahí en adelante es bajada.
Hice la instalación más básica posible. Esto para tratar de actualizar el núcleo y otros detalles antes de descargar el grueso de la instalación (KDE, etc.). Instalé una versión del núcleo de Linux más reciente (2.6), y tuve un problemilla porque se me olvidó hacer ybin -v después de la descarga. Así que tuve que arrancar con el núcleo viejo /vmlinux.old y corregir esto. Ahora viene el paso a la versión 'testing' de Debian, y luego la descarga del resto de la instalación, que serán como unos 250MB. Esto por no utilizar otro medio que la red para la instalación. En cualquier caso, ya está funcionando.
[ haga un comentario, ( 2 ) ]
[ otras notas similares ]
154