Copyright
Copyright © José
Luis Lara Carrascal 2006-2023
Sumario
Introducción
ROX-Filer
ROX-Lib
ROX-CLib
ROX-Session
Archive
Edit
Trash
Aplicaciones de configuración de ROX Desktop
Componentes del panel de ROX Desktop
Complementos de XFce 4 adaptados a ROX Desktop
Otras aplicaciones de ROX Desktop
Desinstalar ROX Desktop
Configurar el inicio de ROX Desktop
Iniciamos ROX Desktop
Soporte VFS con AVFS
Utilizar Fluxbox con ROX Desktop
Enlaces
Introducción
ROX Desktop es un entorno de escritorio creado a partir del administrador de archivos, ROX-Filer,
aprovechando las funciones de éste para crear paneles de
escritorio, y gestionar el fondo del mismo con iconos de aplicaciones
incluidos. Para guardar las opciones de configuración de temas,
fuentes de texto, teclado, etc, se utiliza el programa ROX-Session,
que además, se encarga también de gestionar las sesiones
de usuario, permitiendo el inicio y cierre de éstas, o el
reinicio, apagado y suspensión del sistema, previa
configuración del comando correspondiente.
Como sucede con otros entornos de escritorio, también
encontraremos los llamados applets, aplicaciones que podemos
incrustar en el panel o como icono de escritorio, para mostrar todo
tipo de elementos propios de un entorno de escritorio clásico:
control de volumen, paginador, barra de tareas, menú de inicio,
etc. Junto a los applets encontramos aplicaciones adicionales, como
puedan ser un editor de texto simple, un visor de imágenes, un
comparador de archivos de texto, etc.
En definitiva, ROX Desktop es un entorno de escritorio muy completo, que no ha tenido mucha suerte en su difusión entre los usuarios de GNU/Linux,
al no haber existido nunca una distribución que lo adoptara
como entorno de escritorio principal. En este manual trataremos
su instalación desde cero, con una gran cantidad de software
adicional personalizado, traducido al español y descargable
desde este sitio web.
ROX-Filer
Es el administrador de archivos y la base de ROX Desktop.
Características
*
Rápido escaneado de directorios (en segundo plano).
* Autoredimensionado de la ventana en función del
número de objetos.
* Operaciones en segundo plano (copiar, mover, enlazar,
borrar, etc.).
* Montaje y desmontaje de sistemas de archivos (CDs,
disquetes, etc.).
* Soporte del protocolo XDND (arrastrar y soltar), y la
extensión XDS que permite arrastrar y guardar.
* Potente motor de búsqueda de archivos.
* Altamente configurable con caja de diálogo de
opciones.
* Soporte de atajos de teclado para todas las entradas del
menú.
* Un minibuffer automático permite navegar por el
sistema
de archivos usando el mismo sistema de autocompletado que usa
bash.
* El minibuffer tambien puede usarse para ejecutar comandos
de terminal.
* Soporte para lanzar archivos con extensión
.desktop
Instalación
Dependencias
Herramientas de Compilación
Entre paréntesis la
versión con la que se ha compilado ROX-Desktop
para la elaboración de este documento.
* GCC - (13.2.0) o Clang - (16.0.6)
* Make - (4.4.1)
* Automake - (1.16.5)
* Gettext - (0.22)
* Autoconf - (2.71)
* Pkg-config - (0.29.2)
Librerías
de Desarrollo
* Xorg - (7.7 / xorg-server 21.1.8)
LibICE - (1.1.1)
LibSM - (1.2.4)
LibX11 - (1.8.6)
* Freetype2 - (2.13.1)
* GTK+ - (2.24.33)
* Libxml2 - (2.11.4)
* Pango - (1.50.14)
* Shared-mime-info - (2.2)
Descarga
rox-filer-2.11.tar.bz2 | ROX-Filer_es.diff.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: |
Nota informativa sobre las optimizaciones para GCC
|
* 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='.
|
Nota informativa sobre las optimizaciones para Clang
|
* La opción '-mtune=' está soportada a partir de la versión 3.4 de Clang.
* Los valores de color azul no son compatibles con Clang.
* Las filas con el fondo de color amarillo son valores exclusivos de Clang y, por lo tanto, no son aplicables con GCC.
|
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 y Clang 1.9. |
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 y Clang 12. |
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 y Clang 12. |
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 y Clang 12. |
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 y Clang 12. |
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 y Clang 3.6. |
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 y Clang 3.9. |
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 y Clang 8. |
cooperlake |
Intel Cooper
Lake 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 y Clang 9. |
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. |
emeraldrapids |
Intel Emerald Rapids. Esta opción está disponible a partir de GCC 13 y Clang 16. |
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 y Clang 5. |
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 y Clang 7. |
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 y Clang 16. |
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 y Clang 16. |
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 y Clang 7. |
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 y Clang 7. |
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 y Clang 3.4. |
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 y Clang 6. |
lakemont |
Intel Quark Lakemont MCU, basado en el procesador Intel Pentium. Esta opción está disponible a partir de GCC 6 y Clang 3.9. |
meteorlake |
Intel Meteor Lake. Esta opción está disponible a partir de GCC 13 y Clang 16. |
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. |
penryn |
Intel Penryn con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y SSE4.1. |
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 y Clang 16. |
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 y Clang 13. |
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 y Clang 3.6. |
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 and AVX-VNNI) y extensiones 64-bit. Esta opción
está disponible a partir de GCC 11 y Clang 12. |
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 y Clang 3.6. |
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 y Clang 16. |
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 y Clang 3.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 y Clang 3.9. |
tigerlake |
Intel Tiger Lake
con soporte de instrucciones OVBE, 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 y Clang 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 y Clang 7. |
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. |
yonah |
Procesadores basados en la microarquitectura de Pentium M, con soporte de instrucciones MMX, SSE, SSE2 y SSE3. |
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. La definición barcelona está disponible a partir de Clang 3.6. |
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 y Clang 3.4. |
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 y Clang 3.5. |
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 y Clang 4. |
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 y Clang 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 y Clang 12. |
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 y Clang 16. |
Optimizaciones adicionales
Optimizaciones adicionales |
GCC |
Graphite
|
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block'
|
IPA
|
$ export {C,CXX}FLAGS+=' -fipa-pta'
|
LTO |
$ export AR=gcc-ar RANLIB=gcc-ranlib NM=gcc-nm
$ 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
|
Clang |
Polly |
$ export {C,CXX}FLAGS+=' -O3 -mllvm -polly -mllvm -polly-vectorizer=stripmine' |
LTO |
$ export AR=llvm-ar RANLIB=llvm-ranlib NM=llvm-nm
$ export {C,CXX,LD}FLAGS+=' -flto' |
ThinLTO |
$ export AR=llvm-ar RANLIB=llvm-ranlib NM=llvm-nm
$ export {C,CXX,LD}FLAGS+=' -flto=thin' |
La aplicación de esta optimización es alternativa
a la tradicional LTO, a partir de Clang 3.9 y, por lo tanto, no es combinable con la misma. |
Parámetros adicionales
Parámetros adicionales de eliminación de avisos en el proceso de compilación |
$ export {C,CXX}FLAGS+=' -w' |
Parámetros adicionales de eliminación de errores específicos en el proceso de compilación |
GCC 10, Clang 11, y versiones superiores de los dos compiladores |
$ export {C,CXX}FLAGS+=' -fcommon' |
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/gcc13/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' |
Establecer el uso de enlazador dinámico para LLD |
Clang |
$ export LDFLAGS+=' -fuse-ld=lld' |
Optimizaciones complementarias LTO/ThinLTO de LLD |
$ export LDFLAGS+=' -Wl,--lto-aa-pipeline=globals-aa -Wl,--lto-newpm-passes=memcpyopt' |
Optimizaciones complementarias LTO de LLD |
$ export LDFLAGS+=" -Wl,--lto-partitions=$(nproc)" |
Optimizaciones complementarias ThinLTO de LLD |
$ export LDFLAGS+=" -Wl,--thinlto-jobs=$(nproc)" |
Establecer
el número de procesos de compilación en paralelo, en
función del número de núcleos e hilos que tenga nuestra
CPU
|
$ export MAKEFLAGS=-j$(nproc) |
Establecer la variable de entorno de uso de compilador para Clang |
$ export CC=clang CXX=clang++ |
Extracción
$ tar jxvf
rox-filer-2.11.tar.bz2
$ cd rox-filer-2.11
|
Aplicación del parche personal de actualización de la traducción al español
$ zcat ../ROX-Filer_es.diff.gz | patch -Np0
$ cd ROX-Filer/src/po
$ ./make-mo es
$ cd ../../..
|
Compilación
$ export LDFLAGS+=" -ldl -lm"
$ ROX-Filer/AppRun --compile
$ rm -rf ROX-Filer/{build,src,ROX-Filer.dbg,Help/Manual-*}
|
Explicación de los
comandos
export LDFLAGS+=" -ldl -lm"
:
Requerido para un correcto enlazado del binario resultante del proceso de compilación.
rm -rf ROX-Filer/{build,src,ROX-Filer.dbg,Help/Manual-*}
: Borra los directorios de compilación y código fuente
del paquete, una vez lo hemos compilado, al no ser necesarios para la
ejecución de ROX-Filer.
También borra el binario ejecutable con símbolos de
depuración y los manuales en italiano y francés del
programa.
Instalación como root
Por razones que no entiendo, se ha eliminado el instalador que
traían las anteriores versiones, con lo que tendremos que hacer
algunas cosas más para su correcta ejecución.
$ su
# mkdir -p /usr/apps
# cp -dRf --no-preserve=ownership ROX-Filer /usr/apps
|
Crear un script de ejecución de ROX-Filer
Creamos el script con cat o con un editor de texto:
$ cat > rox << "EOF"
#!/bin/sh
exec /usr/apps/ROX-Filer/AppRun "$@"
EOF
|
Luego, lo instalamos como root en /usr/bin
$ su -c "install -m755 rox /usr/bin"
|
Desde la versión 2.11 de ROX-Filer, este script se puede crear desde las opciones de configuración en Compatibilidad >> Programa de línea de comandos >> Crear script.
Creación del archivo rox-filer.desktop
Para que ROX-Filer
sea detectado por los menús de entornos gráficos
como XFce 4 o
paneles como LXPanel o Fbpanel, creamos el archivo desktop correspondiente con cat o con un editor de texto:
$ cat > rox-filer.desktop << "EOF"
[Desktop
Entry]
Name=ROX-Filer
GenericName=Administrador de archivos
Comment=El administrador de archivos de ROX Desktop
Exec=/usr/bin/rox
Icon=/usr/apps/ROX-Filer/.DirIcon
Categories=Application;System;FileTools;FileManager
Type=Application
EOF
|
Luego lo instalamos en /usr/share/applications. La desinstalación y respaldo de este archivo viene incluida en
los scripts correspondientes proporcionados en este manual.
$ su -c "install -m644 rox-filer.desktop /usr/share/applications"
|
Borrar las locales adicionales instaladas
$ su
# for i in cs da de et_EE eu fi fr gl hu it ja nl no pl pt_BR pt_PT \
ro ru sv uk vi zh_CN zh_TW; do \
rm -rf /usr/apps/ROX-Filer/Messages/$i &> /dev/null ; \
done
|
Estadísticas de Compilación e Instalación de ROX-Filer
Estadísticas de Compilación e Instalación de ROX-Filer |
CPU |
AMD Ryzen 5 5500 |
MHz |
3593.250 (BoostMax=4457.000) |
RAM |
32 GB |
Sistema de archivos |
XFS |
Versión del Kernel |
6.4.7-ml SMP PREEMPT_DYNAMIC x86_64 |
Modo de frecuencia de la CPU |
powersave (balance performance) |
Versión de Glibc |
2.38 |
Enlazador dinámico |
LLD 16.0.6 |
Compilador |
Clang 16.0.6 |
Parámetros de optimización |
-03 -march=znver3
-mtune=znver3 -mllvm -polly -mllvm
-polly-vectorizer=stripmine -flto=thin -Wl,--lto-aa-pipeline=globals-aa -Wl,--lto-newpm-passes=memcpyopt |
Parámetros de compilación |
-j12 |
Tiempo de compilación |
6" |
Archivos instalados |
120 |
|
Enlaces simbólicos creados |
2 |
|
Ocupación de espacio en disco |
1,6 MB |
Consumo inicial de CPU y RAM de ROX-Filer
Consumo inicial de CPU y RAM de ROX-Filer |
Programa
|
CPU |
RAM |
ROX-Filer |
0 % |
19,5 MB |
Para medir el consumo de CPU se utiliza el programa top, y para medir
el consumo de RAM se utiliza el script de Python, ps_mem.py, creado por Pádraig Brady, que podemos encontrar en este enlace. |
Directorios de
configuración personal
~/.config/rox.sourceforge.net |
Es el
directorio de configuración personal de ROX Desktop
en nuestro home. Es importante que hagamos siempre una copia de seguridad del directorio entero. |
~/.config/rox.sourceforge.net/SendTo |
Es el directorio que contiene las configuraciones creadas con las entradas del menú, Personalizar el menú... y Enviar a.... |
~/.config/rox.sourceforge.net/Mime-icons |
Es el directorio que contiene los iconos personalizados por el usuario de las extensiones de archivo manejadas por ROX-Filer. En esta entrada de Manualinux - Blog, lo explico mejor. |
~/.config/rox.sourceforge.net/ROX-Filer |
Es el
directorio de configuración personal de ROX-Filer
en nuestro home. |
~/.config/rox.sourceforge.net/ROX-Filer/Bookmarks.xml |
Es el archivo de configuración que almacena los marcadores de ROX-Filer. |
~/.config/rox.sourceforge.net/ROX-Filer/globicons |
Es el archivo de configuración que almacena la información de los iconos personalizados por el usuario en ROX-Filer, a través de la entrada del menú, Definir icono... |
~/.config/rox.sourceforge.net/ROX-Filer/menus2 |
Es el archivo de configuración de los atajos de teclado de ROX-Filer.
Este archivo se crea de forma automática cuando modificamos o
añadimos un atajo de teclado, en el menú de ROX-Filer.
Simplemente nos sitúamos en una entrada del menú, y
realizamos la combinación de teclado pertinente. Esto
sólo funciona si se está ejecutando ROX-Session, y éste gestiona las opciones de ROX Desktop.
Una vez se ha generado el archivo, para modificar los atajos de
teclado, lo podemos hacer desde cualquier entorno gráfico con el
que utilicemos, ROX-Filer. No es estrictamente necesario que lo estemos ejecutando con ROX-Session. |
~/.config/rox.sourceforge.net/ROX-Filer/panels |
Es el archivo de configuración que contiene el nombre del panel o paneles que se cargarán en el inicio de ROX Desktop. |
~/.config/rox.sourceforge.net/ROX-Filer/pan_Default |
Es el archivo de configuración del panel predefinido de ROX Desktop,
que se ubica siempre por defecto en la parte inferior de la pantalla.
Contiene toda la información de los componentes del panel. El
usuario puede crear hasta 3 paneles adicionales más. Uno por
cada borde libre de la pantalla.
Los paneles son redimensionables en altura, pero no lo son en anchura.
La posición de los paneles es intercambiable, es decir, si en
las opciones de un panel ubicado en la derecha de la pantalla,
modificamos su posición hacia la izquierda, el panel de la
izquierda será movido automáticamente hacia la derecha de
la pantalla. Esto también intercambiará los archivos de
configuración de los 2 paneles.
Los archivos de configuración de los paneles adicionales
sólo se crean si se modifican sus opciones iniciales o se
añaden elementos a los mismos. Los nombres de los archivos de
configuración de los paneles adicionales son los siguientes:
pan_Top >> el panel superior
pan_Right >> el panel derecho
pan_Left >> el panel izquierdo
|
~/.config/rox.sourceforge.net/ROX-Filer/pb_Default |
Es el archivo de configuración de los elementos del escritorio de ROX Desktop, todo lo relacionado con los iconos que tengamos en la pantalla y la imagen de fondo a utilizar en la misma. |
~/.config/rox.sourceforge.net/ROX-Filer/Options |
Es el archivo de configuración que almacena las opciones que modificamos desde las preferencias de ROX-Filer. |
ROX-Lib
ROX-Lib
contiene código compartido que puede usarse por otras
aplicaciones de ROX.
No exige al acceso como root para instalarlo, y no necesita
ser compilado (es puro python).
Instalación
Dependencias
* Python - (2.7.18)
* PyGTK - (2.24.0)
* Libxml2 - (2.11.4)
Descarga
rox-lib2-2.0.6.tar.bz2
Extracción
e Instalación como root
$ su
# tar jxvf rox-lib2-2.0.6.tar.bz2 -C /usr/lib rox-lib2-2.0.6/ROX-Lib2 --strip-components=1 -o
|
Borrar las locales adicionales instaladas
# for i in de fr hu it pl pt_BR zh_CN zh_TW; do \
rm -f /usr/lib/ROX-Lib2/Messages/$i.{po,gmo} &> /dev/null ; \
done
|
Traducción al
Español alternativa de ROX-Lib
Descarga
ROX-Lib_es-ML0.run
Firma Digital
ROX-Lib_es-ML0.run.asc
Verificar la firma digital del paquete
$ gpg --import manualinux.asc
$ gpg --verify ROX-Lib_es-ML0.run.asc ROX-Lib_es-ML0.run |
Instalación
como root
$ su -c "sh ROX-Lib_es-ML0.run" |
Estadísticas de Instalación de ROX-Lib
Estadísticas de Instalación de ROX-Lib |
Sistema de archivos |
XFS |
Archivos instalados |
95 |
|
Ocupación de espacio en disco |
808 KB |
ROX-CLib
ROX-CLib
contiene código compartido que puede usarse por otras
aplicaciones de ROX.
No exige al acceso como root para instalarlo, pero necesita
ser
compilado (está escrito en C). Proporciona interfaces al
sistema de
opciones, arrastrar y soltar, carga y almacenado, y operaciones
remotas
vía SOAP, además de otras
características.
Instalación
Dependencias
Herramientas de Compilación
* GCC - (13.2.0) o Clang - (16.0.6)
* Make - (4.4.1)
* Automake - (1.16.5)
* Gettext - (0.22)
* Libtool - (2.4.7)
* Autoconf - (2.71)
* Pkg-config - (0.29.2)
Librerías de Desarrollo
* GLib - (2.74.7)
* GTK+ - (2.24.33)
* Libxml2 - (2.11.4)
Descarga
ROX-CLib-2.1.10.tar.gz | ROX-CLib_es.diff.gz
Optimizaciones
Optimizaciones adicionales
Optimizaciones adicionales |
GCC |
Graphite
|
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block' |
IPA
|
$ export {C,CXX}FLAGS+=' -fipa-pta'
|
Clang |
Polly |
$ export {C,CXX}FLAGS+=' -O3 -mllvm -polly -mllvm -polly-vectorizer=stripmine' |
Parámetros adicionales
Parámetros adicionales de eliminación de avisos en el proceso de compilación |
$ export {C,CXX}FLAGS+=' -w' |
Parámetros adicionales de eliminación de errores específicos en el proceso de compilación |
Clang 15 y superiores |
$ export {C,CXX}FLAGS+=' -Wno-implicit-function-declaration' |
Parámetros adicionales de eliminación de errores específicos en el proceso de compilación |
Clang 16 |
$ export {C,CXX}FLAGS+=' -Wno-incompatible-function-pointer-types' |
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/gcc13/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' |
Establecer el uso de enlazador dinámico para LLD |
Clang |
$ export LDFLAGS+=' -fuse-ld=lld' |
Eliminar los símbolos innecesarios para la ejecución del programa |
$ export
LDFLAGS+=" -Wl,-s" |
Establecer la variable de entorno de uso de compilador para Clang |
$ export CC=clang CXX=clang++ |
Extracción
$ tar zxvf ROX-CLib-2.1.10.tar.gz
$ cd ROX-CLib
|
Aplicación del parche personal de traducción al español
$ zcat ../ROX-CLib_es.diff.gz | patch -Np1
$ cd src/po
$ ./make-mo es
$ cd ../../..
|
Compilación
$ export LDFLAGS+=" -ldl -lX11"
$ ROX-CLib/AppRun --compile
$ rm -rf ROX-CLib/src
|
Explicación de los
comandos
export LDFLAGS+=" -ldl -lX11"
:
Requerido para un correcto enlazado del binario resultante del proceso de compilación.
rm -rf ROX-CLib/src
: Borra el directorio del código fuente del paquete, una vez
lo hemos compilado, al no ser necesario para la ejecución de ROX-CLib.
Instalación como root
$ su -c "cp -dRf --no-preserve=ownership ROX-CLib /usr/lib" |
Estadísticas de Compilación e Instalación de ROX-CLib
Estadísticas de Compilación e Instalación de ROX-CLib |
CPU |
AMD Ryzen 5 5500 |
MHz |
3593.250 (BoostMax=4457.000) |
RAM |
32 GB |
Sistema de archivos |
XFS |
Versión del Kernel |
6.4.7-ml SMP PREEMPT_DYNAMIC x86_64 |
Modo de frecuencia de la CPU |
powersave (balance performance) |
Versión de Glibc |
2.38 |
Enlazador dinámico |
LLD 16.0.6 |
Compilador |
Clang 16.0.6 |
Parámetros de optimización |
-03 -march=znver3 -mtune=znver3 -mllvm -polly -mllvm -polly-vectorizer=stripmine |
Tiempo de compilación |
18" |
Archivos instalados |
203 |
|
Enlaces simbólicos creados |
25 |
|
Ocupación de espacio en disco |
2,6 MB |
ROX-Session
ROX-Session
es el gestor de sesiones de ROX Desktop
y el encargado de lanzar el entorno de escritorio y guardar todas las
configuraciones del mismo como puedan ser, la fuente a utilizar, tema
GTK+ y tema de iconos, resolución, configuración del
ratón, gamma, etc. Todas estas opciones se gestionan con
pequeñas aplicaciones que podemos encontrar en la web de ROX Desktop. La inmensa mayoría de ellas no requieren de compilación y sólo tenemos que moverlas al directorio /usr/apps para luego ejecutarlas haciendo clic sobre los mismas desde ROX-Filer.
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
|
En sistemas Debian y Slackware (no todos), los directorios sbin del sistema están excluidos del PATH del usuario. Por lo tanto, es recomendable en estos casos, ejecutar este comando como root.
Si no aparece entre las rutas mostradas el directorio /usr/local/sbin, abrimos un editor de texto y añadimos lo siguiente:
#!/bin/sh
export PATH=/usr/local/sbin:$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 ROX-Session
para la elaboración de este documento.
* GCC - (13.2.0) o Clang - (16.0.6)
* Make - (4.4.1)
* Automake - (1.16.5)
* Autoconf - (2.71)
* Gettext - (0.22)
* Pkg-config - (0.29.2)
Librerías
de Desarrollo
* Xorg - (7.7 / xorg-server 21.1.8)
LibICE - (1.1.1)
LibX11 - (1.8.6)
LibXext - (1.3.5)
LibXtst - (1.2.4)
LibXxf86vm - (1.1.5)
* D-Bus - (1.14.8)
* DBus-Glib - (0.112)
* GConf - (3.2.6)
* GTK+ - (2.24.33)
* Libxml2 - (2.11.4)
Librerías
* ROX-Lib - (2.0.6)
Descarga
rox-session-0.41.0.tar.gz | ROX-Session_es.diff.gz
Optimizaciones
Optimizaciones adicionales
Optimizaciones adicionales |
GCC |
Graphite
|
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block'
|
IPA
|
$ export {C,CXX}FLAGS+=' -fipa-pta'
|
LTO |
$ export AR=gcc-ar RANLIB=gcc-ranlib NM=gcc-nm
$ 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
|
Clang |
Polly |
$ export {C,CXX}FLAGS+=' -O3 -mllvm -polly -mllvm -polly-vectorizer=stripmine' |
LTO |
$ export AR=llvm-ar RANLIB=llvm-ranlib NM=llvm-nm
$ export {C,CXX,LD}FLAGS+=' -flto'
|
ThinLTO |
$ export AR=llvm-ar RANLIB=llvm-ranlib NM=llvm-nm
$ export {C,CXX,LD}FLAGS+=' -flto=thin' |
La aplicación de esta optimización es alternativa
a la tradicional LTO, a partir de Clang 3.9 y, por lo tanto, no es combinable con la misma. |
Parámetros adicionales
Parámetros adicionales de eliminación de avisos en el proceso de compilación |
$ export {C,CXX}FLAGS+=' -w'
|
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/gcc13/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' |
Establecer el uso de enlazador dinámico para LLD |
Clang |
$ export LDFLAGS+=' -fuse-ld=lld' |
Optimizaciones complementarias LTO/ThinLTO de LLD |
$ export LDFLAGS+=' -Wl,--lto-aa-pipeline=globals-aa -Wl,--lto-newpm-passes=memcpyopt' |
Optimizaciones complementarias LTO de LLD |
$ export LDFLAGS+=" -Wl,--lto-partitions=$(nproc)" |
Optimizaciones complementarias ThinLTO de LLD |
$ export LDFLAGS+=" -Wl,--thinlto-jobs=$(nproc)" |
Establecer
el número de procesos de compilación en paralelo, en
función del número de núcleos e hilos que tenga nuestra
CPU
|
$ export MAKEFLAGS=-j$(nproc) |
Establecer la variable de entorno de uso de compilador para Clang |
$ export CC=clang CXX=clang++ |
Extracción
$ tar zxvf rox-session-0.41.0.tar.gz
|
Aplicación del parche personal de traducción al español alternativa
$ cd ROX-Session
$ zcat ../ROX-Session_es.diff.gz | patch -Np1
$ cd src/po
$ ./make-mo es
$ cd ../../..
|
Compilación
$ ROX-Session/AppRun --compile
$ rm -rf ROX-Session/{build,src,*.dbg}
|
Explicación de los
comandos
rm -rf ROX-Session/{build,src}
: Borra los directorios de compilación y código fuente
del paquete, una vez lo hemos compilado, al no ser necesarios para la
ejecución del ROX-Session. También borra los binarios ejecutables con símbolos de depuración.
Instalación como root
$ export XAUTHORITY=$HOME/.Xauthority
$ su
# mkdir -p /usr/local/sbin
# mkdir -p /usr/apps
# cp -dRf --no-preserve=ownership ROX-Session /usr/apps
# /usr/apps/ROX-Session/AppRun
|
Nos saldrá una ventana de diálogo y
tenemos que pulsar Instalar ROX, luego nos saldrá otra ventana de diálogo y pulsamos Añadir al inicio de sesión. Se habrá instalado un script, rox-session,
en /usr/local/sbin y un archivo rox-desktop,
en /etc/X11/sessions, /etc/dm/Sessions, o en /usr/share/xsessions, según la configuración que tenga cada usuario en su sistema.
El orden de búsqueda en nuestro sistema, por parte del script de ejecución de ROX-Session
del administrador de ventanas que vayamos a usar es el siguiente:
openbox, xfwm4, sawfish, enlightenment, wmaker, icewm, blackbox,
fluxbox, metacity, kwin, kwm, fvwm2, fvwm, 4Dwm o twm.
# Load a window manager. Keep trying until we find one that works!
for wm in openbox xfwm4 sawfish enlightenment wmaker icewm blackbox fluxbox \
metacity kwin kwm fvwm2 fvwm 4Dwm twm; do
if [ -x "`which $wm`" ]; then break; fi;
done
"$wm" & |
Respecto a la entrada de enlightenment, ésta
está obsoleta ya que en realidad hace referencia al nombre del
ejecutable de la versión estable, la E16, cuando no
existía la versión de desarrollo, la E17. En estos
momentos esta entrada tendría que estar definida como e16, aunque
los administradores de ventanas más indicados para trabajar con ROX Desktop son y en orden de prioridades: xfvwm4 (XFce 4), openbox y sawfish.
Si queremos usar un administrador de ventanas que no sea Openbox, por ejemplo el que usa XFce 4, sólo hay que hacer clic con el botón derecho del ratón sobre el icono de ROX-Session ubicado en el lateral derecho del panel, y seleccionar Administrador de Ventanas... del menú emergente. En la ventana de diálogo que se abra introducir el siguiente comando: xfwm4 y hacer clic en Aceptar.
En la siguiente ventana de diálogo que se muestre, desmarcamos
la opción marcada por defecto (-- replace), que sólo es
efectiva si estuvieramos utilizando el administrador de ventanas, OroboROX (digo estuvieramos, porque este administrador de ventanas es en estos momentos puro abandonware y su ejecución es irrealizable en los tiempos que corren). Y le damos a Aceptar.
El administrador de ventanas será reemplazado al vuelo, sin
necesidad de reiniciar la sesión. Si nos saliera una ventana de
error de D-Bus, cuando estamos introduciendo el comando del administrador de ventanas, no hacer caso, le damos a Aceptar, y ésta se cerrará.
La otra opción posible es hacerlo de forma manual, editando el archivo de
configuración de ROX-Session, ~/.config/rox.sourceforge.net/ROX-Session/Settings.xml, en concreto esto:
<Setting
name="ROX/WindowManager" type="string" value="xfwm4"/> |
Donde pone value=se
indica el nombre o la ruta del administrador de ventanas que
queremos usar. Si la entrada no existe, la creamos y ubicamos al final
de las que haya configuradas, como se muestra a continuación,
<?xml version="1.0"?>
<Settings>
<Setting name="ROX/RGamma" value="700" type="int"/>
<Setting name="ROX/GGamma" value="700" type="int"/>
<Setting name="ROX/BGamma" value="700" type="int"/>
<Setting name="menus_have_icons" value="1" type="int"/>
<Setting name="toolbar_detachable" value="0" type="int"/>
<Setting name="Gtk/ToolbarStyle" value="icons" type="string"/>
<Setting name="Net/ThemeName" value="Water Vapor" type="string"/>
<Setting name="Net/IconThemeName" value="Xquisite" type="string"/>
<Setting name="Gtk/ColorScheme" value="" type="string"/>
<Setting name="Net/DoubleClickTime" value="250" type="int"/>
<Setting name="Net/DndDragThreshold" value="8" type="int"/>
<Setting name="ROX/AccelThreshold" value="1" type="int"/>
<Setting name="ROX/AccelFactor" value="21" type="int"/>
<Setting name="ROX/LeftHanded" value="0" type="int"/>
<Setting name="ROX/CursorSize" value="18" type="int"/>
<Setting name="ROX/CursorTheme" value="Sin tema" type="string"/>
<Setting name="Gtk/FontName" value="DejaVu Sans 10" type="string"/>
<Setting name="ROX/DesktopFont" value="DejaVu Sans 10" type="string"/>
<Setting name="ROX/WindowTitleFont" value="DejaVu Sans 10" type="string"/>
<Setting name="ROX/MonospaceFontName" value="DejaVu Sans Mono 10" type="string"/>
<Setting name="ROX/DPI" value="102" type="int"/>
<Setting name="Xft/DPI" value="104448" type="int"/>
<Setting name="Xft/Antialias" value="2" type="int"/>
<Setting name="Xft/Hinting" value="2" type="int"/>
<Setting name="Xft/RGBA" value="none" type="string"/>
<Setting name="ROX/ManageScreensaver" value="0" type="int"/>
<Setting name="ROX/BlankTime" value="10" type="int"/>
<Setting name="ROX/DPMSEnable" value="1" type="int"/>
<Setting name="ROX/DPMSStandby" value="15" type="int"/>
<Setting name="ROX/DPMSSuspend" value="20" type="int"/>
<Setting name="ROX/DPMSOff" value="30" type="int"/>
<Setting name="Net/CursorBlink" value="1" type="int"/>
<Setting name="Net/CursorBlinkTime" value="1200" type="int"/>
<Setting name="Gtk/CanChangeAccels" value="1" type="int"/>
<Setting name="Gtk/KeyThemeName" value="Emacs" type="string"/>
<Setting name="ROX/KeyTable" value="default" type="string"/>
<Setting name="ROX/KbdRepeat" value="1" type="int"/>
<Setting name="ROX/KbdDelay" value="500" type="int"/>
<Setting name="ROX/KbdInterval" value="30" type="int"/>
<Setting name="ROX/NumLock" value="1" type="int"/>
<Setting name="ROX/CapsLock" value="0" type="int"/>
<Setting name="ROX/ScrollLock" value="0" type="int"/>
<Setting name="ROX/WindowManager" type="string" value="xfwm4"/>
</Settings>
|
Si las opciones del archivo estuvieran desordenadas, las formateamos con el siguiente comando:
$ xmllint --format --encode UTF-8 $HOME/.config/rox.sourceforge.net/ROX-Session/Settings.xml > \
$HOME/.config/rox.sourceforge.net/ROX-Session/Settings-1.xml
|
Esto compactará el contenido del archivo y lo
reordenará en el caso de que a la hora de editarlo, nos
encontremos con las opciones desordenadas sin respetar el típico
formato de los archivo XML. Finalmente sobreescribimos el archivo
original.
$ mv $HOME/.config/rox.sourceforge.net/ROX-Session/Settings-1.xml \
$HOME/.config/rox.sourceforge.net/ROX-Session/Settings.xml
|
Borrar las locales adicionales instaladas
$ su
# for i in cs da de fr it ja lt nl no pl pt_BR ru zh_CN zh_TW; do \
rm -f /usr/apps/ROX-Session/Messages/$i.gmo &> /dev/null ; \
done
|
Estadísticas de Compilación e Instalación de ROX-Session
Estadísticas de Compilación e Instalación de ROX-Session |
CPU |
AMD Ryzen 5 5500 |
MHz |
3593.250 (BoostMax=4457.000) |
RAM |
32 GB |
Sistema de archivos |
XFS |
Versión del Kernel |
6.4.7-ml SMP PREEMPT_DYNAMIC x86_64 |
Modo de frecuencia de la CPU |
powersave (balance performance) |
Versión de Glibc |
2.38 |
Enlazador dinámico |
LLD 16.0.6 |
Compilador |
Clang 16.0.6 |
Parámetros de optimización |
-03 -march=znver3
-mtune=znver3 -mllvm -polly -mllvm
-polly-vectorizer=stripmine -flto=thin -Wl,--lto-aa-pipeline=globals-aa -Wl,--lto-newpm-passes=memcpyopt |
Parámetros de compilación |
-j12 |
Tiempo de compilación |
2" |
Archivos instalados |
35 |
|
Ocupación de espacio en disco |
352 KB |
Consumo inicial de CPU y RAM de ROX-Session
Consumo inicial de CPU y RAM de ROX-Session |
Programa
|
CPU |
RAM |
ROX-Session |
0 % |
3,6 MB |
Para medir el consumo de CPU se utiliza el programa top, y para medir
el consumo de RAM se utiliza el script de Python, ps_mem.py, creado por Pádraig Brady, que podemos encontrar en este enlace. |
Directorio de
configuración personal
~/.config/rox.sourceforge.net/ROX-Session |
Es el
directorio de configuración personal de ROX-Session
en nuestro home. |
~/.config/rox.sourceforge.net/ROX-Session/Options |
Es el archivo de configuración de opciones específicas de sesión de ROX-Session. |
~/.config/rox.sourceforge.net/ROX-Session/Settings.xml |
Es el archivo de configuración principal de ROX-Session, que incluye todas las configuraciones generadas por las aplicaciones de configuración de ROX Desktop, incluido el propio ROX-Session. |
Archive
Archive es
un programa muy fácil de utilizar para crear y extraer
archivos comprimidos. La funcionalidad del soporte de extensiones
dependerá de los programas necesarios que tengamos instalados en
nuestro sistema.
Características
* Puede crear archivos en formato .tgz, tar.bz2, zip, jar, tar, tar.lzma, xz, tar.xz y lha.
* Puede extraer todos los formatos antes descritos, y los formatos .rar, rpm, cpio y deb.
* Puede comprimir y descomprimir los formatos .gz, .uue y
.bz2 de los archivos.
* Soporte completo de "arrastrar y soltar".
Instalación
Dependencias
Librerías
* ROX-Lib - (2.0.6)
Aplicaciones
* Bzip2 - (1.0.8)
* Gzip - (1.12)
* LHA - (1.17)
* Tar - (1.35)
* Unace - (2.5)
* UnRAR - (6.23 beta 1)
* UnZip - (6.0)
* XZ Utils - (5.4.3)
* Zip - (3.0)
Descarga
Archive-2.3-ML.tar.xz
Firma Digital
Archive-2.3-ML.tar.xz.asc
Verificar la firma digital del paquete
$ gpg --import manualinux.asc (sólo es necesario si no lo hemos hecho antes)
$ gpg --verify Archive-2.3-ML.tar.xz.asc Archive-2.3-ML.tar.xz |
Extracción
e Instalación como root
$ su
# mkdir -p /usr/apps
# rm -rf /usr/apps/Archive (sólo si tenemos una versión anterior instalada)
# tar Jxvf Archive-2.3-ML.tar.xz -C /usr/apps
|
Para abrir todos los archivos comprimidos con las extensiones soportadas por Archive desde ROX-Filer,
hacemos clic con el botón izquierdo del ratón sobre el
archivo comprimido, se nos abrirá el menú de ROX-Filer, seleccionamos Definir qué ejecutar... y arrastramos desde una ventana abierta de ROX-Filer en /usr/apps, el icono de Archive dentro del recuadro donde pone Arrastre la aplicación apropiada aquí.
Estadísticas de Instalación de Archive
Estadísticas de Instalación de Archive |
Sistema de archivos |
XFS |
Archivos instalados |
20 |
|
Ocupación de espacio en disco |
124 KB |
Edit
Edit
es un editor simple de texto.
Características
*
Búsqueda interactiva.
* Resaltado de sintaxis (si GtkSourceView está disponible).
* Comprobación de la ortografía (si pygtkspell está disponible).
* Muestra cambios de la versión guardada o de la versión anterior.
* Marcadores.
* Resaltado de texto.
* Guardado de "arrastrar y soltar"
* Soporte de UTF-8, permitiendo el empleo de caracteres de todas las lenguas.
Instalación
Dependencias
* ROX-Lib - (2.0.6)
Descarga
edit-2.2.tar.bz2
Extracción
e Instalación como root
$ su
# mkdir -p /usr/apps
# rm -rf /usr/apps/Edit (sólo si tenemos una versión anterior instalada)
# tar jxvf edit-2.2.tar.bz2 --strip-components=1 -C /usr/apps
|
Borrar las locales adicionales instaladas
# for i in de fr it zh_CN zh_TW; do \
rm -f /usr/apps/Edit/Messages/$i.{gmo,po} &> /dev/null ; \
done
|
Estadísticas de Instalación de Edit
Estadísticas de Instalación de Edit |
Sistema de archivos |
XFS |
Archivos instalados |
95 |
|
Ocupación de espacio en disco |
184 KB |
Consumo inicial de CPU y RAM de Edit
Consumo inicial de CPU y RAM de Edit |
Programa
|
CPU |
RAM |
python |
0 % |
19,0 MB |
Para medir el consumo de CPU se utiliza el programa top, y para medir
el consumo de RAM se utiliza el script de Python, ps_mem.py, creado por Pádraig Brady, que podemos encontrar en este enlace. |
Directorio de
configuración personal
~/.config/rox.sourceforge.net/Edit |
Es el
directorio de configuración personal de Edit
en nuestro home. |
Trash
Trash proporciona una papelera a ROX Desktop. Diseñada originalmente para funcionar en combinación con Libtrash,
la podemos utilizar sin esta dependencia añadiendo el
correspondiente enlace simbólico en la entrada del submenú
de ROX-Filer, Enviar a....
En la versión incluida en este manual, se añade la
traducción al español de la misma, y se modifican los
iconos originales de estado, sustituyéndolos por los del tema Xquisite.
El usuario puede sustituir estos, por los del tema predefinido de
iconos que utilice en su sistema. Excepto el del incinerador, que
tendrá que crearlo, si tiene pensado utilizar la papelera en
este modo de trabajo.
La instalación de Trash
hay que realizarla en el directorio personal, para que los iconos de
estado de la papelera puedan cambiar en función de si la
papelera está vacía o llena.
Instalación
Dependencias
* ROX-Lib - (2.0.6)
Descarga
Trash-0.3.0-ML.tar.xz
Firma Digital
Trash-0.3.0-ML.tar.xz.asc
Verificar la firma digital del paquete
$ gpg --import manualinux.asc (sólo es necesario si no lo hemos hecho antes)
$ gpg --verify Trash-0.3.0-ML.tar.xz.asc Trash-0.3.0-ML.tar.xz |
Extracción
e Instalación como usuario
$ mkdir -p ~/apps
$ tar Jxvf Trash-0.3.0-ML.tar.xz -C ~/apps
|
Estadísticas de Instalación de Trash
Estadísticas de Instalación de Trash |
Sistema de archivos |
XFS |
Archivos instalados |
25 |
|
Ocupación de espacio en disco |
236 KB |
Directorio de
configuración personal
~/Choices/Trash |
Es el
directorio de configuración personal de Trash
en nuestro home. |
Una vez está instalada, la arrastramos desde la ventana de ROX-Filer ubicada en el directorio de instalación, al escritorio. El directorio por defecto de la papelera es Trash, que podemos sustituir por Papelera desde las opciones del programa, con el consiguiente borrado manual del anterior, ya que el programa no lo borra.
Como he explicado antes, para incluir la papelera en el submenú de ROX-Filer, Enviar a..., hacemos clic en éste y en Personalizar,
en la ventana que se abra después de la ventana de
información, manteniendo pulsado Ctrl + Mayús,
arrastramos la papelera desde la ubicación en el escritorio o
desde el directorio donde está instalada, lo mismo da.
A partir de aquí, podremos enviar cualquier
elemento desde este submenú a la papelera, además de la
habitual función de arrastrar y soltar que proporciona ROX Desktop.
|