domingo, 10 de junio de 2012

Dividir y convertir un disco de música en formato APE usando K3b

El formato Monkey's Audio (.ape) fue tal vez el primer formato de compresión de audio lossless (sin perdida de calidad) en volverse popular, pero debido a las restricciones de su licencia y a el desarrollo de mejores alternativas, ha sido reemplazado y olvidado en Linux, particularmente en las aplicaciones de KDE: Amarok no puede reproducirlo desde que dejó de soportar GStreamer, y K3b requiere un plugin que puede o no funcionar con la última versión (no me molesté en compilarlo).

Afortunadamente, y contra las expectativas (los resultados de mi búsqueda consistieron exclusivamente en scripts para correr a mano, todos con media docena de dependencias), rescatar un .ape es muy sencillo una vez que lo convertimos a FLAC, siempre y cuando tengamos el índice (.cue).  Para ello basta usar FFmpeg, y después K3b, que incluye un práctico (aunque no perfecto) convertidor de formatos.

Los siguientes comandos se encargan de convertir el .ape a FLAC, crear un nuevo .cue, y abrirlo en K3b.  Solo tienes que reemplazar ruta/al/fichero.ape por la del tuyo, y ejecutarlos verbatim (uno por uno, o pegando todos de un jalón, todo se vale).  Se asume que el .cue tiene el mismo nombre que el .ape.

APE='ruta/al/fichero.ape'
ffmpeg -i $APE -acodec flac ${APE%.ape}.flac

perl -pe 's/(FILE.*)\.ape/$1.flac/i' ${APE%.ape}.cue > ${APE%.ape}.flac.cue
k3b ${APE%.ape}.flac.cue

Después resta convertirlo al formato de nuestra preferencia en K3b.

martes, 15 de mayo de 2012

Cursor invisible y fondo negro al lanzar Tribes Ascend

Al correr Tribes Ascend (por primera vez en mi caso), no es posible ver el cursor del ratón, ni el fondo de la pantalla de inicio (si consigues aceptar la EULA a ciegas).  Un problema de texturas corruptas, de acuerdo con el soporte técnico de Hi-Rez.  La solución fue iniciar Validate/Repair en la utilidad de soporte (Hi-Rez Studios Game Support and Diagnostic Utility), que se encuentra en el menú inicio o en el botón de engrane del lanzador de Tribes.


jueves, 1 de marzo de 2012

Instalar o actualizar complementos de Wordpress sin FTP

Para poder instalar complementos automáticamente, Wordpress requiere que el usuario del servidor web sea el propietario de los directorios wp-admin y wp-content, localizados donde lo tengas instalado.  Un poco raro, pues no se conforma con tener permisos de escritura de grupo (p.e.chgrp -R www-data wp-admin wp-content; chmod -R g+w wp-admin wp-content), ni imagino porque quiere poseer wp-admin, si los complementos se encuentran en wp-content/plugins...  en todo caso, los comandos siguientes solucionan el problema en Ubuntu:

cd /usr/share/wordpress
sudo chown -R www-data wp-admin wp-content

domingo, 6 de noviembre de 2011

Escuchar el micrófono o línea de entrada en PulseAudio

Andando con ganas de hacer karaoke, me econtré con que no hay opción para escuchar mi propio micrófono, ni en Gnome ni en KDE.  Pero la línea de comandos no podía fallar; basta con cargar el módulo de bucle de PulseAudio:

pactl load-module module-loopback

Y para desactivarlo:

pactl unload-module `pactl list short |perl -ne 'print $1 and exit if /^(\d+)\s+.*module-loopback/;'`

O en un práctico guión:

pulseaudio-loopback.sh

#!/bin/bash

if pactl list short|grep module-loopback 1> /dev/null
then
    echo Desactivando el bucle de audio
    pactl unload-module `pactl list short |perl -ne 'print $1 and exit if /^(\d+)\s+module-loopback/;'`
else
   echo Activando el bucle de audio para el dispositivo de entrada preferido
   pactl load-module module-loopback
fi

 La calidad del sonido deja que desear, sin embargo, pero eso ya es otro rollo.

viernes, 20 de mayo de 2011

Para el bonito detalle, Linux desechable de bolsillo, llévelo llévelo...

Para que no se lo vendan más caro que el Güindos en otros lados (como Lenovo y Dell), aquí lo tiene listo para correr, máquina virtual en Yavascrip y todo incluido, excepto el Uniti, pero trae qemacs que es mejor.  Que no le digan, que no le cuenten que no es amigable, porque lo es; es solo que es selectivo con sus cuates.


Le jala en cualquier navegador moderno, excepto Lynx y w3m, pero estarán soportados por ahí del 21 de diciembre del 2012, cuando también serán incluidos en la imagen de arranque.  ¡Llévelo llévelo!

miércoles, 4 de mayo de 2011

Problemas actualizando Ubuntu Maverick a Natty

Mi instalación actual ha sobrevivido tres actualizaciones desde Karmic, y como las otras, esta no estuvo exenta de problemas, aunque ambos fueron causados por tener paquetes no oficiales, y solucionarlos fue simple. El mensaje de "La instalación no se ha podido completar" (probablemente debido al error con nspluginwrapper) y la interrupción de sus últimas etapas, sin embargo, me puso a sudar al tiempo que reiniciaba manualmente. Pero todo ha funcionado normalmente, o mejor que eso.

Hay pequeñas mejoras por doquier: desde el menú de Grub, mejor organizado, y la secuencia de arranque, a la que siguen razurando segundos, hasta el que puedo Dormir por primera vez desde Lucid. Todo se siente "tan fresco y limpio," y eso que aun no he siquiera probado Unity, porque con KDE 4.6 me basta y me sobra. Sin duda el ambiente de escritorio más versátil, acompañado además de algunas de las mejores aplicaciones para Linux, especialmente multimedia (Amarok, digiKam, Kdenlive...), solo resta pedir a los desarrolladores que consideren tener suficientes funciones pronto, y se enfoquen a hacer los programas más estables.

Problemas

Error al actualizar "xserver-xorg-video-all" si usas el PPA intel-driver
El primer error se presentó al iniciar la instalación.

En /var/log/dist-upgrade/main.log:
DEBUG Installing 'xserver-xorg-video-all' (Distro KeepInstalledPkgs rule)
ERROR Dist-upgrade failed: 'E:No se pudieron corregir los problemas, usted ha retenido paquetes

En /var/log/dist-upgrade/apt.log:
Investigating (4) xserver-xorg-video-all [ amd64 ] < 1:7.5+6ubuntu3 -> 1:7.6+4ubuntu3 > ( x11 )
Broken xserver-xorg-video-all:amd64 Depende on xserver-xorg-video-nouveau [ amd64 ] < 1:0.0.16+git20100805+b96170a-0ubuntu1 -> 1:0.0.16+git20110107+b795ca6e-0ubuntu7 > ( x11 )
[...]
Considering xserver-xorg-video-qxl:amd64 1 as a solution to xserver-xorg-video-all:amd64 10004
Reinst Failed because of xserver-xorg-core:amd64


La causa es algún conflicto con las dependencias de los paquetes no oficiales de el PPA intel-driver de Glasen (https://launchpad.net/~glasen/+archive/intel-driver). Para resolverlo, hay que revertir los paquetes a las versiones oficiales, para lo cual podemos usar ppa-purge:

sudo apt-get install ppa-purgue
sudo ppa-purge ppa:glasen/intel-drive


No se ha podido instalar nspluginwrapper
Mi instalación falló antes de la limpieza, probablemente por el siguiente problema al instalar nspluginwrapper. Pero al parecer todo lo demás fue instalado, así que bastó reiniciar a mano para terminar la actualización.

Los errores aparecen en los registros de la actualización y al instalar nuevos paquetes:

Configurando nspluginwrapper (1.2.2-0ubuntu9) ...
plugin dirs: :/var/lib/flashplugin-installer/
Auto-update plugins from /usr/lib/mozilla/plugins
Looking for plugins in /usr/lib/mozilla/plugins
Segmentation fault

el subproceso instalado el script post-installation devolvió el código de salida
dpkg: problemas de dependencias impiden la configuración de flashplugin-installer:
flashplugin-installer depende de nspluginwrapper (>= 0.9.91.4-2ubuntu1); sin embargo:
El paquete `nspluginwrapper' no está configurado todavía.
dpkg: error al procesar flashplugin-installer (--configure):
problemas de dependencias - se deja sin configurar


Y son causados por algún plugin en /usr/lib/mozilla/plugins/ (Google Talk en mi caso).

La solución es remover los plugins temporalmente:

sudo mv /usr/lib/mozilla/plugins/ /usr/lib/mozilla/plugins.bak/
sudo mkdir /usr/lib/mozilla/plugins/
sudo dpkg --configure -a
sudo mv /usr/lib/mozilla/plugins.bak/* /usr/lib/mozilla/plugins
sudo rmdir /usr/lib/mozilla/plugins.bak/


"Imposible contactar a KDED" al reiniciar tras la instalación
Reiniciar la sesión resolvió el error.

Otros detalles

Flash Player desactualizado aun después de arreglar el problema con nspluginwrapper
Mi navegador tenía problemas con algunos reproductores de video (como el de la BBC) y mostraba una versión del plugin antigua (10.0) a pesar de que flashplugin-installer instaló la más reciente.  Al parecer la versión anterior seguía instalada, pero borrarla solucionó todo:

sudo rm /usr/lib/mozilla/plugins/libflashplayer.so

gtk2-engines-qtcurve.rc.sh es recreado como gtk2-default-theme.rc.sh
gtk2-engines-qtcurve.rc.sh (para configurar el tema para aplicaciones Gnome en KDE) es recreado como gtk2-default-theme.rc.sh, así que borramos el viejo:

test -f ~/.kde/env/gtk2-default-theme.rc.sh -a -f ~/.kde/env/gtk2-engines-qtcurve.rc.sh && rm ~/.kde/env/gtk2-engines-qtcurve.rc.sh

/var/log/mesages vacío
Por alguna razón, la configuración de rsyslog de Natty deshabilita varios registros de sistema: messages, debug y daemon.log, entre otros. Para habilitarlos, hay que quitar las marcas de comentario de los respectivos registros en /etc/rsyslog.d/50-default.conf, o más fácil, ejecutar estas perlas:

Para ver cuales están deshabilitados:
perl -n -e 'BEGIN { undef $/; } s{(^#.*\\\n)*#.*/var/log/.*}{print "$&\n\n";}mge;' /etc/rsyslog.d/50-default.conf

Para habilitarlos todos:
sudo perl -pi -e 'BEGIN { undef $/; } s{(^#.*\\\n)*#.*/var/log/.*}{($r = $&) =~ tr/#//d; $r}mge;' /etc/rsyslog.d/50-default.conf

Solo daemon.log y messages:
sudo perl -pi -e 'BEGIN { undef $/; } s{(^#.*\\\n)*#.*/var/log/(daemon.log|messages)}{($r = $&) =~ tr/#//d; $r}mge;' /etc/rsyslog.d/50-default.conf

Para después reiniciar rsyslog:
sudo restart rsyslog

miércoles, 30 de marzo de 2011

La expansión de llaves no funciona en un guión de Bash

Si se invoca a Bash como "sh", se comportará tanto como es posible como el sh original, deshabilitando, entre otras cosas, la expansión de llaves (braces). Es por eso que por ahorrarme dos teclazos en el shebang (#!/bin/sh), terminé dando muchos más hasta encontrar porque algo tan simple como esto no funcionaba:

#!/bin/sh
tail -fn5 /var/log/{messages,dmesg,daemon.log,syslog,debug,user.log,Xorg.0.log}


...mientras que la expansión de nombres de ficheros lo hacía normalmente. De modo que es mejor llamar a Bash por su nombre. Y a GNU/Mozilla/KDE/OO.org Linux también... a veces.

domingo, 20 de marzo de 2011

Firefox pierde la configuración de botones y barras de herramientas

La causa más común es un fichero localstore.rdf corrupto en tu perfil. Firefox realiza respaldos ocasionales (localstore-XX.rdf), así que es posible recuperar tu configuración restaurando el respaldo anterior al problema.

sábado, 26 de febrero de 2011

Error al imprimir en KDE (IPP client-error-bad-request)

Ubuntu 10.10, KDE 4.6. Las impresiones fallan sileciosamente, pero el registro de Cups (/var/log/cups/error_log) contiene un error:

Returning IPP client-error-bad-request for Print-Job (ipp://localhost:631/printers/Canon_MX310_series) from localhost

y más arriba:

Syntax error on line 16 of printers.conf.

Posiblemente un error de la Configuración de la Impresora de KDE.

Solución:

sudo stop cups;
sudo perl -pi -e 's/^JobSheets.*/JobSheets none none/' /etc/cups/printers.conf;
sudo start cups;

martes, 10 de agosto de 2010

pavucontrol: Output sound from different applications to different soundcards with PulseAudio

Windows 7 allows one to set a second sound card for voice applications, which is very nice if you have two cards or an USB headset, since you automatically get voice calls on your headphones from apps that support the feature. In others, like Ventrilo, you've to select the card by yourself, but it's doable.

Not so with PulseAudio, with the standard options: most applications don't bother with input/output options anymore (e.g. Empathy), but even the ones that do will only show the PulseAudio server (like Skype).

Meet PulseAudio Volume Control (aptitude install pavucontrol). It allows us to redirect any application (or stream) to any sound device with a single click (or a dozen; the button doesn't works quite right for me), and the selection lasts until you switch the default device in the standard sound options.  Now I can have my voice apps automatically in my headset, and more.