Copyright
Copyright © José
Luis Lara Carrascal 2007-2018 
Sumario
Introducción
Preliminares
XMMS
XMMPlayer
Configuración de XMMPlayer
Iniciamos XMMS
Enlaces
Introducción
XMMS es el reproductor musical por excelencia del mundo Unix
y tras un largo periodo sin dar señales de vida, vuelve con una
nueva versión que supone la despedida de su autor del desarrollo de este mítico programa.
Sería una pena que este excelente reproductor musical pasara al mundo de
los olvidos, porque en GNU/Linux no andamos sobrados de programas de la calidad del que a continuación trataremos su instalación.
Preliminares
1) Configurar GTK1 para que muestre correctamente las locales en sistemas con codificación UTF-8
Para que los acentos y las eñes se muestren de forma correcta en las aplicaciones escritas en GTK1, en sistemas con las locales establecidas en es_ES.UTF-8, abrimos un editor de texto y añadimos lo siguiente:
style "gtk-default" {
fontset = "-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso10646-1,\
-*-arial-medium-r-normal--12-*-*-*-*-*-iso10646-1,\
-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso10646-1,\
-*-arial-medium-r-normal--12-*-*-*-*-*-iso10646-1,*-r-*"
}
class "GtkWidget" style "gtk-default" |
Lo guardamos con el nombre gtkrc.es_ES.utf8, y lo instalamos en /etc/gtk.
$ su
# install -dm755 /etc/gtk
# install -m644 gtkrc.es_ES.utf8 /etc/gtk
|
XMMS
Instalación
Dependencias
Herramientas de Compilación
Entre paréntesis la
versión con la que se ha compilado XMMS
para la elaboración de este documento.
* GCC - (8.1.0)
* Gawk - (4.2.1)
* M4 - (1.4.18)
* Libtool - (2.4.6)
* Make - (4.2.1)
* Automake - (1.16.1)
* Gettext - (0.19.8.1)
* Autoconf - (2.69)
* Bison - (3.0.5)
Librerías
de Desarrollo
*
Xorg - (7.7 / xorg-server 1.20.0)
LibX11 - (1.6.5)
LibXxf86vm - (1.1.4)
* ALSA - (1.1.6)
* ESD - (0.2.41)
* Glib - (1.2.10)
* GTK+ - (1.2.10)
* Libmikmod - (3.3.11)
* Libogg - (1.3.3)
* Libvorbis - (1.3.6)
* Mesa - (18.1.1)
* Zlib - (1.2.11)
Aplicaciones
* Wget - (1.19.5) [1]
* Convert (ImageMagick) - (7.0.7-38) [2]
[1] Requerido para poder descargarnos un icono desde la web de XMMS.
[2] Requerido para poder crear los iconos del archivo desktop.
Descarga
xmms-1.2.11.tar.bz2 | xmms-pieles.tar.bz2
Optimizaciones
$ export
{C,CXX}FLAGS='-O3 -march=amdfam10 -mtune=amdfam10'
|
Donde pone amdfam10
se indica el procesador respectivo de cada sistema
seleccionándolo de la siguiente tabla: |
* La opción '-march=' establece el procesador mínimo con el que funcionará el programa compilado, la opción '-mtune=' el procesador específico para el que será optimizado.
* Los valores separados por comas, son equivalentes, es decir, que lo mismo da poner '-march=k8' que '-march=athlon64'.
* En versiones de GCC 3.2 e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
|
Valores |
CPU |
Genéricos |
generic |
Produce un código
binario optimizado para la mayor parte de procesadores existentes.
Utilizar este valor si no sabemos el nombre del procesador que
tenemos en nuestro equipo. Este valor sólo es aplicable en
la opción '-mtune=', si utilizamos GCC. Esta opción está disponible a
partir de GCC 4.2. |
native |
Produce un código
binario optimizado para el procesador que tengamos en nuestro sistema,
siendo éste detectado utilizando la instrucción cpuid.
Procesadores antiguos pueden no ser detectados utilizando este valor.
Esta opción está disponible a
partir de GCC 4.2. |
x86-64 |
Procesador genérico con extensiones 64-bit. Esta opción está disponible a
partir de GCC 8. |
Intel |
atom |
Intel Atom
con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y
extensiones 64-bit. Esta opción está disponible
desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición bonnell. |
bonnell |
Intel Bonnell con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3 y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
broadwell |
Intel Broadwell con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT,
AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2,
F16C, RDSEED, ADCX, PREFETCHW y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
cannonlake |
Intel Cannonlake Server con soporte de instrucciones MOVBE, MMX, SSE,
SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL,
FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW,
CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ,
AVX512CD, AVX512VBMI, AVX512IFMA, SHA, UMIP y extensiones 64-bit. Esta opción está disponible a
partir de GCC 8. |
core2 |
Intel Core2
con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y
extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.3. |
core-avx2 |
Intel Core (Haswell). Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición haswell. |
core-avx-i |
Intel Core (ivyBridge)
con soporte de instrucciones MMX, SSE, SSE2, SSE3,
SSSE3, SSE4.1, SSE4.2, AVX, AES, PCLMUL, FSGSBASE, RDRND, F16C y
extensiones 64-bit. Esta opción está disponible
desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición ivybridge. |
corei7 |
Intel Core i7 con soporte de instrucciones MMX, SSE, SSE2, SSE3,
SSSE3, SSE4.1 y SSE4.2 y extensiones 64-bit. Soporta también los procesadores Intel
Core i3 e i5. Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición nehalem. |
corei7-avx |
Intel Core i7 con soporte de instrucciones MMX, SSE, SSE2, SSE3,
SSSE3, SSE4.1, SSE4.2, AVX, AES y PCLMUL y
extensiones 64-bit. Soporta también los
procesadores Intel Core i3 e i5. Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición sandybridge. |
haswell |
Intel Haswell con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT,
AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2,
F16C y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
i386 |
Intel i386.
|
i486 |
Intel i486. |
i586, pentium |
Intel Pentium sin soporte de instrucciones MMX. |
i686 |
Produce un código binario optimizado para la mayor parte de
procesadores compatibles con la serie 80686 de Intel. Todos los actuales lo son. |
icelake-client |
Intel Icelake Client con soporte de instrucciones MOVBE, MMX, SSE,
SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL,
FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW,
CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ,
AVX512CD, AVX512VBMI, AVX512IFMA, SHA, CLWB, UMIP, RDPID, GFNI,
AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, VPCLMULQDQ,
VAES y extensiones 64-bit. Esta opción está disponible a
partir de GCC 8. |
icelake-server |
Intel Icelake Server con soporte de instrucciones MOVBE, MMX, SSE,
SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL,
FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW,
CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ,
AVX512CD, AVX512VBMI, AVX512IFMA, SHA, CLWB, UMIP, RDPID, GFNI,
AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, VPCLMULQDQ,
VAES, PCONFIG, WBNOINVD y extensiones 64-bit. Esta opción está disponible a
partir de GCC 8. |
intel |
Intel Haswell y Silvermont. Este valor sólo es aplicable en
la opción '-mtune='. Esta opción está disponible a partir
de GCC 4.9. |
ivybridge |
Intel Ivy Bridge con soporte de instrucciones
MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX,
AES, PCLMUL, FSGSBASE, RDRND, F16C y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
knl |
Intel Knights Landing con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2,
AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX,
PREFETCHW, AVX512F, AVX512PF, AVX512ER y extensiones 64-bit. Esta opción está disponible a partir
de GCC 5. |
knm |
Intel Knights Mill con soporte de instrucciones MOVBE, MMX, SSE, SSE2,
SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE,
RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, AVX512F,
AVX512PF, AVX512ER, AVX512CD, AVX5124VNNIW, AVX5124FMAPS,
AVX512VPOPCNTDQ y extensiones 64-bit. Esta opción está disponible a
partir de GCC 8. |
lakemont |
Intel Quark Lakemont MCU, basado en el procesador Intel Pentium. Esta opción está disponible a partir
de GCC 6. |
nehalem |
Intel Nehalem con soporte de instrucciones MMX,
SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT y extensiones
64-bit. Esta opción está disponible a partir
de GCC 4.9. |
nocona |
Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2, SSE3 y extensiones 64-bit. |
pentiumpro |
Intel PentiumPro. |
pentium2 |
Intel Pentium2 basado en PentiumPro con soporte de instrucciones MMX. |
pentium3, pentium3m |
Intel Pentium3 basado en PentiumPro con soporte de instrucciones MMX y SSE. |
pentium4, pentium4m |
Intel Pentium4 con soporte de instrucciones MMX, SSE y SSE2. |
pentium-m |
Versión de bajo
consumo de Intel Pentium3 con soporte de instrucciones MMX, SSE y SSE2.
Utilizado por los portátiles Centrino. |
pentium-mmx |
Intel PentiumMMX basado en Pentium con soporte de instrucciones MMX. |
prescott |
Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2 y SSE3. |
sandybridge |
Intel Sandy Bridge con soporte de instrucciones
MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX,
AES, PCLMUL y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
silvermont |
Intel Silvermont con soporte de instrucciones
MOVBE, MMX, SSE, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
SSE4.2, POPCNT, AES, PCLMU, RDRND y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
skylake |
Intel Skylake con soporte de instrucciones MOVBE, MMX, SSE, SSE2,
SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE,
RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT,
XSAVEC, XSAVES y extensiones 64-bit. Esta opción está disponible a partir
de GCC 6. |
skylake-avx512 |
Intel Skylake Server
con soporte de instrucciones MOVBE, MMX, SSE, SSE2,
SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE,
RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT,
XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD y
extensiones 64-bit. Esta opción está disponible a partir
de GCC 6. |
westmere |
Intel Westmere con soporte de instrucciones
MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES,
PCLMUL y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
AMD |
amdfam10, barcelona |
Procesadores basados en
AMD Family 10h core con soporte de instrucciones x86-64 (MMX, SSE,
SSE2, SSE3, SSE4A, 3DNow!, enhanced 3DNow!, ABM y extensiones
64-bit). Esta opción está disponible a partir de GCC 4.3. |
athlon, athlon-tbird |
AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y SSE prefetch. |
athlon4, athlon-xp, athlon-mp |
Versiones mejoradas de AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y full SSE. |
bdver1 |
Procesadores basados en
AMD Family 15h core con soporte de instrucciones x86-64 (FMA4, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE,
SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones
64-bit). Esta opción está disponible a partir
de GCC 4.7. |
bdver2 |
Procesadores basados en
AMD Family 15h core con soporte de instrucciones x86-64 (BMI, TBM, F16C, FMA, LWP, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE,
SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones
64-bit). Esta opción está disponible a partir
de GCC 4.7. |
bdver3 |
Procesadores basados en
AMD Family 15h core con soporte de instrucciones x86-64 (FMA4, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE,
SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones
64-bit). Esta opción está disponible a partir
de GCC 4.8. |
bdver4 |
Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64
(BMI, BMI2, TBM, F16C, FMA, FMA4, FSGSBASE, AVX, AVX2, XOP,
LWP, AES, PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A,
SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está
disponible a partir de GCC 4.9. |
btver1 |
Procesadores basados en
AMD Family 14h core con soporte de instrucciones x86-64 (MMX, SSE,
SSE2, SSE3, SSE4A, CX16, ABM y extensiones 64-bit). Esta opción está disponible a partir
de GCC 4.6. |
btver2 |
Procesadores basados en
AMD Family 16h core con soporte de instrucciones x86-64 (MOVBE, F16C,
BMI, AVX, PCL_MUL, AES, SSE4.2, SSE4.1, CX16, ABM, SSE4A, SSSE3, SSE3,
SSE2, SSE, MMX y extensiones 64-bit). Esta opción
está disponible a partir
de GCC 4.8. |
geode |
AMD integrado con soporte de instrucciones MMX y 3DNow!. Esta opción está disponible a partir de GCC 4.3. |
k6 |
AMD K6 con soporte de instrucciones MMX. |
k6-2, k6-3 |
Versiones mejoradas de AMD K6 con soporte de instrucciones MMX y 3DNow!. |
k8, opteron, athlon64, athlon-fx |
Procesadores basados en
AMD K8 core con soporte de instrucciones x86-64 (MMX, SSE, SSE2,
3DNow!, enhanced 3DNow! y extensiones 64-bit). |
k8-sse3, opteron-sse3, athlon64-sse3 |
Versiones mejoradas de
AMD K8 core con soporte de instrucciones SSE3. Esta opción
está disponible a partir de GCC 4.3. |
znver1 |
Procesadores basados en
AMD Family 17h core con soporte de instrucciones x86-64 (BMI, BMI2,
F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES,
PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1,
SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT y extensiones
64-bit). Esta opción está disponible a partir de GCC 6. |
VIA |
c3 |
VIA C3 con soporte de instrucciones MMX y 3DNow! (no se implementa planificación para este chip). |
c3-2 |
VIA C3-2 (Nehemiah/C5XL) con soporte de instrucciones MMX y SSE (no se implementa planificación para este chip). |
c7 |
VIA C7 (Esther) con
soporte de instrucciones MMX, SSE, SSE2 y SSE (no se implementa
planificación para este chip). Esta opción
está disponible a partir de GCC 7. |
eden-x2 |
VIA Eden X2 con soporte de
instrucciones x86-64, MMX, SSE, SSE2 y SSE3 (no se implementa
planificación para este chip). Esta opción
está disponible a partir de GCC 7. |
eden-x4 |
VIA Eden X4 con soporte de
instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX y AVX2
(no se implementa planificación para este chip). Esta
opción está disponible a partir de GCC 7. |
esther |
VIA Eden Esther con
soporte de instrucciones MMX, SSE, SSE2 y SSE3 (no se implementa
planificación para este chip). Esta opción
está disponible a partir de GCC 7. |
nano |
VIA Nano genérico
con soporte de instrucciones x86-64, MMX, SSE, SSE2, SSE3 y SSSE3 (no
se implementa planificación para este chip). Esta
opción está disponible a partir de GCC 7. |
nano-1000 |
VIA Nano 1xxx con
soporte de instrucciones x86-64, MMX, SSE, SSE2, SSE3 y SSSE3 (no se
implementa planificación para este chip). Esta
opción está disponible a partir de GCC 7. |
nano-2000 |
VIA Nano 2xxx con
soporte de instrucciones x86-64, MMX, SSE, SSE2, SSE3 y SSSE3 (no se
implementa planificación para este chip). Esta
opción está disponible a partir de GCC 7. |
nano-3000 |
VIA Nano 3xxx con
soporte de instrucciones x86-64, MMX, SSE, SSE2, SSE3, SSSE3 y SSE4.1
(no se implementa planificación para este chip). Esta
opción está disponible a partir de GCC 7. |
nano-x2 |
VIA Nano Dual
Core con soporte de instrucciones x86-64, MMX, SSE, SSE2, SSE3 y
SSSE3 (no se implementa planificación para este chip). Esta
opción está disponible a partir de GCC 7. |
nano-x4 |
VIA Nano Quad
Core con soporte de instrucciones x86-64, MMX, SSE, SSE2, SSE3 y
SSSE3 (no se implementa planificación para este chip). Esta
opción está disponible a partir de GCC 7. |
IDT |
winchip2 |
IDT Winchip2, que equivale a un i486 con soporte de instrucciones MMX y 3DNow!. |
winchip-c6 |
IDT Winchip C6, que equivale a un i486 con soporte de instrucciones MMX. |
Optimizaciones adicionales
Optimizaciones adicionales |
Graphite
|
$ export {C,CXX}FLAGS+=' -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block' |
Parámetros adicionales
Establecer el estándar de lenguaje de programación correcto para C |
GCC 5 y superiores |
$
export CFLAGS+=' -std=gnu89' |
Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura |
$ export
LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64" |
Parámetros
adicionales relativos a las librerías gráficas Mesa y la
versión de OpenGL utilizada en el sistema
|
Estos parámetros
sólo son necesarios para aquellos usuarios que tengan instaladas
las librerías gráficas Mesa, en lugar de las librerías OpenGL proporcionadas por el fabricante de la tarjeta gráfica correspondiente. |
1) Añadir la librería libstdc++ del sistema al proceso de enlazado de los binarios |
$ export LDFLAGS+=" -lstdc++" |
2) Establecer el RPATH correspondiente si utilizamos una versión de GCC que no es la principal del sistema |
$ export LDFLAGS+=" -Wl,-rpath,/opt/gcc8/lib64 -lstdc++" |
Sustituir /opt/gcc8/lib64
por la ruta de instalación alternativa que cada usuario tenga en
su sistema. El establecimiento de esta variable no hace necesario el uso de la primera.
|
Extracción y
Configuración 
$ tar jxvf xmms-1.2.11.tar.bz2
$ cd xmms-1.2.11
$ sed -i '4192a\\tputenv("XLIB_SKIP_ARGB_VISUALS=1");' xmms/main.c
$ ./configure --disable-dependency-tracking --prefix=/usr \
--mandir=/usr/share/man --disable-static --libdir=/usr/lib64 |
Explicación de los
comandos
sed -i '4192a\\tputenv("XLIB_SKIP_ARGB_VISUALS=1");' xmms/main.c
: Soluciona el siguiente error de ejecución del programa en
aquellos sistemas que tienen activada la extensión XComposite de
Xorg:
[jose@localhost ~]$ xmms
Message: device: default
Gdk-ERROR **: BadMatch (invalid parameter attributes)
serial 211 error_code 8 request_code 2 minor_code 0 |
--disable-dependency-tracking : Acelera
el tiempo de compilación.
--prefix=/usr
: Instala el programa en el directorio principal /usr.
--mandir=/usr/share/man : Instala las páginas de manual del programa en /usr/share/man, en lugar de /usr/man.
--disable-static
: Desactiva la compilación de las librerías
estáticas, al no ser necesarias para la ejecución del programa.
--libdir=/usr/lib64 : Instala las librerías en /usr/lib64, en sistemas de 64 bits multiarquitectura.
Compilación
Parámetros de compilación opcionales
-j2
: Si tenemos un procesador de doble núcleo (dual-core), y el kernel
está optimizado para el mismo y es SMP, con este parámetro
aumentaremos el número de procesos de compilación
simultáneos a un nivel de 2 y aceleraremos el tiempo de compilación del programa de forma considerable.
-j4
: Lo mismo que arriba pero con procesadores de 4 núcleos (quad-core).
Instalación
como root
$ wget -c http://xmms.org/files/icons/xmms-benjamin_p_jung.png -O xmms.png
$ su
# make install.strip
# ldconfig -v
# for i in /usr/share/icons/hicolor ; do \
install -dm755 $i/{16x16,24x24,32x32,48x48,64x64,128x128}/apps ; \
install -m644 xmms.png $i/128x128/apps ; \
convert -resize 64x64 xmms.png $i/64x64/apps/xmms.png ; \
convert -resize 48x48 xmms.png $i/48x48/apps/xmms.png ; \
convert -resize 32x32 xmms.png $i/32x32/apps/xmms.png ; \
convert -resize 24x24 xmms.png $i/24x24/apps/xmms.png ; \
convert -resize 16x16 xmms.png $i/16x16/apps/xmms.png ; \
gtk-update-icon-cache -tf $i &> /dev/null ; \
done
|
Borrar las locales adicionales instaladas con la utilidad BleachBit
# bleachbit -c system.localizations
|
Instalar el paquete de pieles adicionales para XMMS
# mkdir -p /usr/share/xmms/Skins
# tar jxvf xmms-pieles.tar.bz2 --strip-components=1 -C /usr/share/xmms/Skins
|
Creación del archivo xmms.desktop
Para que XMMS sea detectado por los menús de entornos gráficos como XFce 4 o paneles como LXPanel o Fbpanel, abrimos un editor de texto y añadimos lo siguiente:
[Desktop Entry]
Name=XMMS
GenericName=Reproductor musical
Comment=El Winamp de GNU/Linux
Exec=xmms
Icon=xmms
Categories=Application;AudioVideo;Player
MimeType=audio/x-scpls;audio/x-mpegurl;audio/mpegurl;audio/mp3;audio/x-mp3;audio/mpeg;
audio/x-mpeg;audio/x-wav;application/x-ogg
Type=Application |
Lo guardamos con la codificación de caracteres UTF-8, y con el nombre xmms.desktop. Luego lo instalamos como root en /usr/share/applications.
La desinstalación y respaldo de este archivo viene incluida en
los scripts correspondientes proporcionados en este manual.
$ su
# install -m644 xmms.desktop /usr/share/applications
# update-desktop-database
|
Estadísticas de Compilación e Instalación de XMMS (incluido XMMPlayer)
Estadísticas de Compilación e Instalación de XMMS (incluido XMMPlayer) |
CPU |
AMD Phenom(tm) II X4 965 Processor |
MHz |
3415.709 |
RAM |
4096 MB |
Tarjeta gráfica |
GeForce GT 710 |
Controlador de gráficos |
Nouveau 1.0.15 |
Sistema de archivos |
XFS |
Versión del Kernel |
4.16.14-ck1 SMP PREEMPT x86_64 |
Modo de frecuencia de la CPU |
ondemand |
Compilador |
GCC 8.1.0 + Ccache 3.4.2 |
Parámetros de optimización |
-03 -march=amdfam10 -mtune=amdfam10 -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block |
Parámetros de compilación |
-j4 |
Tiempo de compilación |
50" |
Archivos instalados |
89 |

|
Enlaces simbólicos creados |
2 |

|
Ocupación de espacio en disco |
4,9 MB |
Consumo inicial de CPU y RAM de XMMS
Consumo inicial de CPU y RAM de XMMS |
Proceso
|
CPU |
Memoria física |
xmms |
0 % |
15,3 MB |
Directorio de configuración personal
~/.xmms |
Es el directorio de configuración personal de XMMS en nuestro home. |
~/.xmms/Plugins |
Es el subdirectorio de los complementos de XMMS, en el caso de que los queramos instalar en el mismo. Normalmente se compilan e instalan en /usr/lib/xmms/Plugins. |
~/.xmms/Skins |
Es el subdirectorio de las pieles de XMMS, donde podemos colocar las que nos bajemos de internet. |
Desinstalación
como root
1) MODO TRADICIONAL
En el directorio de compilación
ejecutamos el siguiente comando:
2) MODO MANUALINUX
El principal inconveniente del comando anterior es
que
tenemos que tener el directorio de compilación en nuestro
sistema para poder desinstalar el programa. En algunos casos esto
supone muchos megas de espacio en disco. Con el paquete de scripts que
pongo a continuación logramos evitar
el único inconveniente que tiene la compilación
de
programas, y es el tema de la desinstalación de los mismos
sin
la necesidad de tener obligatoriamente una copia de las fuentes
compiladas.
xmms-1.2.11-scripts.tar.gz
$ su
# tar zxvf xmms-1.2.11-scripts.tar.gz
# cd xmms-1.2.11-scripts
# ./Desinstalar_xmms-1.2.11 |
Copia de Seguridad
como root
Con este otro script creamos una copia de seguridad de los binarios
compilados, recreando la estructura de directorios de los mismos en un
directorio de copias de seguridad (copibin)
que se crea en el directorio /var. Cuando se haya creado el paquete comprimido de
los binarios podemos copiarlo como usuario a nuestro home
y borrar el que ha creado el script de respaldo, teniendo en cuenta que si queremos
volver a restaurar la copia, tendremos que volver a copiarlo al lugar
donde se ha creado.
$ su
# tar zxvf xmms-1.2.11-scripts.tar.gz
# cd xmms-1.2.11-scripts
# ./Respaldar_xmms-1.2.11 |
Restaurar la Copia de Seguridad
como root
Y con este otro script (que se copia de forma automática cuando
creamos la copia de respaldo del programa) restauramos la copia de
seguridad como root cuando resulte necesario.
$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_xmms-1.2.11
|
XMMPlayer
Complemento para XMMS que nos permite reproducir archivos de vídeo mediante el uso de MPlayer.
Instalación
Dependencias
Herramientas de Compilación
Entre paréntesis la
versión con la que se ha compilado XMMPlayer
para la elaboración de este documento.
* GCC - (8.1.0)
* Gawk - (4.2.1)
* M4 - (1.4.18)
* Libtool - (2.4.6)
* Make - (4.2.1)
* Automake - (1.16.1)
* Autoconf - (2.69)
* Pkg-config - (0.29.2)
Librerías
de Desarrollo
*
Xorg - (7.7 / xorg-server 1.20.0)
* GTK+ - (1.2.10)
* XMMS - (1.2.11)
Aplicaciones
* MPlayer - (SVN-r38109)
Descarga
xmmplayer-0.3.3.tar.bz2 | xmmplayer-0.3.3_MKV.diff
Optimizaciones
Optimizaciones adicionales
Optimizaciones adicionales |
Graphite
|
$ export {C,CXX}FLAGS+=' -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block'
|
Parámetros adicionales
Establecer el estándar de lenguaje de programación correcto para C |
GCC 5 y superiores |
$
export CFLAGS+=' -std=gnu89' |
Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura |
$ export
LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64" |
Extracción y
Configuración 
$ tar jxvf xmmplayer-0.3.3.tar.bz2
$ cd xmmplayer-0.3.3
$ patch -Np1 -i ../xmmplayer-0.3.3_MKV.diff
$ ./autogen.py
$ sed -i 's:/lib/xmms/Input:/lib64/xmms/Input:' configure
$ ./configure --disable-dependency-tracking --prefix=/usr |
Explicación de los
comandos
patch -Np1 -i ../xmmplayer-0.3.3_MKV.diff : Aplicamos este parche personal que añade soporte de reproducción de archivos MKV, FLV, MP4 y WMV a XMMPlayer.
./autogen.py
: Actualiza los scripts de configuración del paquete para poder
compilarlo de forma correcta en sistemas de 64 bits multiarquitectura.
sed -i 's:/lib/xmms/Input/:/lib64/xmms/Input:' configure : Modifica el script de configuración del paquete, para poder instalar el complemento en /usr/lib64, en sistemas de 64 bits multiarquitectura, ya que la opción de configuración --libdir no es funcional en este paquete.
Compilación
Parámetros de
compilación opcionales
Instalación
como root
$ su -c "make install-strip"
|
Desinstalación
como root
1) MODO TRADICIONAL
En el directorio de compilación
ejecutamos el siguiente comando:
2) MODO MANUALINUX
Configuración de XMMPlayer
Para acceder a los opciones de configuración de XMMPlayer, seleccionamos Opciones >> Preferencias del menú de XMMS y en la pestaña de Plugins de entrada, con la selección en MPlayer plugin 0.3.3, hacemos clic en Configurar.
Las opciones predefinidas del complemento son suficientes para poder visualizar los vídeos. En
el caso particular de las tarjetas gráficas de NVidia, si la regulación del brillo no funciona con las teclas 3 y 4, cambiar el driver de vídeo a gl2, en las opciones de MPlayer.
Iniciamos XMMS
Sólo nos
queda teclear en una terminal o en un lanzador el comando xmms,
y el programa aparecerá en la pantalla.
Enlaces
http://legacy.xmms2.org >> El sitio oficial de XMMS.
http://www.xmms.org >> El dominio original, que fue vendido por el patrocinador del programa, opensound.com, sin el consentimiento de los programadores de XMMS.
http://www.sourcefiles.org/Multimedia/MP3/XMMS_Plugins >> Plugins para XMMS.
Búsqueda de software relacionado con XMMS (incluidos los plugins).
LINUXLINKS SourceForge
|