Copyright
Copyright © José
Luis Lara Carrascal 2006-2024
Sumario
Introducción
Preliminares
Instalación
Configurar el inicio de Adesklets
Desklets
Configuración de los Desklets
Iniciamos Adesklets
Enlaces
Introducción
Adesklets
es una consola interactiva Imlib2 que permite la posibilidad de colocar
indicadores de estado, lanzadores de aplicaciones, utilidades de
montaje de dispositivos, etc., en el fondo del escritorio
integrándose de forma perfecta con el entorno
gráfico que
se esté ejecutando.
Desde el 8-9-2010, este
proyecto está considerado oficialmente cerrado. Aún
así, este manual se seguirá actualizando y, si es
necesario, se incluirá la descarga del paquete de código
fuente del programa y los desklets, desde la propia Manualinux.
Preliminares
1) Comprobar que la ruta de instalación de los binarios del programa la tenemos en nuestro PATH
Abrimos una ventana de terminal y ejecutamos el siguiente comando:
[jose@Fedora-18 ~]$ echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/jose/bin
|
Si no aparece entre las rutas mostradas el directorio /usr/local/bin, abrimos un editor de texto y añadimos lo siguiente:
#!/bin/sh
export PATH=/usr/local/bin:$PATH |
Lo guardamos con el nombre variables.sh, y lo instalamos en /etc/profile.d.
$ su -c "install -m755 variables.sh /etc/profile.d" |
Tenemos que cerrar el emulador de terminal y volverlo a abrir para que
la variable de entorno aplicada sea efectiva. Es conveniente guardar
una copia de este script para posteriores
instalaciones de nuestro sistema, teniendo en cuenta que es el que se
va a utilizar a partir de ahora en todos los manuales de esta web, para
establecer variables de entorno globales, excepto en aquellas que
sólo afectan al usuario, en las que se utilizará el
archivo de configuración personal, ~/.bashrc.
La ventaja de utilizar el directorio /etc/profile.d es que es común a todas las distribuciones y nos evita tener que editar otros archivos del sistema como por ejemplo, /etc/profile.
2) Desinstalar versiones anteriores del programa ubicadas en el directorio /usr
Aún en el caso de que la versión a compilar la vayamos a
instalar en el mismo directorio que la que proporciona la
distribución, siempre se debe desinstalar previamente la versión antigua, para evitar conflictos innecesarios.
Instalación
Dependencias
Herramientas de Compilación
Entre paréntesis la
versión con la que se ha compilado Adesklets
para la elaboración de este documento.
* GCC - (14.1.0)
* Gawk - (5.3.0)
* M4 - (1.4.19)
* Make - (4.4.1)
* Automake - (1.16.5)
* Autoconf - (2.72)
* Pkg-config - (0.29.2)
* Bison - (3.8.2)
* Flex - (2.6.4)
Librerías
de Desarrollo
* Xorg - (7.7 / xorg-server 21.1.13)
LibX11 - (1.8.9)
* Fontconfig - (2.15.0)
* Imlib2 - (1.12.2)
* Ncurses - (6.5)
* Readline - (8.2)
Intérpretes de Lenguaje de Programación
* Perl - (5.38.0)
* Python - (2.7.18)
Descarga
adesklets-0.6.1.tar.bz2 | adesklets.diff.gz | adesklets_imlib2_pkg-config.diff | posix_signal.patch | bitstream_vera_sans.tar.xz | libstatgrab-0.13.tar.gz | pystatgrab-0.5.tar.gz
Optimizaciones
$ export
{C,CXX}FLAGS='-O3 -march=znver3 -mtune=znver3'
|
Donde pone znver3 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. |
x86-64-v2 |
Procesador genérico con con soporte de instrucciones X86-64 (MMX, SSE, SSE2, LAHFSAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11. |
x86-64-v3 |
Procesador genérico con con soporte de instrucciones X86-64 (MMX, SSE, SSE2, LAHFSAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3, AVX, AVX2, F16C, FMA, LZCNT, MOVBE, XSAVE, XSAVEC, FMA4) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11. |
x86-64-v4 |
Procesador genérico con con soporte de instrucciones X86-64 (MMX, SSE, SSE2, LAHFSAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3, AVX, AVX2, F16C, FMA, LZCNT, MOVBE, XSAVE, XSAVEC, AVX512*, FMA4) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11. |
Intel |
alderlake |
Intel Alderlake con soporte de instrucciones x86-64 (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, CLWB, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VNNI, AVX512BF16, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK, UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11. |
arrowlake |
Intel Arrow Lake con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, UINTR, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD y extensiones 64-bit. Esta opción está disponible a partir de GCC 14. |
arrowlake-s |
Intel Arrow Lake S con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, UINTR, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, AVXVNNIINT16, SHA512, SM3, SM4 y extensiones 64-bit. Esta opción está disponible a partir de GCC 14. |
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 opció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. |
cascadelake |
Intel Cascadelake 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, CLWB, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VNNI y extensiones 64-bit. Esta opción está disponible a partir de GCC 9. |
clearwaterforest |
Intel Clearwater Forest con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, ENQCMD, UINTR, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, AVXVNNIINT16, SHA512, SM3, SM4, USER_MSR, PREFETCHI y extensiones 64-bit. Esta opción está disponible a partir de GCC 14. |
cooperlake |
Intel Cooperlake 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, CLWB, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VNNI, AVX512BF16 y extensiones 64-bit. Esta opción está disponible a partir de GCC 10. |
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 opci´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 opci´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 opci´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 opci´n sandybridge. |
emeraldrapids |
Intel Emerald Rapids. Esta opción está disponible a partir de GCC 13 y es equivalente a la opción sapphirerapids. |
goldmont |
Intel Goldmont con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PCLMUL, RDRND, XSAVE, XSAVEOPT, FSGSBASE y extensiones 64-bit. Esta opción está disponible a partir de GCC 9. |
goldmont-plus |
Intel Goldmont Plus con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PCLMUL, RDRND, XSAVE, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, UMIP y extensiones 64-bit. Esta opción está disponible a partir de GCC 9. |
grandridge |
Intel Grand Ridge con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, RAOINT y extensiones 64-bit. Esta opción está disponible a partir de GCC 13. |
graniterapids |
Intel Grand Ridge con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, AES, CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, PKU, AVX512VBMI, AVX512IFMA, SHA, AVX512VNNI, GFNI, VAES, AVX512VBMI2, VPCLMULQDQ, AVX512BITALG, RDPID, AVX512VPOPCNTDQ, PCONFIG, WBNOINVD, CLWB, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK, UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI, AVX512-FP16, AVX512BF16, AMX-FP16, PREFETCHI y extensiones 64-bit. Esta opción está disponible a partir de GCC 13. |
graniterapids-d |
Intel Granite Rapids D con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, AES, CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, PKU, AVX512VBMI, AVX512IFMA, SHA, AVX512VNNI, GFNI, VAES, AVX512VBMI2, VPCLMULQDQ, AVX512BITALG, RDPID, AVX512VPOPCNTDQ, PCONFIG, WBNOINVD, CLWB, MOVDIRI, MOVDIR64B, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK, UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI, AVX512FP16, AVX512BF16, AMX-FP16, PREFETCHI, AMX-COMPLEX y extensiones 64-bit. Esta opción está disponible a partir de GCC 14. |
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. |
lunarlake |
Intel Lunar Lake. Esta opción está disponible a partir de GCC 14 y es equivalente a la opción arrowlake-s. |
meteorlake |
Intel Meteor Lake. Esta opción está disponible a partir de GCC 13. |
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. |
pantherlake |
Intel Panther Lake con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, UINTR, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, AVXVNNIINT16, SHA512, SM3, SM4, PREFETCHI y extensiones 64-bit. Esta opción está disponible a partir de GCC 14. |
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. |
raptorlake |
Intel Raptor Lake. Esta opción está disponible a partir de GCC 13. |
rocketlake |
Intel Rocket Lake con soporte de instrucciones x86-64 (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 11. |
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. |
sapphirerapids |
Intel Sapphire Rapids con soporte de instrucciones x86-64 (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, CLWB, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VNNI, AVX512BF16, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK, UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11. |
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. |
sierraforest |
Intel Sierra Forest con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD y extensiones 64-bit. Esta opción está disponible a partir de GCC 13. |
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. |
tigerlake |
Intel Tigerlake 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, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT y extensiones 64-bit. Esta opción está disponible a partir de GCC 10. |
tremont |
Intel Tremont con soporte
de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PCLMUL, RDRND, XSAVE, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, UMIP, GFNI-SSE, CLWB, ENCLV y extensiones 64-bit. Esta opción está disponible a partir de GCC 9. |
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. |
znver2 |
Procesadores basados en
AMD Family 17h core con soporte de instrucciones x86-64 (BMI, BMI2, CLWB, 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 9. |
znver3 |
Procesadores basados en AMD Family 19h core con soporte de instrucciones x86-64 (BMI, BMI2, CLWB, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, RDPID, WBNOINVD, PKU, VPCLMULQDQ, VAES) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11. |
znver4 |
Procesadores basados en AMD Family 19h core con soporte de instrucciones x86-64 (BMI, BMI2, CLWB, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, RDPID, WBNOINVD, PKU, VPCLMULQDQ, VAES, AVX512F, AVX512DQ, AVX512IFMA, AVX512CD, AVX512BW, AVX512VL, AVX512BF16, AVX512VBMI, AVX512VBMI2, AVX512VNNI, AVX512BITALG, AVX512VPOPCNTDQ, GFNI) y extensiones 64-bit. Esta opción está disponible a partir de GCC 12.3. |
znver5 |
Procesadores basados en AMD Family 1ah core con soporte de instrucciones x86-64 (BMI, BMI2, CLWB, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, RDPID, WBNOINVD, PKU, VPCLMULQDQ, VAES, AVX512F, AVX512DQ, AVX512IFMA, AVX512CD, AVX512BW, AVX512VL, AVX512BF16, AVX512VBMI, AVX512VBMI2, AVX512VNNI, AVX512BITALG, AVX512VPOPCNTDQ, GFNI, AVXVNNI, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT, PREFETCHI) y extensiones 64-bit. Esta opción está disponible a partir de GCC 14. |
Optimizaciones adicionales
Optimizaciones adicionales |
Graphite
|
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block'
|
IPA
|
$ export {C,CXX}FLAGS+=' -fipa-pta'
|
LTO |
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=auto'
|
En versiones inferiores a GCC
10, sustituir auto
por el número de núcleos que tenga nuestro
procesador. Si sólo tiene uno, utilizar el parámetro -flto
|
Parámetros adicionales
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 -L/opt/gcc14/lib64" |
Cada usuario tendrá
que establecer la ruta de búsqueda de directorios, en
función de la distribución que utilice. |
Establecer el uso de enlazador dinámico para Mold |
$ export LDFLAGS+=' -fuse-ld=mold' |
Extracción
y Configuración
$ tar jxvf
adesklets-0.6.1.tar.bz2
$ cd adesklets-0.6.1
$ zcat ../adesklets.diff.gz | patch -Np1
$ patch -Np1 -i ../posix_signal.patch
$ patch -Np1 -i ../adesklets_imlib2_pkg-config.diff
$ autoreconf -vif
$ export LDFLAGS+=" -lm"
$ ./configure
$ sed -i 's:/bin/sh ${SHELL}:/bin/sh:g' doc/Makefile |
Explicación
de los comandos
zcat ../adesklets.diff.gz | patch -Np1 :
Aplica el parche de compatibilidad con las últimas versiones de Fontconfig.
patch -Np1 -i ../posix_signal.patch : Aplica este parche requerido para que el programa funcione correctamente en sistemas de 64 bits.
patch -Np1 -i ../adesklets_imlib2_pkg-config.diff : Aplica este parche personal para poder compilar el soporte de las últimas versiones de Imlib2.
autoreconf -vif
:
Actualiza el script configure a los cambios aplicados por los parches.
export LDFLAGS+=" -lm" : Soluciona un error en la compilación del paquete, en concreto éste:
/tmp/ccmmp9bm.ltrans0.ltrans.o:<artificial>:function adesklets_events_loop: error: undefined reference to 'floor'
collect2: error: ld devolvió el estado de salida 1
|
sed -i 's/bin/sh ${SHELL}:/bin/sh:g' doc/Makefile : Subsana un error en la instalación de las páginas de manual del programa.
Compilación
Parámetros de compilación opcionales
-j$(nproc):
Establece el número de procesos de compilación en
paralelo, en función del número de
núcleos e hilos que tenga nuestro procesador, tomando como
referencia la información mostrada por el sistema con el comando
correspondiente. Si nuestro procesador es mononúcleo de un solo
hilo, no añadir esta opción.
Instalación
como root
$ su -c "make install-strip" |
Instalación de la fuente Bitstream Vera Sans como usuario
La inmensa mayoría de los Desklets
están configurados para utilizar esta fuente de texto. Si no la
tenemos instalada en nuestro sistema, la instalaremos como usuario, con
los siguientes comandos, aunque lo más seguro es que nuestra
distribución la tenga en los correspondientes repositorios de
software de la misma:
$ mkdir -p ~/.fonts
$ tar Jxvf bitstream_vera_sans.tar.xz --strip-components=1 -C ~/.fonts --wildcards *.ttf
$ cd ~/.fonts
$ mkfontscale
$ fc-cache -fv |
Instalación personalizada de Libstatgrab y Pystatgrab
Las versiones actuales de estas dependencias producen violación de segmento en la ejecución de los desklets
dependientes de las mismas. A continuación explico cómo
realizar una instalación personalizada de las versiones que
sí son funcionales y su posterior integración con Adesklets.
Extracción
y Configuración de Libstatgrab
$ tar zxvf libstatgrab-0.13.tar.gz
$ cd libstatgrab-0.13
$ ./configure --prefix=/tmp/libstatgrab --disable-static |
Explicación
de los comandos
--prefix=/tmp/libstatgrab : Instalamos el paquete en /tmp/libstatgrab para posteriormente poder compilar Pystatgrab. Luego moveremos lo que necesitemos al directorio final de instalación, /usr/local/share/adesklets.
--disable-static
: Desactiva la compilación de la librería
estática, al no ser necesaria para la compilación de Pystatgrab.
Compilación
Instalación
como root
$ su -c "make install-strip" |
Extracción
y Compilación de Pystatgrab
$ tar zxvf pystatgrab-0.5.tar.gz
$ cd pystatgrab-0.5
$ export PKG_CONFIG_PATH=/tmp/libstatgrab/lib/pkgconfig:$PKG_CONFIG_PATH
$ python2 setup.py build |
Explicación
de los comandos
export PKG_CONFIG_PATH=/tmp/libstatgrab/lib/pkgconfig:$PKG_CONFIG_PATH : Establecemos una variable de entorno PKG_CONFIG_PATH temporal para poder compilar el módulo de Python.
Instalación
como root personalizada de Libstatgrab y Pystatgrab
$ su
# cp -adf /tmp/libstatgrab/lib/*.so* /usr/local/share/adesklets
# cp -f --no-preserve=ownership build/lib.linux-x86_64-2.7/* /usr/local/share/adesklets |
Explicación
de los comandos
cp -adf /tmp/libstatgrab/lib/*.so* /usr/local/share/adesklets : Copia las librerías compartidas de Libstatgrab al directorio /usr/local/share/adesklets.
cp -f --no-preserve=ownership build/lib.linux-x86_64-2.7/* /usr/local/share/adesklets : Copia el módulo de Python al mismo directorio al que hemos copiado su principal dependencia.
Editar los scripts de Python de los Desklets que dependan de Pystatgrab
Abrimos con un editor de texto, el script de ejecución
correspondiente y añadimos lo siguiente (en color rojo), justo encima y separado
por una línea en blanco, del texto de código, import adesklets. Un ejemplo con el desklets Anetmon.
*** DO NOT edit this file for changing the configuration; edit instead
`config.txt' in this directory ***
--------------------------------------------------------------------------------
"""
import sys
sys.path.append('/usr/local/share/adesklets')
from ctypes import *
lib1 = cdll.LoadLibrary('/usr/local/share/adesklets/libstatgrab.so')
import adesklets
try:
import statgrab
except ImportError:
print "ERROR: **** You are missing the pystatgrab module"
print " **** Read the README file for dependency information"
adesklets.quit()
|
Lo mismo podemos hacer en los siguientes desklets: acpumon, anetmon,
SystemMonitor y wbcpu. Si me dejo alguno, basta buscar con grep el
término statgrab en el script correspondiente ubicado en el
directorio en cuestión.
Estadísticas de Compilación e Instalación de Adesklets
Estadísticas de Compilación e Instalación de Adesklets |
CPU |
AMD Ryzen 5 5500 |
MHz |
3600 (BoostMax=4457) |
RAM |
32 GB |
Sistema de archivos |
XFS |
Versión del Kernel |
6.9.2-ml SMP PREEMPT_DYNAMIC x86_64 |
Modo de frecuencia de la CPU |
powersave (balance performance) |
Planificador de CPU |
BMQ |
Versión de Glibc |
2.39 |
Enlazador dinámico |
Mold 2.31.0 |
Compilador |
GCC 14.1.0 |
Parámetros de optimización |
-03 -march=znver3
-mtune=znver3 -ftree-loop-linear
-floop-strip-mine -floop-block -fipa-pta -fuse-linker-plugin -flto=auto |
Parámetros de compilación |
-j12 |
Tiempo de compilación |
2" |
Archivos instalados |
34 |
|
Enlaces simbólicos creados |
2 |
|
Ocupación de espacio en disco |
584 KB |
Archivo de configuración personal
~/.adesklets |
Es el archivo de configuración personal de Adesklets en nuestro home, contiene la configuración de la posición de los Desklets
en la pantalla y la ruta al script de ejecución de cada uno, es
muy importante hacer una copia de seguridad del mismo. Éste se
crea de forma automática cuando registramos por primera vez
un Desklets, no es necesaria su edición de forma manual. |
Archivo de configuración de ejemplo |
# This is adesklets configuration file.
#
# It gets automatically updated every time a desklet main window
# parameter is changed, so avoid manual modification whenever
# a desklet is running. In fact, manual changes to this file
# should rarely be needed. See `info adesklets'.
[/home/jose/.desklets/volume-0.0.8/volume.py]
id=0 screen=0 x=639 y=588
[/home/jose/.desklets/anetmon-0.1.0/anetmon.py]
id=0 screen=0 x=378 y=570
[/home/jose/.desklets/photo-0.0.5/photo.py]
id=0 screen=0 x=50 y=386
[/home/jose/.desklets/modubar-0.0.1/modubar.py]
id=0 screen=0 x=134 y=15 |
Directorio de instalación de los Desklets
~/.desklets |
Es el directorio de instalación de los Desklets que nos descarguemos mediante la utilidad adesklets_installer.
Aunque esta utilidad ya no es funcional, podemos seguir utilizando este
directorio como el predefinido para la ubicación de estos.
Podemos utilizar cualquier otro directorio para ubicar los Desklets, la ruta al mismo quedará registrada en el archivo de configuración de Adesklets. |
Desinstalación
como root
1)
MODO TRADICIONAL
En el directorio de compilación
ejecutamos el siguiente comando:
NOTA: Este comando no desinstala el programa por completo y produce errores al ejecutarlo.
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.
adesklets-0.6.1-scripts.tar.gz
$ su
# tar zxvf adesklets-0.6.1-scripts.tar.gz
# cd adesklets-0.6.1-scripts
# ./Desinstalar_adesklets-0.6.1 |
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 adesklets-0.6.1-scripts.tar.gz
# cd adesklets-0.6.1-scripts
# ./Respaldar_adesklets-0.6.1 |
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_adesklets-0.6.1
|
Configurar
el inicio de Adesklets
Adesklets no
funciona con todos los entornos, vamos a explicar los casos
particulares:
A)
Enlightenment - E16
Los Desklets sólo
aparecen en el primer escritorio virtual, si se
añade la opción --e16
como se explica en la documentación de Adesklets, éstos ni aparecen.
B)
Enlightenment - E17
Dadas las caracteristicas particulares
de este
entorno en cuanto a la gestión del fondo de la pantalla, Adesklets no
funciona con el mismo.
C)
ROX-Desktop
Como está
parcialmente implementado
el soporte de este escritorio, aún iniciándolo
con la
opción --rox
los Desklets
aparecerán sin transparencia creando un efecto muy
desagradable.
D)
XFce4
Debemos ejecutarlo siempre con la
opción --xfce4,
su integración es perfecta.
Si tuvieramos problemas en el inicio de Adesklets,
en lo que respecta a la integración de éste con el fondo
del escritorio, es decir, que las transparencias se muestren
correctamente, tendremos que retardar su ejecución
mediante el comando sleep,
como se muestra en los ejemplos que pongo a continuación.
En algunos entornos es probable que tengamos que crear un script de
ejecución similar al que viene explicado en manuales como
el de TabLaunch.
1) Blackbox
Siguiendo el método que se utiliza en el manual de Blackbox lo añadimos al script ~/.blackbox/autostart de la siguiente forma:
#!/bin/sh
(sleep 2; bbkeys &) &
docker &
bsetbg -f ~/Fotos/40.jpg
sleep 5; adesklets &
|
2) Fluxbox
Añadimos el comando de ejecución en la
sección correspondiente del script de inicio ~/.fluxbox/startup:
# Applications you want to run
with fluxbox.
# MAKE SURE THAT APPS THAT KEEP RUNNING HAVE AN ''&'' AT THE
END.
#
# unclutter -idle 2 &
# wmnd &
# wmsmixer -w &
wmix &
sleep5; adesklets &
|
3) Fvwm
Añadimos el comando de ejecución en la
sección correspondiente del archivo autostart, cuya configuración se explica en el manual de Fvwm.
AddToFunc StartFunction I Test (Init) Exec exec xscreensaver
AddToFunc StartFunction I Test (Init) Exec exec adesklets
|
4) IceWM
Añadimos el comando de ejecución al script de inicio, ~/.icewm/startup
#!/bin/sh
sleep 5; adesklets &
gai-bgswitcher &
bluecombo &
sleep 5; wmix & |
5) JWM
Añadimos el comando de ejecución en la sección correspondiente del archivo de
configuración ~/.jwmrc, en la versión original y ~/.jwm/autostart.xml en la versión en español disponible en la web.
<StartupCommand>
sleep 5 && adesklets &
</StartupCommand>
|
6) Openbox
Añadimos el comando de ejecución al script de inicio, ~/.config/openbox/autostart.sh
sleep 5 &&
pypanel &
xbindkeys &
Esetroot -scale ~/Fondos/2141.jpg
sleep 5 && adesklets &
|
7) Pekwm
Añadimos el comando de ejecución en la
sección correspondiente del script de inicio ~/.pekwm/start
# There's probably a few other
good uses for it, too. I mainly pushed for it
# because when I was doing fluxbox's docs, people used to complain that
there
# wasn't one, and I wanted to avoid that for pekwm. ;) --eyez
numlockx &
fbpanel &
#idesk &
#wmix &
hsetroot -fill /home/jose/Fotos/Natasha_Henstridge.jpg -gamma 1.5
-sharpen 1.5 -blur 1.0
sleep 5 && adesklets &
|
8) XFce 4
Abrimos un editor de texto y añadimos lo siguiente:
[Desktop Entry]
Type=Application
Name=Adesklets
Comment=
Exec=adesklets --xfce4
StartupNotify=false
Terminal=false
Hidden=false
OnlyShowIn=XFCE;
|
Lo guardamos con el nombre adesklets.desktop y lo copiamos a ~/.config/autostart.
$ mkdir -p ~/.config/autostart
$ cp adesklets.desktop ~/.config/autostart
|
9) Para
los que inician X desde
terminal con el comando startx
Para los usuarios que inician los entornos gráficos con el
comando startx,
pueden añadir el comando de ejecución al archivo .xinitrc que se
encuentra en nuestro home si no existe lo creamos, y
añadimos lo siguiente:
sleep 5 && adesklets &
exec fvwm
|
10) XDM
Añadimos el comando de ejecución al
archivo .xsession
que se
encuentra en nuestro home,
si no existe lo creamos, y añadimos lo siguiente:
sleep 5 && adesklets &
exec fvwm
|
Para otros administradores de ventanas, consultar sus
respectivos
manuales, en lo que haga referencia a la ejecución de
programas
al inicio de estos.
Desklets
Una vez tenemos instalado Adesklets
sólo nos queda descargarnos los Desklets
que deseemos usar con nuestro entorno gráfico. Nos vamos a
la
web del programa y visitamos la sección correspondiente de
los Desklets. Nos descargamos cualquiera de ellos, y lo extraemos en el directorio, ~/.desklets.
Ya solo nos queda testearlo en primer lugar, es
decir, comprobar si funciona el Desklet
con la configuración que trae por defecto y por
último registrarlo para que se inicie con Adesklets.
Vamos con un ejemplo, el Desklet Yab,
ejecutamos dentro del directorio del mismo lo siguiente:
[jose@localhost
yab-0.0.2]$
./yab.py
Do you want to (r)egister this desklet or to
(t)est it? |
Ahora nos pregunta si queremos registrarlo
(pulsando r) o probarlo (pulsando t), pulsamos t porque lo primero que
hay que hacer
es comprobar si funciona. Al hacer esto nos aparecerá el Desklet en
la pantalla.
[jose@localhost
yab-0.0.2]$
./yab.py
Do you want to (r)egister this desklet or to (t)est it? t
Now testing...
============================================================
If you do not see anything (or just an initial flicker
in the top left corner of your screen), try `--help',
and see the FAQ: `info adesklets'.
============================================================ |
Si no aparece y nos sale un mensaje de
error en la
terminal, es que el archivo de configuración no funciona en
nuestro sistema, casi siempre por un problema de fuentes. Deberemos
editar el archivo config.txt
que es el archivo de configuración que utilizan todos los Desklets
y que se encuentra siempre en el directorio de cada Desklet.
Una vez hemos comprobado que
funciona terminamos
registrándolo, tecleamos Ctr+C para terminar la
ejecución
del Desklet
y volvemos a iniciarlo, cuando nos pregunte, pulsamos r y el Desklet
queda registrado en el archivo de configuración ~/.adesklets.
Conviene hacer una copia de seguridad de este archivo, sobre todo
cuando tenemos varios Desklets
funcionando en nuestro escritorio porque en el mismo quedan registradas
las posiciones de éstos sobre el mismo. Y no es la primera vez
que en un
fallo o reseteo del servidor gráfico la
configuración se
ha perdido, con el engorro que supone tener que volver a registrar otra
vez los Desklets.
Cada vez que hagamos una modificación
del archivo de configuración de cualquier Desklet
deberemos de reiniciar la
aplicación ejecutando en una terminal el comando adesklets, sin
olvidar que si estamos usando el entorno XFce4
deberemos de añadir la opción --xfce4
Los usuarios comprobarán que en los archivos
de configuración aparecen diversas configuraciones identificadas
con el parámetro id y un número determinado: id0, id1, etc. Esto es así porque Adesklets permite ejecutar diferentes instancias de un mismo Desklet pero con diferente configuración. Para registrar o comprobar por ejemplo, la configuración id1, ejecutaremos el siguiente comando:
$ ADESKLETS_ID=1 ./yab.py
|
Siempre poner el parámetro ADESKLETS_ID=nº por delante de comando de ejecución, esto hará que en el archivo de configuración de Adesklets queden registradas dos instancias del mismo Desklets pero con diferente configuración.
Cuando queramos matar la ejecución de los Desklets, abrimos una ventana de terminal y ejecutamos el siguiente comando:
Configuración de los Desklets
A continuación explico algunos ejemplos de configuración de los Desklets para que sirvan de referencia a los usuarios de este programa.
1) Yab
Yab es una barra de iconos muy similar a Wbar, utiliza el directorio icons
para la ubicación de los iconos pero podemos utilizar
también iconos ubicados en otros directorios añadiendo la
ruta completa al icono en el archivo de configuración, los que
trae por defecto son de 128x128 píxeles, que es el tamaño
máximo definido al situar el puntero del ratón sobre el
icono para hacer el efecto de zoom, el tamaño normal es de 64x64
píxeles.
Para añadir más iconos o sustituir
éstos por otros tendremos que copiarlos a este directorio o
indicar la ruta a éstos en el archivo de configuración.
Si el tamaño de 128 para el zoom y 64 para el estado normal nos
parece excesivo, podemos utilizar 64 y 48 respectivamente, modificando
los parámetros icon_max* e icon_min* del archivo de configuración, config.txt, y utilizando iconos de 64x64 píxeles.
id0 = {'bar_background_1': 'AAAAAA',
'bar_background_2': None,
'bar_foreground': '000000',
'bar_gradient_angle': 0,
'bar_height': 32,
'bar_opacity_1': 100,
'bar_opacity_2': None,
'caption_above': True,
'caption_color': 'AAAAAA',
'caption_delay': 0.10000000000000001,
'caption_fade_in': True,
'caption_fade_in_duration': 0.5,
'caption_fade_in_steps': 10,
'caption_font': 'Vera',
'caption_size': 20,
'click_effect': 'tint(alpha=100,red=255,green=255,blue=255);',
'click_effect_duration': 0.10000000000000001,
'icon_max_height': 128,
'icon_max_width': 128,
'icon_maximize_threshold': 0.90000000000000002,
'icon_min_height': 64,
'icon_min_width': 64,
'icon_spacing': 5,
'icons': [('emacs.png', 'GNU Emacs', 'emacs'),
('firefox.png', 'Firefox', 'firefox'),
('gimp.png', 'The GIMP', 'gimp-2.6'),
('opera.png', 'Opera', 'opera'),
('rox.png', 'ROX-Filer', 'rox'),
('xmms.png', 'XMMS', 'xmms')]}
|
El formato de entrada para añadir aplicaciones a Yab es el siguiente: ('icono', 'Título', 'ejecutable'), podemos ir copiando, pegando y editando las entradas hacia abajo, no creo que exista muchos problemas al respecto.
2) Modubar
Ésta es la versión modular de Yab,
de momento el único módulo añadido es un reloj
digital, por lo demás la forma de añadir aplicaciones con
su respectivos iconos es la misma que en Yab.
id0 = {'bar_background_1': 'AAAAAA',
'bar_background_2': None,
'bar_foreground': '000000',
'bar_gradient_angle': 0,
'bar_height': 32,
'bar_opacity_1': 100,
'bar_opacity_2': None,
'caption_above': False,
'caption_color': 'AAAAAA',
'caption_delay': 0.10000000000000001,
'caption_fade_in': True,
'caption_fade_in_duration': 0.5,
'caption_fade_in_steps': 10,
'caption_font': 'Vera',
'caption_size': 14,
'click_effect': 'tint(alpha=100,red=100,green=100,blue=100);',
'click_effect_duration': 0.10000000000000001,
'icon_max_height': 48,
'icon_max_width': 48,
'icon_maximize_threshold': 1.0,
'icon_min_height': 32,
'icon_min_width': 32,
'icon_spacing': 5,
'icons': [('home.png', 'Jose', 'rox /home/jose'),
('win_c.png', 'Win_c', 'rox /mnt/win_c'),
('win_d.png', 'Win_d', 'rox /mnt/win_d'),
('wine.png', 'Wine', 'rox /home/jose/c'),
('cdrom.png', 'Cdrom', 'rox /mnt/cdrom'),
('cd-rw.png', 'Cd-rw', 'rox /mnt/cd-rw'),
('email.png', 'Claws Mail', 'claws-mail'),
('firefox.png', 'Firefox', 'firefox'),
('opera.png', 'Opera', 'opera'),
('xchat.png', 'Xchat', 'xchat'),
('gimp.png', 'El GIMP', 'gimp'),
('scanner.png', 'Xsane', 'xsane'),
('mousepad.png', 'Mousepad', 'mousepad'),
('azureus.png', 'Azureus', 'azureus'),
('xdtv-48.png', 'XdTV', 'xdtv'),
('gftp.png', 'Gftp', 'gftp'),
('nvu.png', 'Nvu', 'nvu')],
'mod_background_1': 'AAAAAA',
'mod_background_2': None,
'mod_clock_font': 'Vera',
'mod_clock_size': 14,
'mod_font_color': '000000',
'mod_font_opacity': 'FF',
'mod_foreground_1': '000000',
'mod_foreground_2': None,
'mod_gradient_angle': 0,
'mod_opacity_1': 100,
'mod_opacity_2': None,
'module_height': 32,
'modules': [('clock', 1)],
'modules_on': True}
|
La información sobre la configuración de los Desklets suele venir en los archivos README
o en su caso en el mismo archivo config.txt, de todas formas cualquier
problema respecto a su configuración pueden consultarlo en Manualinux - Foro.
Iniciamos Adesklets
Captura de
Fluxbox + Adesklets (Modubar, Anetmon, Volume y Photo)
Captura de
XFce4 + Adesklets (Modubar, Anetmon, AAnalogue, SystemMonitor, Volume y Photo)
Enlaces
http://adesklets.sourceforge.net >> La web de Adesklets.
La sección de los Desklets
|