Problemas con el audio

Nunca había tenido problemas con el audio, todas las distribuciones que había usado, tanto en CD como ya instaladas habían detectado mi tarjeta de sonido sin problemas, sin embargo de repente ayer me encontre sin audio, en cualquier programa, nada, algo muy extraño. Pude comprobar que no era problema de hardware con un liveCD (zenwalk), y el sonido funcionaba bien.

Buscando el problema he seguido todos los pasos de este manual, sin aparentemente ningún problema:

Tarjeta gráfica detectada correctamente:

~$ lspci | grep -i audio
00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] AC'97 Sound Controller (rev a0)
~$ cat /proc/asound/cards
0 [SI7012 ]: ICH - SiS SI7012
SiS SI7012 with ALC655 at irq 22

Driver de sonido instalados:

~$ lsmod | grep -i snd
snd_intel8x0 34972 2
snd_ac97_codec 100644 1 snd_intel8x0
ac97_bus 3200 1 snd_ac97_codec
snd_pcm_oss 44672 0
snd_mixer_oss 17664 1 snd_pcm_oss
snd_pcm 80388 3 snd_intel8x0,snd_ac97_codec,snd_pcm_oss
snd_seq_dummy 4740 0
snd_seq_oss 33152 0
snd_seq_midi 9600 0
snd_rawmidi 25728 1 snd_seq_midi
snd_seq_midi_event 8448 2 snd_seq_oss,snd_seq_midi
snd_seq 53232 6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
snd_timer 24324 2 snd_pcm,snd_seq
snd_seq_device 9228 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
snd 54660 14 snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
soundcore 8800 1 snd
snd_page_alloc 11400 2 snd_intel8x0,snd_pcm

Control de volumen aparentemente bien, tanto con alsamixer como con gnome-sound-properties (el icono que hay al lado del reloj) todas las salidas estaban habilitadas y al 100%.

Pero no había forma, todos los test de gstreamer-properties estaban mudos.

Y el programa que estaba usando el sonido:
~$ lsof /dev/snd/*
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
mixer_app 5866 jjgomera 19u CHR 116,7 14618 /dev/snd/controlC0
Solo el mezclador, pero aparentemente estaba bien, todos habilitados y al 100%.

He tardado bastante en darme cuenta de donde estaba el fallo, evidentemente en el mezclador, y es que jugueteando con él (gnome-sound-properties), he localizado que por defecto no aparecen todas los canales en pantalla, y al habilitarlos todos había algunas que sí estaban desactivadas, esa tontería era la clave.


En concreto en mi caso el que estaba desconectado y dando la lata era el IEC958 Playback AC97-SPSA, otra cuestión es cómo se había desactivado.

Sopcast en linux

Sin duda, dentro de los programas tvp2p que proliferan en windows, este siempre fue mi preferido, por su limpieza, ausencia de publicidad, buena traducción a un idioma entendible, carga de canales, y siempre limpio de malwares, adwares y demás calaña. Como no, también es el único que tiene versión para linux, no es lo mismo que para windows ya que ellos solo proporcionan una triste versión por consola, pero funcionar, funciona la mar de bien.

Recientemente además han sacado una nueva versión, la 3.0.1, que iguala el número de la versión de windows, pero sin aparentes cambios con la versión anterior, la 1.1.1, pedazo salto de versión, para tan pocos cambios.

Para distribuciones debiánicas he empaquetado la ultima versión, sopcast_3.0.1_1.i386.deb, para que sea instalable fácilmente, simplemente descargar y abrir con el gestor de paquetes.

Para el resto de distribuciones os descargáis el programa de su página: sp-auth.tgz, lo descomprimis y copiais el archivo al directorio de ejecutables /usr/bin con el nombre sp-sc, con esta orden desde terminal:

sudo cp /direcotorio_donde_descomprimiste/sp-sc-auth /usr/bin/sp-sc

Además, habría que instalar las dependencias, la librería libstdc++5, aunque probablemente ya la tengáis instalada:

sudo aptitude install libstdc++5


El programa ya así es utilizable, para ello buscamos el canal del partido que queremos ver, por ejemplo en tvmix, y localizamos el enlace sop de ese canal aquí. Una vez que disponemos del enlace del canal (por ejemplo sop://broker1.sopcast.com:3912/6001), abrimos una terminal y escribimos:

sp-sc sop://broker1.sopcast.com:3912/6001 6881 2000

siendo 6881 el puerto que usará el sopcast para conectarse al exterior (preferiblemente un puerto abierto en el router y firewall, aunque tampoco se nota mucho, estos chinos deben usar todos modem xD) y 2000 el puerto que usaremos para comunicarnos con el reproductor.
A continuación en otra terminal cargamos el canal con el reproductor que prefiramos:

mplayer http://localhost:2000/tv.asf

fíjate en el numero que es el que usamos como último parámetro en el comando del sopcast.

No es muy difícil de usar, pero, es evidente, resulta engorroso; afortunadamente hay desarrolladas diversos gui (programas gráficos) para poder ejecutar más cómodamente el sopcast:

qsopcast····················· gsopcast



Yo prefiero el qsopcast, pero, como todo, esto también es cuestión de gustos, desde luego, en cuanto a funcionalidad la cosa anda muy pareja, ambos permiten cargar url (útil para canales privados que no aparecen en la lista de canales oficiales), cargar varios canales a la vez (nada recomendable a no ser que tengas una superconexión), grabar el canal, configurar reproductor, puerto...
Algo lógico ya que el desarrollador es el mismo, la única diferencia, el qsopcast es capaz de manipular medianamente los enlaces sop desde el navegador y cargarlos en el programa, para ello debemos indicarle al firefox como manipular el protocolo sop, abrimos en una pestaña la dirección about:config y creamos dos nuevas variables:

network.protocol-handler.app.sop de tipo cadena y valor /usr/bin/qsopcast
network.protocol-handler.external.sop de tipo lógico y valor true

y digo medianamente porque aunque la dirección del enlace pinchado aparezca en la barra de direcciones al abrirse el programa hace falta darle al botón ejecutar para que empiece a cargar

Para distribuciones debiánicas los he empaquetado para una instalación más sencilla:

qsopcast_0.3.5-rkmod-1_i386.deb
gsopcast_0.4.0-1_i386.deb

Existe una tercera alternativa, wxsopcast, un script en python, que aunque tiene todas las características de los otros deja bastante que desear en su presentación de la lista de canales, por lo demás está muy bien:



No hace falta instalarlo, simplemente descargamos el script, (si alguien quiere la versión traducida al castellano, wxsopcast_es.py) le damos permisos de ejecución, instalamos las dependencias:

sudo aptitude install python-wxgtk2.8

Abrimos una terminal y nos situamos en el directorio donde tengamos el script y ejecutamos:

python wxsopcast.py

también podemos crearle un lanzador con la orden

python /ruta_completa/wxsopcast.py


PD: recordar eso si, que aunque todos los gui son software libre, el sopcast propiamente dicho no tiene nada de libre, aunque mejor no quejarse mucho porque es la única alternativa

Actualización: ya hay disponible una versión de gsopcast que carga los enlaces automáticamente desde el navegador, así que desde ahora esta es la versión preferida, para ello hay que desinstalar primero los paquetes de arriba si están instalados, a continuación se instala este paquete que ya trae el motor incorporado, gsopcast_0.4.0-2_i386.deb, y si seguis prefiriendo el qsopcast podeis instalarlo a continuación desde el paquete de arriba sin problemas. Esta última mejora gracias a chunchengch de ubuntuforums

Así ya podemos utilizar la agenda de tvmix, como si estuviesemos en windows :)

Agradecimientos:

-Cristobal: Por sus manuales de debianización realmente sencillos
-Wei Lian: desarrollador de qsopcast y gsopcast
-Fenix-TX: Por la traducción de qsopcast y gsopcast al castellano
-Ryukent: Por su modificación del qsopcast para ser capaz de manipular enlaces sop desde el navegador
-czk: Desarrollador del wxsopcast

Conky II

La verdad es que configurar este programa es lo más adictivo que he sufrido nunca, ya le dedique otra entrada cuando lo descubrí, pero es que no puedo parar de meterle funcionalidades xD, mis últimas incorporaciones, los datos de la conexión del amule y el tiempo:

  • Amule: Para poder utilizarlo hay que activar la firma online en la configuración del amule, así el programa irá guardando los datos importantes de la conexión en el archivo ~/.amule/amulesig.dat, y de ahí podremos ir sacando los datos que queramos para ponerlos en pantalla.
El archivo se compone de 17 líneas con diferente información:
  1. Estado de la conexión, 0 si está desconectado, 1 si está online y 2 si está conectado a la red ED2K
  2. El nombre del servidor al que está conectado
  3. La ip del servidor al que está conectado
  4. El puerto que usa el servidor
  5. Estado de la red ED2K, H si es HighID, L si es LowID
  6. Estado de la red Kad, 0 si está desconectado, 1 si está firewalled, 2 si está bién
  7. Velocidad de descarga en KB/s
  8. Velocidad de subida en KB/s
  9. El número de clientes en nuestra cola de subida
  10. El número de archivos compartidos
  11. Nuestro nick de usuario
  12. Cantidad total de datos descargados, ojo, en bytes
  13. Cantidad total de datos subidos, en bytes
  14. La versión del amule
  15. Cantidad de datos descargados durante la sesión, también en bytes
  16. Cantidad de datos subidos durante la sesión, en bytes
  17. Tiempo, en segundos, de la sesión actual
Algunos de estos datos son directamente utilizables, otros necesitan un retocado para presentarlos por pantalla, depende de lo que interese representar, yo en mi caso me interesa únicamente lo principal, así que lo tengo así:

que corresponde a estás líneas de código en el archivo de configuración:

${if_running amule}${color #0077ff}${alignc}aMule
${color #888888}Conectado a ${color}${execi 50 head -n2 ~/.aMule/amulesig.dat |tail -n1}
${color #888888}ED2K ${color}${execi 5 ~/configuracion/amule.sh ed2k}${alignr}${color #888888}KAD ${color}${execi 5 ~/configuracion/amule.sh kad}
${color #888888}Up: ${color}${execi 5 head -n8 ~/.aMule/amulesig.dat |tail -n1}k/s${alignr}${color #888888}Down: ${color}${execi 5 head -n7 ~/.aMule/amulesig.dat |tail -n1}k/s
${voffset -5}$color$stippled_hr$endif
Como veis, la orden clave para obtener los datos del archivo es una combinación head-tail para quedarnos únicamente con la línea que nos interesa. En el caso del estado de las redes además, poner 0 y 1 no sería demasiado intuitivo así que uso una subrutina (es lo que primero que me he atrevido a "programar" xD) para convertirlos en mensajes normales OK, firewalled, highID...

Pero se puede llegar a representar casi todo, como ejemplo:


Como veis la mayoría de los datos están manipulados para representarlos de una forma más intuitiva, el tiempo en h:min:seg y las cantidades de datos en sus unidades más adecuadas, si teneis interés podéis bajaros estás subrutinas, que yo uso en el conky como amule.sh así como el conky para obtener los datos como en la imagen de arriba, amuleconky. Recordar que en el conky se pueden usar varios archivos de configuración, simplemente para llamar al archivo que no sea el habitual usar la opción -c:
conky -c /dirección/archivo

  • El tiempo, o como lo llama el creador del script, el Conky Weather Revisited V2 xD permite representar los datos de la previsión meteorológica para el lugar que queramos de la página de yahoo:

  1. Lo primero de todo, buscar el código de la localidad que queremos representar, para ello buscamos la predicción de nuestra localidad, y de la dirección de la página extraemos el código, algo así: http://weather.yahoo.com/forecast/SPXX0050.html, y nos quedamos unicamente con lo que está en negrita
  2. Para representar los fenómenos meteorológicos debemos descargar una fuente especial que los tenga como ésta, y la añadimos a las fuentes del sistema, en gnome poniendo fonts:/ en nautilus, y arrastramos la fuente descargada.
  3. Descargamos el script que realizará el trabajo y al que llamaremos desde el conky. Tiene varias opciones, para que nos devuelva los diferentes valores
weather.pl "codigo" "unidades" "opciones"
"codigo" - código de la ciudad
unidades" - c para sistema metrico, f para unidades inglesas
"opciones"
c condiciones actuales
w lista de condiciones actuales
cp simbolo de las condiciones actuales
t temperatura actual
[1-5]d los nombres de los días deseados
[1-5]dp los símbolos de los condiciones
[1-5]t temperaturas máximas y mínimas
[1-7]w previsión meteorológica (en palabras)
[1-5]p condiciones para el día indicado
[1-5] temperatura max-min para el día indicado

Ya solo falta añadir al conky las líneas que deseamos, y ajustarlo para que quede cuadrado, como ejemplo así lo tengo yo:



Y estás son las líneas necesarias:

${alignc}${color gold}El tiempo
${alignc}${color yellow}${execi 14400 perl ~/configuracion/weather.pl SPXX0098 c 3d}
${color cyan}${font weather:size=25}${execi 14400 perl ~/configuracion/weather.pl SPXX0098 c 3dp}$font$color
${alignc}${color yellow}${execi 14400 perl ~/configuracion/weather.pl SPXX0098 c 3t}
Por ejemplo, las temperaturas máximas y mínimas para pasado mañana serían:
weather.pl SPXX0098 c 3

Así es como lo tengo yo configurado que tampoco necesito más, pero se pueden monitorizar muchísimos datos más, como muestra:


Para más info sobre esto, puedes acudir al hilo de su creador en ubuntuforums.

Recuerda darle permisos de ejecución a todos los script que vayas a usar

Finalmente así es como queda mi escritorio con el conky completo, con su correspondiente archivo de configuración completo, .conkyrc:



más informativo imposible..., bueno, podría añadirle también un lector de feeds xD

Debian con KDE

Finalmente me he decidido a instalar debian, en mi caso tiene que ser la versión testing, ya que la estable todavía no me detecta el disco duro sata , y he probado de todo, que por mi no quede, desde añadir los repositorios de testing para actualizar el kernel, también de sid, incluso compilar yo mismo el kernel (hay manuales muy sencillos), pero en todos los casos al arrancar con el nuevo kernel el proceso siempre se colgaba el el mismo punto, la detección de usb creo, y llegue a usar incluso la configuración del kernel que funciona de vicio en ubuntu 7.04, pero no hubo manera triste

Y ya de paso, probar kde, ese escritorio que todos sus usuarios dicen que es mejor, por algo será, y es que yo soy de gnome no por convicción, sino por simple costumbre, tanto en guadalinex, como en ubuntu he estado usando gnome porque venía por defecto. Y como debian lo permite, poder instalar el sistema con kde sin ningún resto de gnome.

Para ello haremos uso de la instalación por red, una maravilla que nos permitirá ahorrarnos en descargar muchos paquetes que probablemente no vayamos a necesitar, para ello descarga la iso, apenas 180 MB y grábalos en un CD, podrás a su vez optar entre la versión estable o la versión de pruebas, en mi caso no tengo alternativa, testing sí o sí.

Iniciamos el ordenador con el cd en el lector, y nos aparece la pantalla de bienvenida, podemos optar por la instalación clásica (pulsar ENTER directamente) o usar una instalación gráfica que está muy currada, escribiendo installgui antes de pulsar ENTER.
Seguimos los pasos de instalación, bastante intuitivos, quizás el más difícil sea la elección de las particiones, pero es como en cualquier otro gnu/linux. Finalmente el proceso tras instalar el sistema base llega a esta pantalla donde hay que marcar el software que queremos instalar:



Nos aseguramos de desmarcar la casilla de entorno de escritorio, ya que si no instalaría gnome, que es el que trae por defecto.

Una vez que termine el proceso de instalación, reiniciamos y llegamos a una terminal, naturalmente porque no tenemos todavía instalado el entorno de escritorio.

Nos logueamos como root, y pasamos a instalar el entorno gráfico, simplemente escribimos:
apt-get install xserver-xfree86 x-window-system-core x-window-system

En el caso del escritorio, prefiero únicamente lo básico, así que:
apt-get install kde-core

Una vez instalado ya podemos iniciar el entorno gráfico, para ello simplemente escribimos startx

Si tenemos problemas con la gráfica siempre podremos modificar el xorg, para usar el controlador libre, con el que no tendremos aceleración pero al menos tendremos escritorio desde el que instalar un mejor driver y poder buscar información sobre como hacerlo:
nano /etc/X11/xorg.conf
y buscamos una sección como:

Section "Device"
Identifier "ATI Technologies Inc RV370 [Sapphire X55$
Boardname "ati"
Busid "PCI:1:0:0"
Driver "ati"
Screen 0
Option "MergedFB" "off"
EndSection

Y sustituimos en la línea driver, ati por vesa, en caso de tarjetas Nvidia ponemos nv.

Si así tampoco se consigue iniciar el entorno gráfico, habría que ampliar la búsqueda y probar a reconfigurar todo el servidor gráfico:

dpkg-reconfigure xserver-xorg

Es un proceso largo donde se irán pasando por todas las características de tarjeta, pantalla, ..., para finalmente modificar todos las secciones del xorg.conf.

Finalmente si la cosa va bien, yo no he tenido ningún problema, llegamos al escritorio la mar de azulado, ahora a investigar que parece otro mundo

Descargar videos de youtube

Existen diversas extensiones para firefox (Video Download, Fast Video Download, Video DownloadHelper) que se pueden usar para descargas vídeos de youtube, sin embargo ninguna acaba de funcionarme bien.
Sin embargo existe un método por consola que me ha parecido cómodo, y eficaz, aparte que no me ha fallado en ningún vídeo de los que he intentado descargar. Además también convierte el vídeo del formato flv a avi.

Para ello puedes bajarte el script de espalinux, o crearlo a partir de archivo de texto vacio:


#!/bin/bash

if [ $# -lt 1 ]; then
echo "Uso: $0 "
exit 1
fi

ID=`echo $1 | cut -d= -f2 | cut -d\& -f1`
FILE="youtube-${ID}"
BASE_URL="http://youtube.com/get_video.php"

wget -O /tmp/${FILE} $1

if [ $? == 0 ]; then
T_PARAM=`grep '&t=' /tmp/${FILE} | head -n 1 | awk -F'&t=' '{print $2}' | cut -d\& -f 1`
VIDEO_URL="${BASE_URL}?video_id=${ID}&t=${T_PARAM}"

wget -O ${FILE}.flv $VIDEO_URL

if [ $? != 0 ]; then
rm -f ${FILE}.flv
exit 1
else
ffmpeg -i ${FILE}.flv ${FILE}.avi
fi
fi

rm -f /tmp/${FILE}

Lo creas con un nombre descriptivo como "youtube", le das permisos de ejecución (botón derecho sobre él /propiedades/permisos y activas la casilla de "permitir ejecución". Finalmente lo copias en el directorio /usr/bin:
sudo cp /directorio/donde/este/youtube /usr/bin/youtube

Para que el programa pueda convertir el vídeo a formato avi, es necesario tener instalado el paquete ffmpeg, si no lo tenemos instalado:
sudo aptitude install ffmpeg

Finalmente, para ejecutar el programa, simplemente escribimos su nombre en la consola seguido de la dirección completa del vídeo de youtube (recuerda que en la terminal también se permite cortar y pegar, no tienes que escribir la dirección completa, simplemente copiarla desde el navegador), y en la consola habría que escribir como ejemplo:
getyoutube http://www.youtube.com/watch?v=E4Fbk52Mk1w

Guadalinex V4.1

Por fin, la V4. ya es estable, ahora si que voy a tener dudas, seguir con ubuntu o volver a una guadalinex que ya soporta todo mi hardware:

Tras el periodo de pruebas necesario y con la inestimable ayuda de todos los que habéis descargado y evaluado los CDs de las versiones candidatas, finalmente consideramos estable este disco de Guadalinex 4.1 que podéis descargar desde esta página.

Los que habéis solicitado que os enviemos un CD de Guadalinex a casa, recibiréis esta nueva versión.

Aunque ya en su momento comentamos las mejoras de la versión 4.1 sobre la anterior, aquí las tenéis de nuevo resumidas:

    • Es compatible con más hardware, gracias al cambio en el núcleo y en el gestor de ventanas.
    • La nueva versión de OpenOffice.org (2.2) permite firmar documentos electrónicamente
    • La conexión con tarjetas 3G es más fácil con los asistentes para los nuevos dispositivos de Vodafone y Movistar
    • Accesibilidad mejorada para personas con discapacidad visual gracias a Orca (2.19.4) y a las nuevas voces (masculina y femenina) en castellano para Festival
    • Incluye un conversor de "bases de datos" MS-Access a formato de OpenOffice.org Base y el programa AMIGU: Asistente para MIgrar correo, fondos, configuraciones de Windows a GUadalinex
    • También es más sencillo operar con unidades extraibles con la utilidad de notificación de unidades montadas ("mount-systray")
    • Y se ha mejorado la compatibilidad con NTFS, con acceso de escritura y la instalación compartida en sistemas que ya tengan Windows Vista.


[Descargar ahora]

Nos ponemos manos a la obra con la siguiente versión, pero sin abandonar ésta. Pronto tendréis unos suplementos muy interesantes y la versión "mini" para ordenadores de escasos recursos.

¡Esperamos que os guste!

IE4Linux

Pues sí, no estoy loco, también se puede instalar internet explorer en linux, evidentemente no porque sea mejor navegador, sino principalmente para webmaster que quieran comprobar como se ve su página desde ie y también para poder navegar por las páginas cuyos "webmaster"??? no se ciñen a los estándares y las diseñan únicamente para ie. El programa en cuestión es el IE4linux, que básicamente corre ie bajo wine, pudiendo además elegir para instalar las diferentes versiones de ie, 5, 5.5 y 6. La versión 7 aparece ya en la versión beta, pero con muchas limitaciones debido al propio wine.

Explicaré la forma de instalar la versión estable en ubuntu gutsy, aunque el método debería ser válido en cualquier otra debian o derivada.

Primero de todo instalamos las dependencias que requiere, wine y cabextract, mediante synaptic o por consola:

sudo aptitude install wine cabextract


Descargamos y descomprimimos el programa, o por consola:

wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz
tar zxvf ies4linux-latest.tar.gz


Finalmente navegamos hasta el directorio de instalación y ejecutamos el script de instalación ies4linux:

cd ies4linux-*
./ies4linux


El script se encargará de descargar los archivos necesarios, así como de instalar las versiones de ie que le digas, crear los accesos directos...
El resultado es más que digno:


Hay que recordar que para nada debes usarlo para navegar habitualmente, para eso usa el firefox, swiftfox...