Busindre » Programas

Unir file splitters en Linux / FreeBSD

February 13th, 2007 by Busindre

Es normal encontrarse por internet archivos partidos sin comprimir con extensiones 001, 002,... Este "split" de archivos suele usarse para poder subir de varias tandas a servidores p煤blicos todo tipo de archivos (pel铆culas, videos, discos,..) Sorteando de esta forma sus limitaciones de tama帽o y permitiendo una vez bajadas las partes, unirlas en el archivo original para su disfrute. Para eso vamos a usar una simple herramienta llamada lxsplit creada por Richard Stellingwerff la cual es muy f谩cil de instalar (Linux / FreeBSD) y usar.

Dependencias de lxsplit: (Por norma se suelen tener todas)
00-dirtree
bash
binutils
bzip2
coreutils
diffutils
gcc
glibc
grep
make
sed
sysfiles
tar

Archivos:
lxsplit: http://www.t2-project.org/packages/lxsplit.html
GUI: gtklxsplit-0.1.1.tar.gz

Instalando lxsplit:

$ tar -zxvf lxsplit.tar.gz
$ cd lxsplit-0.1.1
$ make INSTALL_PATH="/usr/bin"
# make install

NOTA: Por defecto lo instalar铆a en "/usr/local/bin/", siempre podemos saltarnos el paso de "make install" e instalarlo con un cp donde queramos.

Instalando gtklxsplit:

$ tar -zxvf gtklxsplit-0.1.1.tar.gz
$ cd gtksplit/
# make
# make install

NOTA: Tenemos la posibilidad de desinstalarlo desde las sources con "make uninstall"

Si no queremos usar gui, por linea de comandos es igual de f谩cil o m谩s:

Hacer divisi贸n (split):

$ lxsplit -s porntube.avi 89M
$ lxsplit -s porntube.avi 91136K
$ lxsplit -s porntube.avi 99323264b

NOTA: Podemos especificar el ma帽o en (M)egabytes, (k)ilobytes y (b)ytes. En este caso las tres funcionan igual.

Unir archivos:

$ lxsplit -j pornotube.avi.001

NOTA: Las dem谩s partes deben estar en el mismo directorio que el 001

Posted in Programas | Sin Comentarios »

Enviar emails con Python

February 7th, 2007 by Busindre

Para poder enviar emails desde python, se requiere tener instalado sendmail y escribir un script muy simple que nos permitir谩 con solo ejecutarlo, el poder enviar correos electronicos. Cogemos el editor y creamos el script.py con el siguiente contenido, cada uno que de el valor a las variables emisor, receptor y mail que desee:

------------------------

import smtplib

def enviar():
  servidor.sendmail(emisor, receptor, mail)
if __name__=='__main__':
  servidor = smtplib.SMTP('127.0.0.1')
servidor.set_debuglevel(0)
print servidor.ehlo()
emisor = "busi@busindre.org"
receptor = "pivon@tangas.com"
mail = "Este es el cuerpo del mensaje ;D"
enviar()
servidor.quit()

------------------------

Ahora simplemente ejecutamos:

$ python script.py

Ahora si queremos ver el proceso de ejecuci贸n entero del script cambiamos el 0 por 1, quedando de esta forma:

servidor.set_debuglevel(1)

Y nos mostrara m谩s informaci贸n:

$ python script.py
send: 'ehlo [127.0.0.1]\r\n'
reply: '250-busipc\r\n'
reply: '250-PIPELINING\r\n'
reply: '250-SIZE 10240000\r\n'
reply: '250-ETRN\r\n'
reply: '250-ENHANCEDSTATUSCODES\r\n'
reply: '250-8BITMIME\r\n'
reply: '250 DSN\r\n'
reply: retcode (250); Msg: busipc
PIPELINING
SIZE 10240000
ETRN
ENHANCEDSTATUSCODES
8BITMIME
DSN
(250, 'busipc\nPIPELINING\nSIZE 10240000\nETRN\nENHANCEDSTATUSCODES\n8BITMIME\nDSN')
send: 'mail FROM: size=25\r\n'
reply: '250 2.1.0 Ok\r\n'
reply: retcode (250); Msg: 2.1.0 Ok
send: 'rcpt TO: \r\n'
reply: '250 2.1.5 Ok\r\n'
reply: retcode (250); Msg: 2.1.5 Ok
send: 'data\r\n'
reply: '354 End data with .\r\n'
reply: retcode (354); Msg: End data with .
data: (354, 'End data with .')
send: 'Este es el cuerpo del mensaje ;D.\r\n'
reply: '250 2.0.0 Ok: queued as 93CFB4463F\r\n'
reply: retcode (250); Msg: 2.0.0 Ok: queued as 93CFB4463F
data: (250, '2.0.0 Ok: queued as 93CFB4463F')
send: 'quit\r\n'
reply: '221 2.0.0 Bye\r\n'
reply: retcode (221); Msg: 2.0.0 Bye

Posted in Programas | 1 Comentario »

Digital File Check

November 6th, 2006 by Busindre

A ver que les parece este programilla que me encuentro por la red (En varias paginas ya, por degracia) que supuestamente nos ayuda a disfrutar de archivos de m煤sica y v铆deo de manera segura y legal, evitando, como no, riesgos inform谩ticos y de acciones legales por parte de los propietarios de derecho de autor.

El DFC fue desarrollado en Argentina por la industria de m煤sica y pel铆culas (El cabecilla de esto es Roberto Piay, Director Ejecutivo de la C谩mara Argentina de Productores de Fonogramas y Videogramas (CAPIF)).

Esta aplicacion ayuda a localizar y borrar cualquier programa de intercambio de archivos p2p y dem谩s software que permitiera el intercambio de m煤sica, im谩genes y video. Luego nos ofrece la posibilidad de borrar ya no programas, si no de peliculas, videos, canciones, fotografias y dem谩s que sospeche sean ilegales.

Leer m谩s »

Posted in Programas | 3 Comentarios »

amsn-0.96RC1 (Codificaci贸n de caracteres)

September 25th, 2006 by Busindre

Instalamos el nuevo amsn (La versi贸n candidata a 0.96), cada uno como guste (rpm,.deb,...):

./configure
make
./amsn 贸 make install (Si queremos instalarlo)

Pedira cosas como el compilador de C++ (En muchas distros encontramos el paquete como gcc-c++) y alguna dependencia m谩s, no lo trataremos en este post.

NOTA: Mejor que se desinstale el antiguo amsn.

Una vez lo ejecutemos apreciamos que la codificaci贸n de caracteres no es la apropiada (No se ven tildes ni "帽"). Debemos ponerlo en ingles (Por defecto) y cambiar: Cuenta -> Preferencia -> Apariencia -> Codificaci贸n de caracteres -> utf-8 (Esto estar谩 en ingles logicamente).

Luego ya lo podemos poner en espa帽ol tranquilamente sin problemas (En caso de hacerlo con otro orden no veremos la codificaci贸n que seleccionamos). Pero que pasa si has puesto una codificaci贸n y te aparece el siguiente error al ejecutarlo:

busi@busipc:$ ./amsn

Error in startup script: invalid command name "?"
while executing
"? ????????????????????????????????????????????????..."
(file "utils/BWidget-1.7.0/scrollw.tcl" line 1)
invoked from within
"source utils/BWidget-1.7.0/scrollw.tcl"
(in namespace eval "::" script line 1)
invoked from within
"namespace eval :: $auto_index($name)"
(procedure "auto_load" line 13)
invoked from within
"auto_load $name [uplevel 1 {::namespace current}]"
(autoloading "ScrolledWindow")
invoked from within
"ScrolledWindow $pgBuddy.sw -auto vertical -scrollbar vertical -ipad 0"
(procedure "cmsn_draw_main" line 444)
invoked from within
"cmsn_draw_main"
(file "./amsn" line 275)

Lo 煤nico que debemos hacer para solucionar este problema producido por una mala codificaci贸n de caracteres es borrar la configuraci贸n actual que tenemos:

$ rm ~/.amsn (Borrarlo o cambiarle de nombre).

Los skins y plugins de la 0.95 son compatibles (No se si todos) y parece que consume menos recursos que anteriores versiones.

Posted in Programas | 4 Comentarios »

Problemas al instalar Plesk 8.0.1 en Fedora C 4

September 13th, 2006 by Busindre


Problema instalaci贸n:

Unable to determine the domain name of your computer.
Please, run the 'domainname' or 'hostname -f' command
from the console and make sure that the command returns your domain name.

ERROR while trying to get domain name
Check the error reason(see log file: /tmp/psa-qmail.log), fix and try again

Aborting...

error: %post(psa-qmail-1.03-fc4.build80060613.20.i586) scriptlet failed, exit status 1
Error while execute command rpm -U /root/psa/../psa-qmail-1.03-fc4.build80060613.20.i586.rpm
ERROR: error while executing RPM
ERROR: Installation failed

Solucion:

Editar archivo/etc/hosts correctamente
ip-publica dominio

Comandos:

# hostname dominio

Problema instalaci贸n:

Install package jakarta-commons-dbcp
warning: /root/psa/PSA_8.0.1/update-rpm-FedoraCore-4-i386/jakarta-commons-dbcp.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2

Soluci贸n: (Para este tipo de errores):

# yum remove selinux-policy-targeted.noarch

Problema en Plesk al crear dominios:

ERROR: PleskFatalException
Create shortcutCreate shortcut
Up LevelUp Level
Failed domain creation: Unable to update domain data: Failed mail post-configuration: Can't create mail domain servie: mailManager->addDomain() failed: mailmng failed: mailmng: Unable to remove domain from rcpthosts file System error 2: No such file or directory mailmng: Unable to remove domain from virtualdomains file System error 2: No such file or directory

0: /usr/local/psa/admin/htdocs/domains/create_domain.php:145


Soluci贸n
(Mejor antes de instalar Plesk):

# yum remove drweb-qmail
# yum remove psa-qmail

Despues procederemos a reinstalar Plesk ejecutando su instalador. Usuario pedeterminado:

admin setup

Posted in Programas | Sin Comentarios »

Papelera en Linux (Libtrash)

July 20th, 2006 by Busindre

Libreria que nos permite tener una papelera en Linux. De esta manera al aplicar el comando $ rm ir谩 a un directorio papeleta (Trash).
Los archivos eliminados son movidos a una carpeta espec铆fica dentro del home del usuario (Trash por defecto) y de ah铆, eliminarlos definitivamente en caso necesario. Al ser una libreria no existen variables de configuraci贸n posteriores a la compilaci贸n (Lo configuramos antes de instalar).

Descarga (Libtrash2.4): libtrash-latest.tgz

Instalacion de Libtrash:

# tar -zxvf libtrash-latest.tgz
# cd libtrash-2.4/

Editamos libtrash.conf acorde nuestras necesidades:

#Archivo de configuracion del usuario
PERSONAL_CONF_FILE = .libtrash

 

#Nombre de la papelera
TRASH_CAN = Trash

#Avisa al usuario cuando la biblioteca no est茅 habilitada
SHOULD_WARN = YES

#Ignora estas extensione
IGNORE_EXTENSIONS = o;log;aux

#Ignora ocultos (No se meten en la papelera, son eliminados directamente)
IGNORE_HIDDEN = YES

#habilita la protecci贸n para archivos fuera de la carpeta del usuario
GLOBAL_PROTECTION = YES

#lista los directorios que simplemente no ser谩n eliminados bajo libtrash
UNREMOVABLE_DIRS=/bin;/boot;/dev;/etc;/lib;/sbin;/usr

Una vez configurado procedemos a instalarlo:

# make
# make install

Nos dirigimos a /etc/profile y añadimos:

#Libtrash
export LD_PRELOAD=/usr/local/lib/libtrash.so.2.4

 

Añadimos dos alias (En mi caso .bashrc):

alias trashon="export TRASH_OFF=NO"
alias trashoff="export TRASH_OFF=YES"

Reiniciamos la maquina, con trashon o trashoff activaremos o desactivamos la Papelera en Linux.

Ejemplo:

$ trashon
$ cp basura.txt .basura.txt
$ cp basura.txt basura.log
$ cp basura.txt basura.o
$ rm basura.*
$ rm .basura.*
$ echo "Uno mas con mismo nombre" > basura.txt
$ rm basura.txt
$ ls Trash/

basura.txt
basura.txt[1]

Posted in Programas | 2 Comentarios »

Compilar Xcdroast CD/Dvd

July 9th, 2006 by Busindre

Xcdroast

Programa para la grabaci贸n de CDs/Dvd de forma f谩cil bajo Linux. Usa aplicaciones de la l铆nea de comandos como cdrecord, mkisofs y Prodvd en un interface gr谩fico muy f谩cil de usar e incluye todas las opciones m谩s comunes. Esta en varios idiomas. Permite Dvd y Cd.

 

Paquetes:

http://prdownloads.sourceforge.net/xcdroast/xcdroast-0.98alpha15.tar.gz
ftp://ftp.berlios.de/pub/cdrecord/alpha/cdrtools-2.01.01a11.tar.gz
ftp://ftp.berlios.de/pub/cdrecord/ProDVD/cdrecord-prodvd-2.01.01b03-i686-pc-linux-gnu

 

Instalaci贸n:

cdrtools

$make
$su -s
#make install

xcdroast-0.98alpha15

$./configure
$make
$su -s
#make install

Si instalo cdrtools en /usr/bin/ hagan lo siguiente:

#cd /usr/local/bin/
#ln -s /opt/schily/bin/cdrecord
#ln -s /usr/bin/mkisofs
#ln -s /usr/bin/readcd
#ln -s /usr/bin/cdda2wav

Prodvd(Permitira tostar DVD):

#cp /home/busi/cdrecord-prodvd-2.01.01b03-i686-pc-linux-gnu /usr/local/lib/xcdroast-0.98/bin/cdrecord.prodvd
#chmod 755 /usr/local/lib/xcdroast-0.98/bin/cdrecord.prodvd

Key prodvd:

ftp://ftp.berlios.de/pub/cdrecord/ProDVD/README
La key es la linea a continuacion de CDR_SECURITY=


NOTA:
La clave debemos insertarla en C贸nfiguracion -> Opciones -> Clave CDR_SEGURITY , de esta manera podremos usar las funciones sobre DVD de xcdroast.

Posted in Programas | Sin Comentarios »

Backup por mail mediante adjuntos. (BMS)

March 19th, 2006 by Busindre

La primera opci贸n manda un mail con adjunto. Simple.

la segunda manda un backup de un directorio o archivo mediante mails (adjuntos) a una cuenta de correo. Luego tendremos que bajarlos de nuestro correo a un directorio para extrae el backup con la opci贸n 3.

La tercera opci贸n usa el multivolumen de tar para extraer el backup de los anteriores adjuntos descargados.

El script se encarga de pedir los datos y se encarga de el de enviary generar el backup, tu solo tienes que descargar los mails, los cuales estan ordenados mediante su nombre. Para m谩s informacion usar bms -h.

Busindre Mail Script BMS

Disfr煤tenlo

#!/bin/bash

if [ $# -eq 1 ]; then
echo "
            ..::BuSiNdRe MaIl ScRiPt (bms)   17/03/2006::..             

Modo de Uso: Arrancar el scrip (/usr/bin/bms, ./bms, sh bms,...)

[1] Enviar un mail a una cuenta, pudiendo adjuntar archivos si queremos

[2] Manda un Archivo o Directorio dividido en cachos a cualquier cuenta
    de correo como adjuntos de mails, usando el multivolumen de la
    aplicaci贸n tar. (Cada mail ocupa unos 5 MB).

[3] Al bajar los adjuntos de los correos de la opcion [2] a un directorio,
    la opci贸n [3] los transforma en el archivo 贸 Directorio original.
    El backup se creara en la misma carpeta donde estaban los adjuntos.

Dependencias: bash, tar, bzip2, mutt (Configurado (~/.muttrc))

Ejemplo:

    set folder=~/Mail
    set alias_file=.alias
    set postponed=.postponed
    set record=MensajesEnviados
    set signature=.signature
    my_hdr From: Nombre Apellido <Nombre@dominio.com>
    source =.alias

NOTA: Si no tenemos la opci贸n de 'From' mutt dara problemas.
NOTA: Bajo sistemas BSD la primera linea deber铆a ser: #!/usr/compat/linux/bin/bash
-------------------------------------------------------------------------
Agradecimiento: David Grajal (dgrabla@ribera.tel.uva.es) por su idea del multivolumen

Autor: Busindre WwW.BuSiNdRe.CoM <busilezas [@] gmail.com>
-------------------------------------------------------------------------
";
else

echo " ********************* BuSiNdRe MaIl ScRiPt ********************";
echo " *                                   *"   
echo " * [1] Enviar Mail simple (Con adjunto optativo)         *";
echo " * [2] Backup de un Archivo/Directorio a un correo electronico *";
echo " * [3] Indicarle directorio para Recuperar Backup              *";
echo " *                                   *";
echo " ***************************************************************";
echo "";
read -p "Opci贸n: " opcion;

case $opcion in
1)

    read -p "Direcci贸n de Correo Electr贸nico: " correo;
    read -p "Asunto: " palabra1 palabra2 palabra3 palabra4 palabra5 palabra6 palabra7 palabra8 palabra9 palabra10 palabra11;
    if [ -n "$palabra11" ];then
        echo "ERROR: Maximo 10 palabras!";
        exit 0; 
    fi
    asunto="$palabra1 $palabra2 $palabra3 $palabra4 $palabra5 $palabra6 $palabra7 $palabra8 $palabra9 $palabra10";

    read -p "Deseas adjuntar algun archivo? S/N: " ad;

    case $ad in
    "S"|"s")#Mail con adjunto, comprobacion de la existencia del adjunto

        read -p "Adjuntar Archivo: " adjunto;

        if [ -z $adjunto ];then
            echo "ERROR: Debe especificar un Archivo";
            exit 0;
        else

            if [ -d $adjunto -o -e $adjunto ];then

                ls -lt $adjunto | grep -i "total 0";
               var=$?;
               echo $var;

            if test $var -eq 0 ; then
                        echo "ERROR: El directorio est谩 vacio, no contiene datos!";
                   exit 0;
            else
                echo "[ OK ]";
            fi
            else
                echo "[ ERROR ]";
                echo "No se encontro $adjunto en el sistema.";
                exit 0;
            fi

        fi
        echo "";
        echo "....................:: ReDaCtAr MeNsAjE ::.......(CTRL + D Finalizar Escritura)";
        cat> mtmp;
        echo "Procesando Adjuntos ...";
        mutt -s "$asunto" $correo -a $adjunto <mtmp;
        rm mtmp;
        echo "...... Enviado! :-)";
    ;;

    "N"|"n")#mail sin adjunto
        echo "";
        echo "....................:: ReDaCtAr MeNsAjE ::.......(CTRL + D Finalizar Escritura)";
        cat> mtmp;
        mutt -s "$asunto" $correo <mtmp;
        rm mtmp;
        echo "...... Enviado! :-)";
    ;;
    esac

;;
2)#Opcion 2

    read -p "Direcci贸n de Correo Electr贸nico: " EMAIL ;
    read -p "Asunto: " CADENA_ID;
    read -p "Archivo / Directorio del BACKUP: " ARCHIVOS;

    if [ -z $ARCHIVOS ];then
        echo "ERROR: Debe especificar un Archivo/Directorio";
        exit 0;
    else

        if [ -d $ARCHIVOS -o -e $ARCHIVOS ];then

            ls -lt $ARCHIVOS | grep -i "total 0";
            var=$?;
            #echo $var;

        if test $var -eq 0 ; then
                    echo "ERROR: El directorio est谩 vacio, no contiene datos!";
               exit 0;
        else
            echo "... OK";
        fi
        else
            echo "... ERROR";
            echo "No se encontro $ARCHIVOS en el sistema";
            exit 0;
        fi
    fi
# ---------------------- Fin de las comprobaciones ------------------------
    FECHA=`date '+%Y.%m.%d'`;
    URL_TMP="/tmp/Mail_$FECHA/";
    FILES="backup";

    if ! [[ -d  $URL_TMP ]] ; then
        echo "Creando directorio $URL_TMP";
        mkdir $URL_TMP;
    fi

    # Metodo moderno: Con tar multivolumen
    echo "Comprimiendo ficheros (bzip2)...";
    tar -cSjf $URL_TMP/$FILES.tar.bz2 $ARCHIVOS
    echo "Tareando/Partiendo ficheros...";
    tar -cSM -L 4900 -f $URL_TMP/$FILES-1.tar -f $URL_TMP/$FILES-2.tar -f $URL_TMP/$FILES-3.tar -f $URL_TMP/$FILES-4.tar -f $URL_TMP/$FILES-5.tar -f $URL_TMP/$FILES-6.tar -f $URL_TMP/$FILES-7.tar -f $URL_TMP/$FILES-8.tar -f $URL_TMP/$FILES-9.tar -f $URL_TMP/$FILES-10.tar -f $URL_TMP/$FILES-11.tar -f $URL_TMP/$FILES-12.tar -f $URL_TMP/$FILES-13.tar -f $URL_TMP/$FILES-14.tar -f $URL_TMP/$FILES-15.tar -f $URL_TMP/$FILES-16.tar -f $URL_TMP/$FILES-17.tar $URL_TMP/$FILES.tar.bz2
    echo "Recomprimiendo nuevos ficheros (bzip2)..."
    bzip2 --best $URL_TMP/$FILES-*

    # El /dev/null es pq mutt espera siempre algo par aponer en el body
    # ver http://www.shelldorado.com/articles/mailattachments.html
    NUM="0";
    for file in $URL_TMP/$FILES-*
        do
            let NUM++;
            echo "Mandando email $NUM a $EMAIL";
            mutt -s "$CADENA_ID $FECHA $ARCHIVOS $NUM" $EMAIL -a $URL_TMP/$FILES-$NUM.tar.bz2 </dev/null
        done
        #echo "Borrando directorio $URL_TMP";
        rm -R $URL_TMP;
        echo "Done!";
;;
3)#Opcion 3 (Recuperar archivo/directorio original a partir de los adjuntos)
read -p "Directorio: " adjunto;

    if [ -z $adjunto ];then
            echo "ERROR: Debe especificar el Directorio!";
            exit 0;
        else

            if [ -d $adjunto -o -e $adjunto ];then

                ls $adjunto | grep -i "tar.bz2";
               var=$?;
               #echo $var;
                   
            if test $var -eq 0 ; then
                            echo "OK!";
                    #bunzip2 *.tar.bz2;
                        NUMERO=`find $adjunto -type f -maxdepth 1 | wc -l`;
                    echo "#!/bin/bash"> temp;
                    echo "bunzip2 $adjunto/*.tar.bz2">> temp;
                    echo "tar -xvMf $adjunto/backup-1.tar \\">> temp;
                    if [ $NUMERO -gt 1 ];then
                        i=1;
                        until [ $i -eq $NUMERO ]
                               do
                                i=`expr $i + 1`;
                                echo "-f $adjunto/backup-$i.tar \\">> temp;
                            done
                            echo ";">> temp;
                            chmod u+x temp;
                            sh temp;
                            sleep 2;
                            rm temp;
                           
                            mv tmp $adjunto/
                            cd $adjunto
                            drt=`ls tmp/`;
                            tar -xjvf tmp/$drt/backup.tar.bz2;
                            echo "Realizado con exito! :-)";
                            rm -r tmp;#Borramos basura
                    fi
            else
                echo "... Error";
                exit 0;
            fi
            else
                echo "ERROR: No se encontr贸 $adjunto en el sistema";
                exit 0;
            fi

        fi
;;
esac
fi

Posted in Programas | Sin Comentarios »

Autocorreci贸n en OpenOffice (Espa帽ol)

March 2nd, 2006 by Busindre

Desde cualquier programa de OpenOffice:

1) Archivo --> Asistente --> Instalar Diccionarios nuevos

2) Seleccionamos espa帽ol

3) Pulsamos el Bot贸n para ejecutar el asistente de DicOOo

4) Instalamos los diccionarios

Cuando termine, sal de OpenOffice.org. Reinicie OpenOffice.org y vaya al cuadro de di谩logo del men煤:

1) Herramientas --> Opciones --> Configuraci贸n del Idioma --> Ling眉铆stica y seleccione los nuevos diccionarios.

2) Comprueba en editar que esta el Espa帽ol el primero.

Disfruta de la autocorrecci贸n.

Enlace de Interes

Posted in Programas | 1 Comentario »

Problemas y soluciones para XMMS

December 8th, 2005 by Busindre

Bien, lo que tenemos que hacer es lo siguiente, crearnos un enlace a /usr/bin/xmms, ya que al poner en consola solo xmms se cualga la aplicaci贸n, siempre que queramos usar xmms debemos usar /usr/bin/xmms, con eso no se cerrara.

Lo segundo,.. va con una introducci贸n al mundo de el sonido en linux, para asi aprender algo m谩s y saber el por que de las cosas, intente hacerlo entendible para todos, espero no sea muy co帽azo:

Para que podamos escuchar sonido en linux, se necesitan drivers (controladores), en el nucleo se incluyen algunos. Los mas importantes son ALSA, los controladores de ALSA soportan m谩s tarjetas de sonido que los del n煤cleo (OSS originales). La emulacion OSS de ALSA es, en algunos casos, mas rapida y mejor que los propios controladores OSS originales (OSS/free, ya que los propietarios no se pusen incluir en linux). Son muchos los programas que pueden utilizar de modo profesional las caracter铆sticas ampliadas de ALSA.

El paquete ALSA Driver contiene los controladores de sonido ALSA, Son modulos del nucleo que proporcionan funcionalidad de audio y MIDI al sistema operativo (Mediante emulacion por software, ya que ya no hay tarjetas que reproduzcan MIDI, como antiguamente). La libreria libasound es la que proporciona las funciones de ALSA a los programas.

Uno de los puntos fuertes de ALSA es que mantiene la compatibilidad con OSS, es decir, cualquier aplicaci贸n escrita para utilizar OSS podr谩 seguir ejecut谩ndose aunque hayamos cambiado de arquitectura de sonido mediantes la emulaci贸n OSS de ALSA, cual en muchos aspectos mejora a este ultimo.

Actualmente son muchas las aplicaciones que han sido adaptadas a ALSA o que incorporan soporte para ambas arquitecturas, ALSA es el subsistema de sonido por defecto de n煤cleos 2.6, ha reemplazado a OSS, que fue el subsistema de sonido de los n煤cleos 2.4.

Para el xmms hay un plugin de arts (xmms-arts), que a su vez esta configurado para usar ALSA nativamente, sin emulacion OSS, con este plugin conseguimos que el sonido salga por alsa. Si el xmms esta bajo controladores OSS, cuando se produce un sonido del sistema (corren en ALSA), el OSS se para, y tenemos que espear un tiempo para que el xmms vuelva a funcionar.

xmms --> Opciones --> Preferencias --> Plugin de salida --> Atrs output / Controlador OSS.

De esta manera podremos escuchar varios sonido a la vez, sin que se molesten entre ellos (ALSA/OSS), como pasa con xmms en el caso anterior. Si que remos usar el plugin de salida de OSS, otra solucion es que las demas aplicaciones usen tambien OSS, pusiendo cambiarlo en Kcontrol por ejemplo, pero mejor usar ALSA para todo.

Otra forma de dirigir a arts el sonido de un programa no-kde (Por defecto en ALSA (art)) es:
artsdsp programa opciones.

NOTA: En kcontrol se puede selecionar el dispositivo de audio usado por Linux.
Mandrake y Suse usan Alsa.

Comandos basicos de ALSA:

alsaconf Para detectar la tarjeta de sonido
alsamixer Mezclador basado en ncurses para los controladores de tarjetas de sonido de ALSA.
aplay Reproductor de sonidos en l铆nea de comandos para los controladores de tarjetas de sonido de ALSA.

PD: Ya que pongo lo de alsa les dejo estos comandetes,.. Saludos!
Gracias Sysreg por motivarme a hacer este post XD!!

Posted in Programas | 6 Comentarios »

« Previous Entries Siguiente art铆culo »