Manualinux
http://www.nvu.com http://www.gimp.org InicioPresentaciónActualizacionesManualesDescargasNoticiasAgradecimientoEnlaces

Entornos GráficosAplicaciones

Administradores de SesionesAdministradores de VentanasEscritoriosUtilidades de Escritorio

Instalar MATE desde ceroInstalar XFce 4 desde cero

Instalar ROX Desktop desde cero

Página - 1Página - 2Página - 3Página - 4




Instalar ROX Desktop desde cero




Copyright

Copyright © José Luis Lara Carrascal  2006-2023   http://manualinux.es



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




Otras aplicaciones de ROX Desktop  

1) ROX-thumbnailers
2) Fetch
3) DownloadManager
4) Find
5) Diff
6) Thumbs
7) Picky
8) AppFactory




1) ROX-thumbnailers  

Un generador de miniaturas para ROX-Filer.

Instalación

Dependencias


* ROX-Lib - (2.0.6)

Dependencias opcionales

* ComicThumb - (0.1)
* Ffmpegthumbnailer - (2.2.0-git)
* Evince - (2.32.0)
* Gnome-raw-thumbnailer - (2.0.1)
* Gnome-xcf-thumbnailer - (1.0)
* Thunar-thumbnailers - (0.4.1)
* Swfdec-Gnome - (2.30.1)
* Totem - (3.24.0)

Descarga

ROX-thumbnailers-1.0.0-ML.tar.xz

Firma Digital  Clave pública PGP

ROX-thumbnailers-1.0.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 ROX-thumbnailers-1.0.0-ML.tar.xz.asc ROX-thumbnailers-1.0.0-ML.tar.xz

Instalación como root

$ su
# mkdir -p /usr/apps
# rm -rf /usr/apps/ROX-thumbnailers (sólo si tenemos una versión anterior instalada)
# tar Jxvf ROX-thumbnailers-1.0.0-ML.tar.xz -C /usr/apps
# sed -i 's:evince:atril:' /usr/apps/ROX-thumbnailers/app-evince


Explicación de los comandos

sed -i 's:evince:atril:' /usr/apps/ROX-thumbnailers/app-evince : Si tenemos instalado MATE en lugar de GNOME, modificamos el archivo correspondiente para que las miniaturas de los archivos en formato PDF sean generadas por el programa atril-thumbnailer en lugar de evince-thumbnailer.

Estadísticas de Instalación de ROX-thumbnailers

Estadísticas de Instalación de ROX-thumbnailers
Sistema de archivos XFS
Archivos instalados 40
Mostrar/Ocultar la lista de archivos instalados
Enlaces simbólicos creados 26
Mostrar/Ocultar la lista de enlaces simbólicos creados
Ocupación de espacio en disco 200 KB

Captura ROX-thumbnailers - 1



2) Fetch  

Una utilidad de descarga de archivos para ROX-Filer. No indicada para archivos de gran tamaño en conexiones lentas, al no soportar resumen de descarga.

Instalación

Dependencias


* ROX-Lib - (2.0.6)

Descarga

Fetch-0.3.3-ML.tar.xz

Firma Digital  Clave pública PGP

Fetch-0.3.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 Fetch-0.3.3-ML.tar.xz.asc Fetch-0.3.3-ML.tar.xz

Instalación como root

$ su
# mkdir -p /usr/apps
# rm -rf /usr/apps/Fetch (sólo si tenemos una versión anterior instalada)
# tar Jxvf Fetch-0.3.3-ML.tar.xz -C /usr/apps


Estadísticas de Instalación de Fetch

Estadísticas de Instalación de Fetch
Sistema de archivos XFS
Archivos instalados 23
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 176 KB

Directorio de configuración personal

~/.config/kerofin.demon.ko.uk/Fetch Es el directorio de configuración personal de Fetch en nuestro home.

Captura Fetch - 1

Captura Fetch - 2



3) DownloadManager  

En combinación con Fetch permite gestionar y limitar el número de descargas simultáneas.

Instalación

Dependencias


* ROX-Lib - (2.0.6)

Descarga

DonwloadManager-0.1.4-ML.tar.xz

Firma Digital  Clave pública PGP

DonwloadManager-0.1.4-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 DonwloadManager-0.1.4-ML.tar.xz.asc DonwloadManager-0.1.4-ML.tar.xz

Instalación como root

$ su
# mkdir -p /usr/apps
# rm -rf /usr/apps/DownloadManager (sólo si tenemos una versión anterior instalada)
# tar Jxvf DownloadManager-0.1.4-ML.tar.xz -C /usr/apps


Estadísticas de Instalación de DownloadManager

Estadísticas de Instalación de DownloadManager
Sistema de archivos XFS
Archivos instalados 22
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 140 KB

Directorio de configuración personal

~/.config/kerofin.demon.ko.uk/DownloadManager Es el directorio de configuración personal de DownloadManager en nuestro home.

Captura DownloadManager - 1

Captura DownloadManager - 2



4) Find  

Una interfaz gráfica para los comandos find y grep, que nos permitirá buscar todo tipo de texto en cualquier archivo relacionado y abrirlo con un editor de texto previamente configurado en las opciones del programa.

Instalación

Dependencias


* ROX-Lib - (2.0.6)

Descarga

Find-007-ML.tar.xz

Firma Digital  Clave pública PGP

Find-007-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 Find-007-ML.tar.xz.asc Find-007-ML.tar.xz

Instalación como root

$ su
# mkdir -p /usr/apps
# rm -rf /usr/apps/Find (sólo si tenemos una versión anterior instalada)
# tar Jxvf Find-007-ML.tar.xz -C /usr/apps


Estadísticas de Instalación de Find

Estadísticas de Instalación de Find
Sistema de archivos XFS
Archivos instalados 17
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 120 KB

Consumo inicial de CPU y RAM de Find

Consumo inicial de CPU y RAM de Find
Programa
CPU RAM
python 0 % 19,8 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/hayber.us/Find Es el directorio de configuración personal de Find en nuestro home.

Captura Find - 1

Captura Find - 2



5) Diff  

Una utilidad de comparación de archivos de texto.

Instalación

Dependencias


Herramientas de Compilación

Entre paréntesis la versión con la que se ha compilado Diff 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

* GTK+ - (2.24.33)
* Libxml2 - (2.11.4)
* ROX-Clib - (2.1.10)

Descarga

Diff-2.1.4-ML.tar.xz

Firma Digital  Clave pública PGP

Diff-2.1.4-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 Diff-2.1.4-ML.tar.xz.asc Diff-2.1.4-ML.tar.xz

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 {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 {C,CXX,LD}FLAGS+=' -flto'
ThinLTO
$ 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)"

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  Bloc de Notas

$ tar Jxvf Diff-2.1.4-ML.tar.xz

Compilación

$ Diff/AppRun --compile
$ rm -rf Diff/src

Explicación de los comandos

rm -rf Diff/src : Borramos el directorio del código fuente del paquete, una vez lo hemos compilado, al no ser necesario para la ejecución de Diff.

Instalación como root

$ su
# mkdir -p /usr/apps
# rm -rf /usr/apps/Diff (sólo si tenemos una versión anterior instalada)
# cp -dRf --no-preserve=ownership Diff /usr/apps

Estadísticas de Compilación e Instalación de Diff

Estadísticas de Compilación e Instalación de Diff
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 -Wl,-s
Tiempo de compilación 1"
Archivos instalados 15
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 100 KB

Consumo inicial de CPU y RAM de Diff

Consumo inicial de CPU y RAM de Diff
Programa
CPU RAM
Diff 0 % 4,8 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/kerofin.demon.ko.uk/Diff Es el directorio de configuración personal de Diff en nuestro home.

Captura Diff - 1



6) Thumbs  

Una utilidad que permite gestionar la caché de las miniaturas ubicada en ~/.thumbnails. También permite establecer los manejadores de miniaturas a utilizar para los diferentes tipos de archivos que soportan éstas, aunque personalmente recomiendo el uso de ROX-thumbnailers. Este programa también se lanza desde las opciones de ROX-Filer en el apartado Miniaturas >> Gestión de miniaturas.

Instalación

Dependencias


* ROX-Lib - (2.0.6)

Descarga

Thumbs-0.1.4-ML.tar.xz

Firma Digital  Clave pública PGP

Thumbs-0.1.4-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 Thumbs-0.1.4-ML.tar.xz.asc Thumbs-0.1.4-ML.tar.xz

Instalación como root

$ su
# mkdir -p /usr/apps
# rm -rf /usr/apps/Thumbs (sólo si tenemos una versión anterior instalada)
# tar Jxvf Thumbs-0.1.4-ML.tar.xz -C /usr/apps


Estadísticas de Instalación de Thumbs

Estadísticas de Instalación de Thumbs
Sistema de archivos XFS
Archivos instalados 18
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 128 KB

Captura Thumbs - 1



7) Picky  

Un visor de imágenes para ROX Desktop, al que podremos arrastrar cualquier directorio de imágenes, o imágenes sueltas que se irán acumulando en el visor, para su posterior visualización. Posee una práctica función de selección de imagen con un menú de miniaturas que permite acceder a todas las imágenes cargadas de una forma muy fácil. También permite establecer una imagen como fondo de escritorio. Lo podemos también asociar a los formatos de imagen correspondientes para que al hacer clic sobre una imagen, se abra Picky como visor de imagen predefinido.

Instalación

Dependencias


* ROX-Lib - (2.0.6)

Descarga

Picky-0.4.5-ML.tar.xz

Firma Digital  Clave pública PGP

Picky-0.4.5-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 Picky-0.4.5-ML.tar.xz.asc Picky-0.4.5-ML.tar.xz

Instalación como root

$ su
# mkdir -p /usr/apps
# rm -rf /usr/apps/Picky (sólo si tenemos una versión anterior instalada)
# tar Jxvf Picky-0.4.5-ML.tar.xz -C /usr/apps


Estadísticas de Instalación de Picky

Estadísticas de Instalación de Picky
Sistema de archivos XFS
Archivos instalados 18
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 116 KB

Consumo inicial de CPU y RAM de Picky

Consumo inicial de CPU y RAM de Picky
Programa
CPU RAM
python 0 % 18,4 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

~/Choices/Picky Es el directorio de configuración personal de Picky en nuestro home.

Captura Picky - 1



8) AppFactory  

Una utilidad de creación de lanzadores de aplicaciones del mismo formato que utilizan las aplicaciones de ROX Desktop. Como opción, permite incluir un cuadro de diálogo de opciones de inicio de la aplicación en cuestión.

Instalación

Dependencias


Herramientas de Compilación

Entre paréntesis la versión con la que se ha compilado AppFactory 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

* ROX-Clib - (2.1.10)

Descarga

AppFactory-2.1.5-ML.tar.xz

Firma Digital  Clave pública PGP

AppFactory-2.1.5-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 AppFactory-2.1.5-ML.tar.xz.asc AppFactory-2.1.5-ML.tar.xz

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 {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 {C,CXX,LD}FLAGS+=' -flto'
ThinLTO
$ 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)"

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 Jxvf AppFactory-2.1.5-ML.tar.xz

Compilación

$ AppFactory/AppRun --compile
$ rm -rf AppFactory/src

Explicación de los comandos

rm -rf AppFactory/src : Borramos el directorio del código fuente del paquete, una vez lo hemos compilado, al no ser necesario para la ejecución de AppFactory.

Instalación como root

$ su
# mkdir -p /usr/apps
# rm -rf /usr/apps/AppFactory (sólo si tenemos una versión anterior instalada)
# cp -dRf --no-preserve=ownership AppFactory /usr/apps

Estadísticas de Compilación e Instalación de AppFactory

Estadísticas de Compilación e Instalación de AppFactory
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.36
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
Tiempo de compilación 1"
Archivos instalados 20
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 152 KB

Consumo inicial de CPU y RAM de AppFactory

Consumo inicial de CPU y RAM de AppFactory
Programa
CPU RAM
AppFactory 0 % 4,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/kerofin.demon.ko.uk/AppFactory Es el directorio de configuración personal de AppFactory en nuestro home.

Ejemplo de creación de un lanzador de aplicación

Creamos el directorio ~/apps, que es en el que ubicaremos los lanzadores creados, si ya lo hemos creado para ubicar la papelera no es necesario realizar esta operación. Si queremos utilizar estos lanzadores como root, movemos la aplicación creada al directorio predefinido, /usr/apps.

$ mkdir -p ~/apps

Lanzamos AppFactory, escribimos en Programa:, el nombre del ejecutable de la aplicación, arrastramos desde ROX-Filer, el icono de la misma, recomendable que sea de un tamaño de 32/48 píxeles o en formato svg. Si está en formato svg, el cuadro de diálogo se redimensionará de forma desproporcionada. No hay que hacer caso a esto, ya que cuando arrastremos el icono al directorio correspondiente, éste se mostrará de forma normal.

En la caja de texto de Archivos de ayuda: podemos poner la ruta a la documentación del programa del que estamos creando el lanzador, que se copiará al directorio del lanzador. Aunque todo esto es opcional.

Si marcamos la opción Incluir interfaz de opciones de inicio, cuando hagamos clic en el lanzador creado, se iniciará un cuadro de diálogo de opciones de inicio, desde el cual podemos pasarle parámetros al programa en cuestión.

Captura AppFactory - 1

Finalmente le damos a Crear, y se abrirá otra ventana, en este caso podemos escribir el nombre de la aplicación, en mayúsculas o con el nombre predefinido que muestra por defecto en función del ejecutable que hayamos definido en la primera ventana, ya que éste es el nombre que se mostrará debajo del icono lanzador de la misma.

Captura AppFactory - 2

Abrimos una ventana de ROX-Filer, nos vamos al directorio ~/apps, y arrastramos el icono que se muestra en la captura a dicho directorio, creando el lanzador correspondiente.

Captura AppFactory - 3

Si lo hemos creado con la opción, Incluir interfaz de opciones de inicio, antes de lanzar el programa, se mostrará el cuadro de diálogo de opciones de inicio, que se muestra en la captura siguiente,

Captura AppFactory - 4

Una vez tenemos el lanzador creado, lo podemos incluir en el escritorio, en el panel, o en su lugar, copiarlo como root, al directorio predefinido, /usr/apps.



Desinstalar ROX Desktop  

Desinstalación como root 


1) MODO TRADICIONAL

*******************


2) MODO MANUALINUX  

ROX-Desktop-scripts.tar.gz

$ su 
# tar zxvf ROX-Desktop-scripts.tar.gz
# cd ROX-Desktop-scripts
# ./Desinstalar_ROX-Desktop

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 ROX-Desktop-scripts.tar.gz
# cd ROX-Desktop-scripts
# ./Respaldar_ROX-Desktop

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_ROX-Desktop



Configurar el inicio de ROX Desktop  Bloc de Notas

1) Para los que inician X desde terminal con el comando startx

Editamos el archivo ~/.xinitrc que se encuentra en nuestro home, si no existe lo creamos, y añadimos lo siguiente:

exec /usr/local/sbin/rox-session


2) XDM

Editamos el archivo ~/.xsession que se encuentra en nuestro home, si no existe lo creamos, y añadimos lo siguiente:

exec /usr/local/sbin/rox-session


3) GDM/LightDM/SDDM

Abrimos un editor de texto y añadimos lo siguiente (hacer solo esto si el entorno no aparece en el menú de los administradores de sesiones arriba indicados):

[Desktop Entry]
Encoding=UTF-8
Name=ROX
Comment=
Exec=/usr/local/sbin/rox-session
Terminal=False
TryExec=/usr/local/sbin/rox-session

Lo guardamos con el nombre rox.desktop, con la codificación de caracteres, UTF-8, y lo instalamos en /usr/share/xsessions.

$ su -c "install -m644 rox.desktop /usr/share/xsessions"


4) Qingy


Abrimos un editor de texto y añadimos lo siguiente:

/usr/local/sbin/rox-session

Lo guardamos con el nombre ROX, y lo instalamos en /etc/qingy/Xsessions.

$ su -c "install -m755 ROX /etc/qingy/Xsessions"


5) SLiM

Primero editamos el archivo /etc/slim.conf y añadimos el nombre del entorno a la lista de los que tengamos en el sistema instalados, si queremos que sea el entorno que se inicie por defecto hay que colocarlo en el primer lugar de la lista.

# Sesiones disponibles (la primera es la predefinida).
# El actual nombre de sesión es reemplazado en el login_cmd
# anterior, para que su comando de acceso pueda manejar diferentes sesiones.
# vea el archivo xinitrc.ejemplo proporcionado con el código fuente de slim.
sessions            Fluxbox,WindowMaker,Blackbox,XFce4,E17,E16,IceWM,Openbox,ROX,Pekwm,AfterStep

Para finalizar editamos el archivo .xinitrc de nuestro home y añadimos la configuración del mismo, la variable DEFAULT_SESSION sobreescribe el entorno gráfico de inicio predefinido que pueda existir en el archivo /etc/slim.conf, permitiendo añadir el ejecutable de otro entorno que no esté configurado en el apartado anterior para ser iniciado por defecto, si queremos que sea ROX Desktop, añadimos su script de ejecución, aunque si lo tenemos configurado el primero de la lista, esto no es necesario.

# La siguiente variable define la sesión que será iniciada si el usuario
# no elige de forma explícita una sesión
DEFAULT_SESSION=rox-session


case $1 in
XFce4)
    exec startxfce4
    ;;
IceWM)
    exec icewm-session
    ;;
WindowMaker)
    exec wmaker
    ;;
Blackbox)
    exec startblackbox
    ;;
Fluxbox)
    exec startfluxbox
    ;;
E17)
    exec enlightenment_start
    ;;
E16)
    exec starte16
    ;;
Openbox)
    exec openbox-session
    ;;
Pekwm)
    exec pekwm
    ;;
ROX)
 exec rox-session
    ;;

AfterStep)
    exec afterstep
    ;;
*)
    exec $DEFAULT_SESSION
    ;;

esac

Con pulsar F1 ya podremos seleccionarlo de la lista e iniciarlo, si es el predefinido no es necesario seleccionarlo de la lista, se iniciará por defecto.



Iniciamos ROX Desktop  


Captura de ROX Desktop - 1


Captura de ROX Desktop - 2


Captura de ROX Desktop - 3




Soporte VFS con AVFS  

Con el uso de AVFS, podemos dotar a ROX-Filer de soporte para sistemas de archivos virtuales (VFS), con lo que podremos visualizar los archivos comprimidos sin necesidad de abrirlos, haciendo clic sobre los mismos, y también, acceder a servidores FTP para navegar desde la ventana del navegador por el árbol de directorios remoto.

Instalación

Dependencias

Herramientas de Compilación


* GCC - (13.2.0) o Clang - (16.0.6)
* Gawk - (5.2.2)
* Make - (4.4.1)
* Automake - (1.16.5)
* M4 - (1.4.19)
* Libtool - (2.4.7)
* Autoconf - (2.71)
* Pkg-config - (0.29.2)

Librerías de Desarrollo

* FUSE - (2.9.9)
* Libzstd - (1.5.5)
* Lzlib - (1.13)
* Neon - (0.32.5)
* XZ Utils - (5.4.3)

Aplicaciones

* UnZip - (6.0)
* Zip - (3.0)

Descarga

avfs-1.1.5.tar.bz2

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=polly'
LTO
$ export AR=llvm-ar RANLIB=llvm-ranlib NM=llvm-nm
$ export {C,CXX}FLAGS+=' -flto'
ThinLTO
$ export AR=llvm-ar RANLIB=llvm-ranlib NM=llvm-nm
$ export {C,CXX}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-new-pass-manager -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 la variable de entorno de uso de compilador para Clang
$ export CC=clang CXX=clang++

Extracción y Configuración  Bloc de Notas

$ tar jxvf avfs-1.1.5.tar.bz2
$ ./configure --prefix=/usr --disable-static --libdir=/usr/lib64

Explicación de los comandos

--prefix=/usr : Instala AVFS en el directorio principal /usr
--disable-static : Desactiva la compilación de las librerías estáticas, al no ser necesarias para la ejecución del programa.

--libdir=/usr/lib64
: Instala las librerías en /usr/lib64, en sistemas de 64 bits multiarquitectura. La ubicación y el nombre de este directorio, puede variar en función de la distribución que cada usuario use.

Compilación

$ make

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
# make install-strip
# install -dm755 /usr/share/doc/avfs
# install -m644 README doc/{FORMAT,README.avfs-fuse} /usr/share/doc/avfs
# ldconfig -v

Estadísticas de Compilación e Instalación de AVFS

Estadísticas de Compilación e Instalación de AVFS
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 3"
Archivos instalados 51
Mostrar/Ocultar la lista de archivos instalados
Enlaces simbólicos creados 2
Mostrar/Ocultar la lista de enlaces simbólicos creados
Ocupación de espacio en disco 844 KB

Desinstalación como root

1) MODO TRADICIONAL

En el directorio de compilación ejecutamos el siguiente comando:

$ su -c "make uninstall"

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.

avfs-1.1.5-scripts.tar.gz

$ su
# tar zxvf avfs-1.1.5-scripts.tar.gz
# cd avfs-1.1.5-scripts
# ./Desinstalar_avfs-1.1.5

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 avfs-1.1.5-scripts.tar.gz
# cd avfs-1.1.5-scripts
# ./Respaldar_avfs-1.1.5

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_avfs-1.1.5

Manejadores de AVFS disponibles escritos por su autor
Nombre del controlador Tipo de operación Notas
#a Primera disquetera Alias para #floppy:a
#avfsstat Metainformación Manejador interno
#bz2 Bzip2 Usa bzip2
#dav Webdav Manejador interno
#dav_ctl Control de sesiones dav
#floppy disquetera Usa Mtools (mdir, mcopy, etc.)
#ftp Ftp Manejador interno
#ftp_ctl Control de sesiones ftp
#gz Gzip Usa gzip
#iso9660 Sistema de archivos CD/DVD No es necesario usar mount - t iso9660
#local Sistema de archivos local Sólo para uso interno
#rsh Rsh/rcp Sólo funciona si rsh no necesita contraseña
#ssh ssh/scp Sólo funciona si ssh no necesita contraseña
#uar Un-ar Manejador interno
#ubz2 Bunzip2 Manejador interno
#ubzip2 Bunzip2 Usa bzip2
#ucftp Ftp Controlador interno (soporta escritura, pero no soporta caché)
#ucftp_ctl Control de sesiones ftp
#ugz Gunzip Manejador interno. Si le pasamos el parámetro -s realiza las operaciones más rápidas pero no es compatible con archivos de más de 4 GB. Ejemplo: ejemplo.gz#-s
#ugzip Gunzip Usa gzip
#urar Unrar Manejador interno. Lista el contenido del archivo y utiliza unrar para extraerlo.
#utar Untar Manejador interno.
#uxz Unxz/unlzma Manejador interno.
#uxze Unxz/unlzma Usa xz
#uz Uncompress Usa gzip
#uzip Unzip Manejador interno.

Manejadores de AVFS disponibles derivados de extfs de Midnight Commander
Nombre del controlador Tipo de operación
#deb Paquetes de Debian
#ftplist ?
#hp48 ?
#lslR Listado de árbol de directorios
#mailfs ?
#patchfs Explora archivos patch
#rpm Paquetes RPM
#rpms Listado de paquetes rpm instalados
#trpm Útil como alternativa a #rpms
#ucpio Archivos cpio
#ulha Archivos lha
#uzoo Archivos zoo

Para ver la lista completa de manejadores disponibles, ejecutar en una ventana de terminal el siguiente comando:

$ cat $HOME/.avfs/#avfsstat/modules

Punto de montaje del sistema de archivos virtual en nuestro home

~/.avfs Es el punto de montaje que se crea en nuestro home cuando ejecutamos el comando mountavfs, se desmonta con el comando umountavfs.

Montar el sistema de archivos virtual

$ mountavfs

Desmontar el sistema de archivos virtual

$ umountavfs

Matar el proceso avfsd en caso de problemas de uso del programa

$ killall -9 avfsd

Ejemplos de uso en línea de comandos de AVFS

La ruta $HOME/.avfs siempre debe ir por delante de la ruta predefinida a la ubicación del contenido a visualizar, ya sea un archivo comprimido o un directorio ftp remoto. Se puede utilizar el símbolo ~ o la variable $HOME para referirnos a nuestro directorio personal. En la mayoría de los casos, con poner el asterisco al final de la extensión del archivo es suficiente para que se detecte su contenido.

1) Navegar por el contenido de una imagen ISO

$ cd $HOME/.avfs/home/jose/descargas/antiX-M11-686.iso#iso9660

[jose@localhost antiX-M11-686.iso#iso9660]$ ls
ANTIX/  BOOT/  CDROM.ICO;1  VERSION.;1

2) Navegar por el contenido de un servidor ftp remoto anónimo

$ cd $HOME/.avfs/#ftp:ftp.mozilla.org

[jose@localhost #ftp:ftp.mozilla.org]$ ls
index.html  pub/  README

3) Navegar por el contenido de un archivo comprimido en tar.bz2

$ cd $HOME/.avfs/home/jose/descargas/avfs-1.1.5.tar.bz2#

[jose@localhost avfs-1.1.5.tar.bz2#]$ ls
avfs-1.1.5/

En el archivo /usr/share/doc/avfs/README vienen más ejemplos, tener en cuenta que estos hay que adaptarlos al uso con FUSE, lo que requiere el comienzo de la ruta, siempre por $HOME/.avfs, como se explica en el archivo README.avfs.fuse. También es recomendable echarle un vistazo al archivo /usr/share/doc/avfs/FORMAT.

Crear un archivo desktop de inicio automático para ROX Desktop

Para que el sistema de archivos virtual se monte en el inicio de sesión de ROX Desktop, crearemos un archivo desktop que copiaremos a ~/.config/autostart, configurándolo para que sólo se inicie en ROX Desktop. Los usuarios que utilicen ROX-Filer de forma independiente con otros entornos gráficos pueden añadir el comando de ejecución, mountavfs, a los scripts de inicio específicos de estos.

Abrimos un editor de texto y añadimos lo siguiente:

[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=AVFS
Comment=
Exec=mountavfs
StartupNotify=false
Terminal=false
Hidden=false
OnlyShowIn=ROX;

Lo guardamos con el nombre avfs.desktop con la codificación de caracteres, UTF-8, y lo copiamos a ~/.config/autostart.

$ mkdir -p ~/.config/autostart
$ cp avfs.desktop ~/.config/autostart


Definir el comando de ejecución para los archivos comprimidos en ROX-Filer

Ahora sólo nos queda ya asociar el comando correspondiente a los archivos comprimidos para poder visualizarlos al hacer clic sobre los mismos. Unido a este comando, personalizaremos el menú para poder añadir una entrada "Extraer con Archive", para si queremos extraer el archivo de forma normal, poder tener la entrada correspondiente en el menú que abrimos con el botón derecho del ratón.

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 en la caja de texto debajo del enunciado Introduzca un comando de terminal:, escribimos lo siguiente:

rox $HOME/.avfs/$@#

Si se trata de una imagen iso, por ejemplo, nos quedaría así,

rox $HOME/.avfs/$@#iso9660

Hacemos clic en Usar el comando, y la acción queda configurada. Ahora, hacemos clic con el botón derecho del ratón sobre el archivo y seleccionamos Personalizar el menú, en la ventana que se abra después de la ventana de información, manteniendo pulsado Ctrl + Mayús, arrastramos Archive desde el directorio donde está instalado, y posteriormente, de forma opcional, podemos renombrar el enlace simbólico creado a Extraer con Archive, o cualquier otro.

Captura AVFS - 1

Captura AVFS - 2

Para navegar por servidores ftp remotos anónimos, basta en cualquier ventana de ROX-Filer, desplegar con el botón derecho del ratón, el menú del programa y seleccionar Ventana >> Comando de terminal..., en la caja de texto que se muestre en la parte inferior de la ventana, introducimos el siguiente comando:

rox $HOME/.avfs/#ftp:ftp.gnu.org

Sustituyendo lo que está en rojo por la dirección del servidor FTP al que nos queremos conectar. Advertir que la navegación por los servidores FTP remotos se torna bastante lenta, aunque el programa va cacheando todos los directorios visitados. En servidores FTP muy grandes, el tiempo que tarde en visualizar el contenido de los mismos puede llegar a ser considerable. Es decir, que un cliente FTP clásico es bastante más rápido que la navegación virtual mediante el uso de AVFS.

Captura AVFS - 3

Captura AVFS - 4



Utilizar Fluxbox con ROX Desktop  Bloc de Notas

No es que Openbox sea un mal administrador de ventanas, la cuestión es que no posee las características de agrupamiento automático de ventanas de Fluxbox, y la personalización del comportamiento de las ventanas de las aplicaciones es bastante más complicada de configurar y editar, que en Fluxbox, en el que lo podemos hacer al vuelo desde el menú de las ventanas de las aplicaciones.

Con todo esto, Openbox, se adapta mejor por defecto a un entorno de escritorio que Fluxbox, que nació para ser independiente y no un administrador de ventanas diseñado para funcionar con entornos de escritorio, como es el caso de Openbox, con lo que para poder hacerlo funcionar correctamente, tendremos que crearnos un directorio de configuración específico para hacerlo correr en ROX Desktop.

1) Creamos una copia del contenido del directorio ~/.fluxbox con el nombre ~/.fluxbox-rox

$ cp -adrf ~/.fluxbox ~/.fluxbox-rox

2) Editamos el archivo de configuración ~/.fluxbox-rox/init

Y modificamos lo siguiente, ojo que lo pongo junto, pero no va seguido. Si no existe alguna entrada, la añadimos.

session.screen0.toolbar.visible:    false
session.screen0.toolbar.tools: clock
session.appsFile:    ~/.fluxbox-rox/apps
session.styleFile:    ~/.fluxbox-rox/styles/crystal
session.styleOverlay:    ~/.fluxbox-rox/overlay
session.keyFile:    ~/.fluxbox-rox/keys

Aunque pusiéramos la barra de herramientas de Fluxbox visible, ésta sería cubierta por el panel de ROX Desktop. Para cambiar los temas de Fluxbox, modificamos la entrada 'session.styleFile', cambiando la ruta al otro tema a utilizar.  Es requerido que la opción 'session.screen0.toolbar.tools:' esté incluida para que la bandeja de sistema de Fluxbox no se cargue en el inicio e impida que la bandeja de sistema de ROX Desktop o cualquier otra, puedan iniciarse. En el ejemplo incluyo el reloj, para que esta opción tenga algún tipo de contenido.

Ya sólo nos queda establecer Fluxbox como el administrador de ventanas predefinido de ROX Desktop, lo podemos hacer de dos formas: Una, la más rápida e inmediata, desde el propio ROX Desktop, haciendo clic con el botón derecho del ratón sobre el icono de ROX-Session ubicado en el lateral derecho del panel, y seleccionando Administrador de Ventanas... del menú emergente. En la ventana de diálogo que se abra introducir el siguiente comando: fluxbox -rc ~/.fluxbox-rox/init y hacer clic en Aceptar, en las dos ventanas que se abran desmarcando la opción marcada en la segunda ventana, si lo estuviera.

Captura de ROX-Session - 4

Captura de ROX-Session - Fluxbox - 2

O dos, editando de forma manual el archivo de configuración de ROX-Session, ubicado en ~/.config/rox.sourceforge.net/ROX-Session/Settings.xml, que previamente formatearemos para reordenar las opciones incluidas en el mismo. Abrimos una ventana de terminal y ejecutamos lo siguiente:

$ 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, no es 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

Lo abrimos con un editor de texto y añadimos al final del mismo lo que está en rojo:

  <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="fluxbox -rc ~/.fluxbox-rox/init"/>
</Settings>

Y el resultado final es el siguiente:

ROX - Fluxbox




Enlaces    


http://rox.sourceforge.net/desktop >> La web de ROX Desktop.


Foro Galería Blog


Página - 1Página - 2Página - 3Página - 4

Actualizado el 02-08-2023

Instalar ROX Desktop desde cero

Instalar MATE desde ceroInstalar XFce 4 desde cero