Copyright
Copyright © José
Luis Lara Carrascal 2006-2017
Sumario
Introducción
Características
Preliminares
eFLTK
EDE
Directorio de configuración personal
Traducción al Español
Configurar el inicio de EDE
Iniciamos EDE
Editar el menú de EDE
Añadir aplicaciones al inicio de EDE
Sustituir Eiconman por Idesk + CWallpaper
Hacer transparente el panel con Xcompmgr y Transset
Enlaces
Introducción
Equinox Desktop Environment (EDE), es un entorno de escritorio de bajo consumo de recursos, que depende sólo de las librerías eFLTK, que son una modificación de las FLTK,
a las que se les ha añadido más
funcionalidades. A partir de la versión 2, el entorno
sufrió severas modificaciones y exclusiones importantes
cómo el administrador de ventanas propio que venía con el
entorno, con la inclusión integrada del administrador de
ventanas, Pekwm, con el inconveniente importante, de que EDE no proporciona archivos de configuración propios para Pekwm,
utilizando los originales que tengamos configurados en nuestro
directorio personal, haciendo imposible el uso de los dos entornos
gráficos de forma separada, y haciendo imposible también,
que este manual pueda ser actualizado a dicha versión, al ya
estar tratada en esta web la instalación independiente del
administrador de ventanas, Pekwm.
Como ya tenía terminada la traducción al español de la versión 2 de EDE,
he decidido incluirla en el manual junto a la de la versión 1,
para aquellos usuarios que decidan utilizar la versión 2 de este
entorno de escritorio.
Características
* Escritorio con iconos y
fondo de pantalla.
* Soporte de fuentes truetype
(xft) con suavizado.
* Panel con menú
configurable, estado de cpu y conmutador de teclado.
* Temas de escritorio.
*
Internacionalización (traducción al
español disponible en la web).
* Interfaz gráfico
para la configuración del salvapantallas
* Instalación de
software (RPM, DEB y TGZ)
* Configuración de
tiempo y zona horaria.
* Búsqueda
rápida de archivos.
Preliminares
1) Comprobar que la ruta de instalación de los binarios del programa la tenemos en nuestro PATH
Abrimos una ventana de terminal y ejecutamos el siguiente comando,
[jose@Fedora-18 ~]$ echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/jose/bin
|
Si no aparece entre las rutas mostradas el directorio /usr/local/bin, abrimos un editor de texto y añadimos lo siguiente,
#!/bin/sh
export PATH=/usr/local/bin:$PATH |
Lo guardamos con el nombre variables.sh, y lo instalamos en /etc/profile.d.
$ su
# install -m755 /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) Comprobar que el directorio /usr/local/lib está incluido en /etc/ld.so.conf
En este apartado, no todas las distribuciones incluyen los directorios de las librerías compartidas a cachear por ldconfig en el archivo de configuración, /etc/ld.so.conf, también utilizan el directorio /etc/ld.so.conf.d, por lo que su edición sólo será necesaria en el caso de que el comando ldconfig no cachee las librerías compartidas ubicadas en /usr/local/lib, en ese caso, abrimos con un editor de texto, el archivo de configuración /etc/ld.so.conf y añadimos la ruta correspondiente. Un ejemplo:
/usr/X11R6/lib/Xaw3d
/usr/X11R6/lib
/usr/lib/Xaw3d
/usr/i386-suse-linux/lib
/usr/local/lib
/opt/kde3/lib
include /etc/ld.so.conf.d/*.conf |
3) 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.
eFLTK
Instalación
Dependencias
Herramientas de Compilación
Entre paréntesis la versión con la que se ha compilado eFLTK para la elaboración de este documento
* GCC - (7.1.0)
* Make - (4.2.1)
* Automake - (1.15)
* Gettext - (0.19.8.1)
* Autoconf - (2.69)
Librerías de
Desarrollo
*
Xorg - (7.7 / xorg-server 1.19.3)
LibX11 - (1.6.3)
LibXext - (1.3.3)
* Freetype2 - (2.8)
* Libjpeg - (9b)
* Libpng - (1.6.29)
* Mesa - (17.1.1)
Descarga
efltk-2.0.8.tar.gz | efltk_libpng16.diff
Optimizaciones
$ export
{C,CXX}FLAGS='-O3 -march=amdfam10 -mtune=amdfam10'
|
Donde pone amdfam10
se indica el procesador respectivo de cada sistema
seleccionándolo de la siguiente tabla: |
* La opción '-march=' establece el procesador mínimo con el que funcionará el programa compilado, la opción '-mtune=' el procesador específico para el que será optimizado.
* Los valores separados por comas, son equivalentes, es decir, que lo mismo da poner '-march=k8' que '-march=athlon64'.
* En versiones de GCC 3.2 e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
|
Valores |
CPU |
Genéricos |
generic |
Produce un código
binario optimizado para la mayor parte de procesadores existentes.
Utilizar este valor si no sabemos el nombre del procesador que
tenemos en nuestro equipo. Este valor sólo es aplicable en
la opción '-mtune=', si utilizamos GCC. Esta opción está disponible a
partir de GCC 4.2. |
native |
Produce un código
binario optimizado para el procesador que tengamos en nuestro sistema,
siendo éste detectado utilizando la instrucción cpuid.
Procesadores antiguos pueden no ser detectados utilizando este valor.
Esta opción está disponible a
partir de GCC 4.2. |
Intel |
atom |
Intel Atom
con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y
extensiones 64-bit. Esta opción está disponible
desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición bonnell. |
bonnell |
Intel Bonnell con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3 y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
broadwell |
Intel Broadwell con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT,
AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2,
F16C, RDSEED, ADCX, PREFETCHW y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
core2 |
Intel Core2
con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y
extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.3. |
core-avx2 |
Intel Core (Haswell). Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición haswell. |
core-avx-i |
Intel Core (ivyBridge)
con soporte de instrucciones MMX, SSE, SSE2, SSE3,
SSSE3, SSE4.1, SSE4.2, AVX, AES, PCLMUL, FSGSBASE, RDRND, F16C y
extensiones 64-bit. Esta opción está disponible
desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición ivybridge. |
corei7 |
Intel Core i7 con soporte de instrucciones MMX, SSE, SSE2, SSE3,
SSSE3, SSE4.1 y SSE4.2 y extensiones 64-bit. Soporta también los procesadores Intel
Core i3 e i5. Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición nehalem. |
corei7-avx |
Intel Core i7 con soporte de instrucciones MMX, SSE, SSE2, SSE3,
SSSE3, SSE4.1, SSE4.2, AVX, AES y PCLMUL y
extensiones 64-bit. Soporta también los
procesadores Intel Core i3 e i5. Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición sandybridge. |
haswell |
Intel Haswell con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT,
AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2,
F16C y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
i386 |
Intel i386.
|
i486 |
Intel i486. |
i586, pentium |
Intel Pentium sin soporte de instrucciones MMX. |
i686 |
Produce un código binario optimizado para la mayor parte de
procesadores compatibles con la serie 80686 de Intel. Todos los actuales lo son. |
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. |
lakemont |
Intel Quark Lakemont MCU, basado en el procesador Intel Pentium. Esta opción está disponible a partir
de GCC 6. |
nehalem |
Intel Nehalem con soporte de instrucciones MMX,
SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT y extensiones
64-bit. Esta opción está disponible a partir
de GCC 4.9. |
nocona |
Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2, SSE3 y extensiones 64-bit. |
pentiumpro |
Intel PentiumPro. |
pentium2 |
Intel Pentium2 basado en PentiumPro con soporte de instrucciones MMX. |
pentium3, pentium3m |
Intel Pentium3 basado en PentiumPro con soporte de instrucciones MMX y SSE. |
pentium4, pentium4m |
Intel Pentium4 con soporte de instrucciones MMX, SSE y SSE2. |
pentium-m |
Versión de bajo
consumo de Intel Pentium3 con soporte de instrucciones MMX, SSE y SSE2.
Utilizado por los portátiles Centrino. |
pentium-mmx |
Intel PentiumMMX basado en Pentium con soporte de instrucciones MMX. |
prescott |
Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2 y SSE3. |
sandybridge |
Intel Sandy Bridge con soporte de instrucciones
MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX,
AES, PCLMUL y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
silvermont |
Intel Silvermont con soporte de instrucciones
MOVBE, MMX, SSE, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
SSE4.2, POPCNT, AES, PCLMU, RDRND y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
skylake |
Intel Skylake con soporte de instrucciones MOVBE, MMX, SSE, SSE2,
SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE,
RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT,
XSAVEC, XSAVES y extensiones 64-bit. Esta opción está disponible a partir
de GCC 6. |
skylake-avx512 |
Intel Skylake Server
con soporte de instrucciones MOVBE, MMX, SSE, SSE2,
SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE,
RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT,
XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD y
extensiones 64-bit. Esta opción está disponible a partir
de GCC 6. |
westmere |
Intel Westmere con soporte de instrucciones
MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES,
PCLMUL y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
AMD |
amdfam10, barcelona |
Procesadores basados en
AMD Family 10h core con soporte de instrucciones x86-64 (MMX, SSE,
SSE2, SSE3, SSE4A, 3DNow!, enhanced 3DNow!, ABM y extensiones
64-bit). Esta opción está disponible a partir de GCC 4.3. |
athlon, athlon-tbird |
AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y SSE prefetch. |
athlon4, athlon-xp, athlon-mp |
Versiones mejoradas de AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y full SSE. |
bdver1 |
Procesadores basados en
AMD Family 15h core con soporte de instrucciones x86-64 (FMA4, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE,
SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones
64-bit). Esta opción está disponible a partir
de GCC 4.7. |
bdver2 |
Procesadores basados en
AMD Family 15h core con soporte de instrucciones x86-64 (BMI, TBM, F16C, FMA, LWP, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE,
SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones
64-bit). Esta opción está disponible a partir
de GCC 4.7. |
bdver3 |
Procesadores basados en
AMD Family 15h core con soporte de instrucciones x86-64 (FMA4, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE,
SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones
64-bit). Esta opción está disponible a partir
de GCC 4.8. |
bdver4 |
Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64
(BMI, BMI2, TBM, F16C, FMA, FMA4, FSGSBASE, AVX, AVX2, XOP,
LWP, AES, PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A,
SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está
disponible a partir de GCC 4.9. |
btver1 |
Procesadores basados en
AMD Family 14h core con soporte de instrucciones x86-64 (MMX, SSE,
SSE2, SSE3, SSE4A, CX16, ABM y extensiones 64-bit). Esta opción está disponible a partir
de GCC 4.6. |
btver2 |
Procesadores basados en
AMD Family 16h core con soporte de instrucciones x86-64 (MOVBE, F16C,
BMI, AVX, PCL_MUL, AES, SSE4.2, SSE4.1, CX16, ABM, SSE4A, SSSE3, SSE3,
SSE2, SSE, MMX y extensiones 64-bit). Esta opción
está disponible a partir
de GCC 4.8. |
geode |
AMD integrado con soporte de instrucciones MMX y 3DNow!. Esta opción está disponible a partir de GCC 4.3. |
k6 |
AMD K6 con soporte de instrucciones MMX. |
k6-2, k6-3 |
Versiones mejoradas de AMD K6 con soporte de instrucciones MMX y 3DNow!. |
k8, opteron, athlon64, athlon-fx |
Procesadores basados en
AMD K8 core con soporte de instrucciones x86-64 (MMX, SSE, SSE2,
3DNow!, enhanced 3DNow! y extensiones 64-bit). |
k8-sse3, opteron-sse3, athlon64-sse3 |
Versiones mejoradas de
AMD K8 core con soporte de instrucciones SSE3. Esta opción
está disponible a partir de GCC 4.3. |
znver1 |
Procesadores basados en
AMD Family 17h core con soporte de instrucciones x86-64 (BMI, BMI2,
F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES,
PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1,
SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT y extensiones
64-bit). Esta opción está disponible a partir de GCC 6. |
VIA |
c3 |
VIA C3 con soporte de instrucciones MMX y 3DNow! (no se implementa planificación para este chip). |
c3-2 |
VIA C3-2 (Nehemiah/C5XL) con soporte de instrucciones MMX y SSE (no se implementa planificación para este chip). |
c7 |
VIA C7 (Esther) con soporte de instrucciones MMX, SSE, SSE2 y SSE (no se implementa planificación para este chip). Esta opción está disponible a partir de GCC 7. |
eden-x2 |
VIA Eden X2 con soporte de instrucciones x86-64, MMX, SSE, SSE2 y SSE3 (no se implementa planificación para este chip). Esta opción está disponible a partir de GCC 7. |
eden-x4 |
VIA Eden X4 con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX y AVX2 (no se implementa planificación para este chip). Esta opción está disponible a partir de GCC 7. |
esther |
VIA Eden Esther con soporte de instrucciones MMX, SSE, SSE2 y SSE3 (no se implementa planificación para este chip). Esta opción está disponible a partir de GCC 7. |
nano |
VIA Nano genérico con soporte de instrucciones x86-64, MMX, SSE, SSE2, SSE3 y SSSE3 (no se implementa planificación para este chip). Esta opción está disponible a partir de GCC 7. |
nano-1000 |
VIA Nano 1xxx con soporte de instrucciones x86-64, MMX, SSE, SSE2, SSE3 y SSSE3 (no se implementa planificación para este chip). Esta opción está disponible a partir de GCC 7. |
nano-2000 |
VIA Nano 2xxx con soporte de instrucciones x86-64, MMX, SSE, SSE2, SSE3 y SSSE3 (no se implementa planificación para este chip). Esta opción está disponible a partir de GCC 7. |
nano-3000 |
VIA Nano 3xxx con soporte de instrucciones x86-64, MMX, SSE, SSE2, SSE3, SSSE3 y SSE4.1 (no se implementa planificación para este chip). Esta opción está disponible a partir de GCC 7. |
nano-x2 |
VIA Nano Dual Core con soporte de instrucciones x86-64, MMX, SSE, SSE2, SSE3 y SSSE3 (no se implementa planificación para este chip). Esta opción está disponible a partir de GCC 7. |
nano-x4 |
VIA Nano Quad Core con soporte de instrucciones x86-64, MMX, SSE, SSE2, SSE3 y SSSE3 (no se implementa planificación para este chip). Esta opción está disponible a partir de GCC 7. |
IDT |
winchip2 |
IDT Winchip2, que equivale a un i486 con soporte de instrucciones MMX y 3DNow!. |
winchip-c6 |
IDT Winchip C6, que equivale a un i486 con soporte de instrucciones MMX. |
Optimizaciones adicionales
Optimizaciones adicionales |
GCC |
Graphite
|
$ export {C,CXX}FLAGS+=' -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block'
|
LTO |
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=2'
|
Donde pone 2
se indica el número de núcleos de nuestro procesador, si
sólo tiene uno, utilizar el parámetro -flto |
Parámetros adicionales
Establecer el estándar de lenguaje de programación correcto para C++ |
GCC 6 y superiores |
$
export CXXFLAGS+=' -std=gnu++98' |
Extracción
y Configuración
$ tar zxvf efltk-2.0.8.tar.gz
$ cd efltk
$ patch -Np1 -i ../efltk_libpng16.diff
$ sed -i '62s:void\*:dirent \**:g' src/core/filename_list.cpp
$ sed -e '68,69s:=":+=" :' -e '496s: -O2::' -i configure.in
$ autoconf
$ ./configure --enable-xft --disable-mysql --disable-unixODBC
|
Explicación
de los comandos
patch -Np1 -i ../efltk_libpng16.diff : Aplicamos este parche personal creado a partir de la información incluida en uno para NetBSD, ubicado en este enlace, que posibilita la compilación del paquete con Libpng 1.5 > 1.6. El error que soluciona es el siguiente:
Fl_Png.cpp: En la función 'void my_png_warning(png_structp, png_const_charp)':
Fl_Png.cpp:21:34: error: uso inválido del tipo incompleto 'png_struct {aka struct png_struct_def}'
if (png_ptr != NULL && png_ptr->error_ptr != NULL)
^
|
sed -i '62s:void\*:dirent\ **:g' src/core/filename_listc.cpp : Con este comando solucionamos el error que se muestra a continuación:
filename_list.cpp: En la función 'int fl_filename_list(const char*, dirent***, int (*)(dirent**, dirent**))':
filename_list.cpp:62:71: error: conversión inválida de
'int (*)(const void*, const void*)' a 'int (*)(const dirent**, const
dirent**)'
filename_list.cpp:62:71: error: argumento de
inicialización 4 de 'int scandir(const char*, dirent***, int
(*)(const dirent*), int (*)(const dirent**, const dirent**))'
|
sed -e '68,69s:=":+=" :' -e '496s: -O2::' -i configure.in : Modificamos el archivo de configuración base, configure.in para que el paquete acepte las variables de entorno de optimización aplicadas en el manual y eliminamos también el nivel de optimización predefinido utilizado por el paquete.
autoconf : Ejecutamos este comando para que actualice el script de configuración, configure, a los cambios realizados en el archivo de configuración base del mismo.
--enable-xft :
Activa el soporte de fuentes truetype (xft) con antialiasing.
--disable-mysql : Desactiva el
soporte de MYSQL,
ya que EDE
no lo necesita.
--disable-unixODBC
:
Igual que en el apartado de arriba.
Compilación
Parámetros de compilación opcionales
-j2
: Si tenemos un procesador de doble núcleo (dual-core), y el kernel
está optimizado para el mismo y es SMP, con este parámetro
aumentaremos el número de procesos de compilación
simultáneos a un nivel de 2 y aceleraremos el tiempo de compilación del programa de forma considerable.
-j4
: Lo mismo que arriba pero con procesadores de 4 núcleos (quad-core).
Instalación
como root
$
su
# ./emake install
# ldconfig -v |
Estadísticas de Compilación e Instalación de eFLTK
Estadísticas de Compilación e Instalación de eFLTK |
CPU |
AMD Athlon(tm) II X2 260 Processor |
MHz |
3214.610 |
RAM |
2048 MB |
Sistema de archivos |
XFS |
Versión de Glibc |
2.25 |
Enlazador dinámico |
GNU gold (Binutils 2.28) 1.14 |
Compilador |
GCC 7.1.0 + Ccache 3.3.4 |
Parámetros de optimización |
-03
-march=amdfam10 -mtune=amdfam10 -floop-interchange
-ftree-loop-distribution -floop-strip-mine
-floop-block -fuse-linker-plugin -flto=2 |
Parámetros de compilación |
-j2 |
Tiempo de compilación |
1' 47" |
Archivos instalados |
217 |
|
Enlaces simbólicos creados |
5 |
|
Ocupación de espacio en disco |
3,3 MB |
Desinstalación
como root
1) MODO TRADICIONAL
*************************
2) MODO MANUALINUX
efltk-2.0.8-scripts.tar.gz
$ su
# tar zxvf efltk-2.0.8-scripts.tar.gz
# cd efltk-2.0.8-scripts
# ./Desinstalar_efltk-2.0.8 |
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 efltk-2.0.8-scripts.tar.gz
# cd efltk-2.0.8-scripts
# ./Respaldar_efltk-2.0.8 |
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_efltk-2.0.8
|
EDE
Instalación
Dependencias
Herramientas de Compilación
Entre paréntesis la versión con la que se ha compilado EDE para la elaboración de este documento
* GCC - (7.1.0)
* Make - (4.2.1)
* Automake - (1.15)
* Gettext - (0.19.8.1)
* Autoconf - (2.69)
Librerías de
Desarrollo
*
Xorg - (7.7 / xorg-server 1.19.3)
LibICE - (1.0.9)
LibX11 - (1.6.5)
* eFLTK - (2.0.8)
Aplicaciones
* XScreenSaver - (5.36)
Descarga
ede-1.2.tar.gz | ede-themes-1.2.tar.xz
Optimizaciones
Optimizaciones adicionales
Optimizaciones adicionales |
Graphite
|
$ export {C,CXX}FLAGS+=' -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block'
|
LTO |
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=2'
|
Donde pone 2
se indica el número de núcleos de nuestro procesador, si
sólo tiene uno, utilizar el parámetro -flto |
Parámetros adicionales
Establecer el RPATH
correspondiente si utilizamos una versión de GCC que no es
la principal del sistema |
$ export
LIBS+=" -Wl,-rpath,/opt/gcc7/lib -lstdc++" |
Sustituir /opt/gcc7/lib
por la ruta de instalación de la versión de GCC alternativa que
se vaya a utilizar en el proceso de compilación de este
paquete. |
Extracción
y Configuración
$ tar zxvf ede-1.2.tar.gz
$ cd ede
$ sed -i '63s:=":+=" :' configure.in
$ autoconf
$ ./configure |
Explicación
de los comandos
sed -i '68,69s:=":+=" :' configure.in : Modificamos el archivo de configuración base, configure.in para que el paquete acepte las variables de entorno de optimización aplicadas en el manual.
autoconf : Ejecutamos este comando para que actualice el script de configuración, configure, a los cambios realizados en el archivo de configuración base del mismo.
Compilación
Parámetros de compilación opcionales
Instalación
como root
Borrar las locales adicionales instaladas con la utilidad BleachBit
$ su -c "bleachbit -c system.localizations"
|
Instalación del paquete recopilatorio de los temas de decoración de ventanas ubicados en la antigua web de EDE
Paquete recopilatorio creado a partir de los temas de decoración de ventanas, de la versión 1 de EDE que podemos encontrar en este enlace
de la antigua página del entorno de escritorio. Los temas los
podremos seleccionar desde las opciones de configuración del
administrador de ventanas, y buscando la ruta al archivo de
configuración del tema en la ubicación de
instalación del mismo.
$
su
# install -dm755 /usr/local/share/ede/themes
# tar Jxvf ede-themes-1.2.tar.xz --strip-components=1 -C /usr/local/share/ede/themes
|
Estadísticas de Compilación e Instalación de EDE
Estadísticas de Compilación e Instalación de EDE |
CPU |
AMD Athlon(tm) II X2 260 Processor |
MHz |
3214.610 |
RAM |
2048 MB |
Sistema de archivos |
XFS |
Versión de Glibc |
2.25 |
Enlazador dinámico |
GNU gold (Binutils 2.28) 1.14 |
Compilador |
GCC 7.1.0 + Ccache 3.3.4 |
Parámetros de optimización |
-03
-march=amdfam10 -mtune=amdfam10 -floop-interchange
-ftree-loop-distribution -floop-strip-mine
-floop-block -fuse-linker-plugin -flto=2 |
Parámetros de compilación |
-j2 |
Tiempo de compilación |
30" |
Archivos instalados |
669 |
|
Ocupación de espacio en disco |
4,2 MB |
Consumo inicial de CPU y RAM de EDE
Consumo inicial de CPU y RAM de EDE |
Proceso
|
CPU |
Memoria física |
edewm |
0 % |
8,5 MB |
eiconman |
0 % |
8,5 MB |
eworkpanel |
0 % |
9,5 MB |
TOTAL |
0 % |
26,5 MB |
Directorio de
configuración personal
~/.ede |
Es
el directorio de configuración personal de EDE en
nuestro home |
~/.ede/desktop |
Es el
subdirectorio que contiene los archivos desktop de los iconos que se
muestran en el escritorio. Reseñar que los archivos desktop que
utiliza EDE difieren bastante de los utilizados siguiendo el estándar creado por freedesktop.org. |
~/.ede/apps |
Es el subdirectorio que contiene la configuración de los componentes de EDE, como puedan ser el salvapantallas (escrsaver) o el control de volumen (evolume). |
~/.ede/favourites |
Es el subdirectorio que contiene los archivos desktop del submenú Favoritos que se muestra en el menú principal de EDE.
Aunque recibe este nombre, en realidad es el submenú que
contiene el historial de las últimas aplicaciones que hayamos
lanzado desde el menú de EDE. |
~/.ede/programs |
Es el subdirectorio que contiene los archivos desktop del submenú Programas de Usuario que se muestra en el menú principal de EDE. Éste es el menú personal que se edita con el Editor del Menú. |
~/.ede/ede_mainmenu.xml |
Es el archivo de configuración del menú principal de EDE, está en formato XML y su edición es bastante sencilla. |
~/.ede/themes |
Si queremos crear temas de
decoración de ventanas personalizados, o editar los
proporcionados por el programa, será conveniente crear este
subdirectorio para ubicarlos. |
~/.ede/fondos |
Si tenemos pensado
utilizar fondos de escritorio más grandes que la
resolución de pantalla de nuestro escritorio es muy recomendable
crear un subdirectorio de fondos y copiar a éste los fondos
previamente redimensionados con un editor de imágenes a la
resolución utilizada por nuestro monitor. ¿Por qué
digo todo esto? Porque el redimensionado que realiza EDE
para ajustar la imagen al tamaño de la pantalla es de muy mala
calidad, ya que no utiliza ningún tipo de filtro de
interpolación para realizar este cometido. |
~/.ede/autostart |
Un ejemplo de script de inicio de aplicaciones y del que explico su configuración más abajo. |
Desinstalación
como root
1) MODO TRADICIONAL
En el directorio de compilación ejecutamos el siguiente comando:
2) MODO MANUALINUX
ede-1.2-scripts.tar.gz
$ su
# tar zxvf ede-1.2-scripts.tar.gz
# cd ede-1.2-scripts
# ./Desinstalar_ede-1.2 |
Copia de Seguridad
como root
$ su
# tar zxvf ede-1.2-scripts.tar.gz
# cd ede-1.2-scripts
# ./Respaldar_ede-1.2 |
Restaurar la Copia de Seguridad
como root
$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_ede-1.2
|
Traducción al
Español de EDE 1 y 2
1) EDE 1
Descarga
EDE_es-ML0.run
Firma Digital
EDE_es-ML0.run.asc
Verificar la firma digital del paquete
$ gpg --import manualinux.asc
$ gpg --verify EDE_es-ML0.run.asc EDE_es-ML0.run |
Instalación
como root
$ su -c "sh EDE_es-ML0.run" |
Instalación como usuario del menú de aplicaciones traducido
$ cp -f /usr/local/share/ede/ede_mainmenu.xml $HOME/.ede |
Hacer esto siempre después de haber iniciado por primera vez el entorno gráfico.
2) EDE 2
Descarga
EDE2_es-ML0.run
Firma Digital
EDE2_es-ML0.run.asc
Verificar la firma digital del paquete
$ gpg --import manualinux.asc (sólo es necesario si no lo hemos hecho antes)
$ gpg --verify EDE2_es-ML0.run.asc EDE2_es-ML0.run |
Instalación
como root
$ su -c "sh EDE2_es-ML0.run" |
Configurar el inicio de
EDE
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/bin/startede |
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/bin/startede |
3) GDM/KDM en
OpenMandriva
Creamos un archivo y
lo nombramos 99EDE,
lo editamos y añadimos lo siguiente:
NAME=EDE
ICON=
EXEC=/usr/local/bin/startede
DESC=Equinox Desktop Environment
SCRIPT:
exec /usr/local/bin/startede
|
Lo instalamos en el
directorio /etc/X11/wmsession.d, y ejecutamos el comando fndSession
para que genere los correspondientes archivos desktop que se
crearán de forma automática en los respectivos
directorios de ubicación de las sesiones de GDM y KDM.
$ su
# install -m644 99EDE /etc/X11/wmsession.d
# fndSession
|
Ubicación de los archivos desktop creados en Mandriva |
GDM |
/etc/X11/dm/Sessions/99EDE.desktop |
KDM |
/usr/share/apps/kdm/sessions/99EDE.desktop |
4) GDM/KDM en Fedora
Abrimos un editor de texto y añadimos lo siguiente al mismo,
[Desktop Entry]
Encoding=UTF-8
Name=EDE
Comment=
Exec=/usr/local/bin/startede
Terminal=False
TryExec=/usr/local/bin/startede |
Lo guardamos con el nombre ede.desktop, con la codificación de caracteres, UTF-8, y lo instalamos en /usr/share/xsessions, y en /usr/share/kde4/apps/kdm/sessions.
$ su
# install -m644 ede.desktop /usr/share/xsessions
# install -m644 ede.desktop /usr/share/kde4/apps/kdm/sessions
|
Ubicación de los archivos desktop creados en Fedora |
GDM |
/usr/share/xsessions/ede.desktop |
KDM |
/usr/share/kde4/apps/kdm/sessions/ede.desktop |
5) GDM/KDM en Slackware y derivados
Abrimos un editor de texto y añadimos lo siguiente al mismo,
#!/bin/sh
# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f $userresources ]; then
xrdb -merge $userresources
fi
if [ -f $usermodmap ]; then
xmodmap $usermodmap
fi
# Start the window manager:
exec /usr/local/bin/startede
|
Lo guardamos con el nombre xinitrc.ede, y lo instalamos en /etc/X11/xinit.
$ su
# install -m755 xinitrc.ede /etc/X11/xinit
|
En el mismo editor de texto que tenemos abierto, borramos lo anterior y añadimos lo siguiente,
[Desktop Entry]
Encoding=UTF-8
Name=EDE
Comment=
Exec=/etc/X11/xinit/xinitrc.ede
Icon=
Type=Application
|
Lo guardamos con el nombre ede.desktop, con la codificación de caracteres, UTF-8, y lo instalamos en /usr/share/xsessions, y en /usr/share/apps/kdm/sessions.
Ubicación de los archivos desktop creados en Slackware y derivados |
GDM |
/usr/share/xsessions/ede.desktop |
KDM |
/usr/share/apps/kdm/sessions/ede.desktop |
6) GDM/KDM en openSUSE
Abrimos un editor de texto y añadimos lo siguiente al mismo,
[Desktop Entry]
X-SuSE-translate=true
Encoding=UTF-8
Type=XSession
Exec=/usr/local/bin/startede
TryExec=/usr/local/bin/startede
Name=EDE
Comment=
|
Lo guardamos con el nombre ede.desktop, con la codificación de caracteres, UTF-8, y lo instalamos en /usr/share/xsessions, y en /usr/share/kde4/apps/kdm/sessions.
$ su
# install -m644 ede.desktop /usr/share/xsessions
# install -m644 ede.desktop /usr/share/kde4/apps/kdm/sessions
|
Ubicación de los archivos desktop creados en openSUSE |
GDM |
/usr/share/xsessions/ede.desktop |
KDM |
/usr/share/kde4/apps/kdm/sessions/ede.desktop |
7) GDM/KDM en Debian y derivados
Abrimos un editor de texto y añadimos lo siguiente al mismo,
[Desktop Entry]
Encoding=UTF-8
Type=XSession
Exec=/usr/local/bin/startede
TryExec=/usr/local/bin/startede
Name=EDE
|
Lo guardamos con el nombre ede.desktop, con la codificación de caracteres, UTF-8, y lo instalamos en /usr/share/xsessions, y en /usr/share/kde4/apps/kdm/sessions.
$ su
# install -m644 ede.desktop /usr/share/xsessions
# install -m644 ede.desktop /usr/share/kde4/apps/kdm/sessions
|
Ubicación de los archivos desktop creados en Debian y derivados |
GDM |
/usr/share/xsessions/ede.desktop |
KDM |
/usr/share/kde4/apps/kdm/sessions/ede.desktop |
8) Qingy
Abrimos un editor de texto y añadimos lo siguiente al mismo,
Lo guardamos con el nombre EDE, y lo instalamos en /etc/qingy/Xsessions.
$ su
# install -m755 EDE /etc/qingy/Xsessions
|
9) 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,EDE,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 EDE,
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=startede
case $1 in
XFce4)
exec startxfce4
;;
IceWM)
exec icewm-session
;;
WindowMaker)
exec wmaker
;;
Blackbox)
exec startblackbox
;;
Fluxbox)
exec startfluxbox
;;
E17)
exec enlightenment_start
;;
EDE)
exec startede
;;
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
EDE
Editar el menú de EDE
El editor gráfico del menú de EDE es en realidad un editor y creador de archivos desktop, con lo que se da la paradoja de que no nos permite editar el menú principal de EDE que está en formato XML y cuya ubicación es la siguiente: ~/.ede/ede_mainmenu.xml.
En el paquete de traducción del programa se incluye una
versión en español de este archivo y cuyo ejemplo pongo a
continuación.
La ruta predefinida de los iconos que se utilizan
tanto en el menú principal como en los menús de usuario y
del sistema que se editan con el editor del menú es /usr/local/share/ede/icons/16x16,
si queremos añadir los iconos de las aplicaciones que vayamos
incluyendo en los menús tendremos que copiar a este directorio
los iconos de éstas, y a un tamaño predefinido de 16x16
píxeles. Con los iconos que se muestran en el escritorio
tendremos que hacer también lo mismo, pero esta vez al
directorio /usr/local/share/ede/icons/48x48 y a un tamaño de 48x48 píxeles.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Menu>
<!--
<Item Type="Exec" Icon="~/xfte.png" Exec="xfte">
<Name>xFTE editor</Name>
<Name Lang="fi">xFTE editori</Name>
</Item>
<Item Type="Divider"/>
-->
<Item Type="AppDir" Dir="$DEFAULT_PROGRAMS_DIR">
<Name>Programas</Name>
</Item>
<Item Type="AppDir" Dir="~/.ede/programs">
<Name>Programas de usuario</Name>
</Item>
<Item Type="Divider"/>
<Item Type="AppDir" Dir="~/.ede/favourites">
<Name>Favoritos</Name>
</Item>
<Item Type="Exec" Icon="efinder.png" Exec="efinder">
<Name>Buscar</Name>
</Item>
<Item Type="Exec" Icon="ehelpbook.png" Exec="file:/usr/local/share/ede/doc/index.html">
<Name>Ayuda</Name>
</Item>
<Item Type="Exec" Icon="about.png" Exec="$ABOUT">
<Name>Acerca de</Name>
</Item>
<Item Type="Exec" Icon="erun.png" Exec="elauncher">
<Name>Lanzar</Name>
</Item>
<Item Type="Divider"/>
<Item Type="FileBrowser" Dir="/">
<Name>Explorar rápido</Name>
</Item>
<Item Type="SubDir">
<Name>Panel</Name>
<Item Type="Exec" Icon="econtrol.png" Exec="econtrol">
<Name>Panel de Control</Name>
</Item>
<Item Type="Exec" Icon="emenueditor.png" Exec="emenueditor">
<Name>Editor del menú</Name>
</Item>
<Item Type="Exec" Icon="synaptic.png" Exec="einstaller">
<Name>Instalar nuevos programas</Name>
</Item>
</Item>
<Item Type="Divider"/>
<Item Type="Exec" Icon="lock.png" Exec="xlock">
<Name>Bloquear</Name>
</Item>
<Item Type="Exec" Icon="logout.png" Exec="$LOGOUT">
<Name>Cerrar sesión</Name>
</Item>
</Menu>
|
Añadir ejecutables
<Item Type="Exec" Icon="icono" Exec="ejecutable">
<Name>Nombre de la aplicación</Name>
</Item>
|
Añadir submenús
<Item Type="AppDir" Dir="ruta al directorio que contenga el menú de archivos desktop">
<Name>Nombre del submenú</Name>
</Item>
|
Añadir separadores
Tanto el menú del sistema (Programas) como el menú de usuario (Programas de Usuario) se editan con el Editor del Menú,
aunque su manejabilidad no es para tirar cohetes. Para editar el
menú del sistema tendremos que ejecutar el siguiente comando
desde una terminal:
Luego seleccionamos Archivo >> System Menu.
Añadir aplicaciones al inicio de EDE
Para poder añadir aplicaciones al inicio de EDE, crearemos un script de inicio dentro de nuestro directorio de configuración personal, lo llamaremos autostart, y le daremos permisos de ejecución, además añadiremos por ejemplo Wbar para que se inicie junto a EDE.
#!/bin/sh
sleep 5 && wbar --above-desk --pos top
|
$ chmod +x ~/.ede/autostart |
Luego como root ejecutamos el siguiente comando para añadir la ruta del script creado al script de ejecución de EDE:
$ su
# sed -i '42i$HOME/.ede/autostart &' /usr/local/bin/startede |
Reiniciamos EDE y comprobamos que todo funciona bien.
Sustituir Eiconman por Idesk + CWallpaper
Si no nos convence el gestor de iconos y fondo de escritorio que utiliza EDE (eiconman) podemos sustituirlo sin ningún problema por un combinado cómo por ejemplo: Idesk + CWallpaper.
Esto nos facilitará considerablemente la ejecución de
aplicaciones auxiliares que solemos utilizar con administradores de
ventanas, y en el caso de Wbar, no tendremos que añadir la opción -above-desk para que se coloque por encima del escritorio de EDE.
Editamos el archivo ~/.ede/autostart que hemos creado antes y lo dejamos de la siguiente forma:
#!/bin/sh
cwallpaper -l
sleep 5 && idesk
sleep 5 && wbar --pos top
|
Luego como root ejecutamos el siguiente comando para comentar la
entrada de ejecución de eiconman en el script de
ejecución de EDE:
$ su
# sed -i 's:exec eiconman:#exec eiconman:' /usr/local/bin/startede |
Reiniciamos EDE y comprobamos los resultados.
Hacer transparente el panel con Xcompmgr y Transset
Tomando como referencia la información incluida en el manual de Xcompmgr, y que es válida para EDE, voy a explicar la forma de activar una transparencia real de 0.75 del panel de EDE,
y desde el inicio del entorno. Abrimos una ventana de terminal, y
ejecutamos el siguiente comando, haciendo clic con el puntero del
ratón convertido en una cruceta, en el panel de EDE.
[jose@localhost ~]$ xwininfo | grep id:
xwininfo: Window id: 0x400004 "Workpanel" |
Abrimos con un editor de texto, el script de inicio, ~/.ede/autostart, y añadimos lo siguiente:
#!/bin/sh
sleep 2.5; xcompmgr -cCFf -l2 -t1 -r3 -o.20 -D4 &
sleep 3.5; transset -n "Workpanel" &
|
Si queremos hacer uso también de las transparencias en las ventanas, seguimos los mismos pasos explicados en la sección correspondiente del manual de Xcompmgr, le añadimos el comando de ejecución de XbindKeys.
#!/bin/sh
sleep 2.5; xcompmgr -cCFf -l2 -t1 -r3 -o.20 -D4 &
sleep 3.5; transset -n "Workpanel" &
sleep 3.5; xbindkeys &
|
Cerramos sesión y en el siguiente inicio, comprobamos los resultados.
Enlaces
http://equinox-project.org >> La web de EDE.
|