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

Entornos GráficosAplicaciones

Administradores de SesionesAdministradores de VentanasEscritoriosUtilidades de Escritorio

Instalar Enlightenment - E16 desde ceroInstalar Fluxbox desde cero

Instalar Enlightenment - E17 desde cero




Instalar Enlightenment - E17 desde cero




Copyright

Copyright © José Luis Lara Carrascal  2006-2013  http://manualinux.freehostia.com



Sumario

Introducción
Preparativos
SVN
Descargar los archivos
Compilar Enlightenment - E17
Optimizaciones
Compilar las Librerías
Compilar las Aplicaciones
Configurar el inicio de Enlightenment - E17
Iniciamos Enlightenment - E17
Capturas de Temas de Enlightenment - E17
Directorios de configuración personal
Sysactions.conf
Enlaces




Introducción

Enlightenment - E17
, es la siguiente generación del histórico administrador de ventanas, Enlightenment, ahora llamado E16. Sin llegar a ser un verdadero entorno de escritorio, E17 proporciona al usuario una interfaz gráfica muy configurable, destacando la inclusión de un administrador de archivos y de las típicas aplicaciones auxiliares (indicadores de estado, lanzadores, etc.) que podemos colocar en el panel o en el fondo de la pantalla. Otro aspecto a tener en cuenta, es el visual, proporcionado por la librería Evas, que convierte a este entorno gráfico en uno de los más "bonitos" de nuestro sistema GNU/Linux.

Quizá para los usuarios tradicionales de administradores de ventanas, E17 resulte demasiado grande, teniendo en cuenta lo que ocupa en disco, comparado con cualquier administrador de ventanas clásico, de los tratados en esta web. Probablemente su uso esté más orientado a los usuarios de entornos de escritorio pesados que buscan algo similar, pero que consuma menos memoria.

En este manual trataremos la instalación desde código fuente de este entorno, en su versión de desarrollo, que desde el 21-12-2012, ya tiene una versión estable del mismo, pero no incluye todo el software compatible.



Preparativos  

El entorno gráfico lo instalaremos junto con las librerías de las que depende en un solo directorio: /opt/e17. Si una vez probado no nos interesa seguir usándolo sólo tendremos que borrar dicho directorio, y no quedará ningún rastro de E17 en nuestro sistema. Antes que nada, preparemos nuestro sistema para que reconozca el nuevo directorio y no existan errores en la compilación de E17.

1) Editamos el archivo /etc/ld.so.conf y añadimos /opt/e17/lib

include ld.so.conf.d/*.conf

/usr/X11R6/lib
/usr/lib
/usr/lib/qt3/lib
/usr/local/lib
/opt/e17/lib

Si por lo que sea, no queremos tocar este archivo, ejecutamos el siguiente comando como root:

$ su
# echo /opt/e17/lib > /etc/ld.so.conf.d/e17.conf

2) En nuestro home, editamos el archivo .bashrc, y añadimos /opt/e17/bin y /opt/e17/sbin a nuestro PATH.

export PATH=/opt/e17/bin:/opt/e17/sbin:$PATH

Añadimos también lo siguiente para una correcta compilación:

export PKG_CONFIG_PATH=/opt/e17/lib/pkgconfig:$PKG_CONFIG_PATH

Configuramos la variable 'XDG_CONFIG_DIRS' para que E17 encuentre el menú de aplicaciones propio,

export XDG_CONFIG_DIRS=/etc/xdg:/opt/e17/etc/xdg:$XDG_CONFIG_DIRS

Configuramos la variable de entorno 'XDG_DATA_DIRS', requerida para que todos los entornos gráficos o aplicaciones que trabajan con archivos desktop para generar sus respectivos menús de aplicaciones (GNOME, LXPanel, etc.) puedan encontrar los archivos desktop de las aplicaciones instaladas con E17. En el mismo archivo ~/.bashrc añadimos lo siguiente.

export XDG_DATA_DIRS=/usr/share/:/usr/local/share:$HOME/.local/share:/opt/e17/share:$XDG_DATA_DIRS

Si queremos establecer una variable de entorno global del sistema, abrimos un editor de texto y añadimos todo lo descrito anteriormente,

#!/bin/sh

export PATH=/opt/e17/bin:/opt/e17/sbin:$PATH

export PKG_CONFIG_PATH=/opt/e17/lib/pkgconfig:$PKG_CONFIG_PATH

export XDG_CONFIG_DIRS=/etc/xdg:/opt/e17/etc/xdg:$XDG_CONFIG_DIRS

export XDG_DATA_DIRS=/usr/share/:/usr/local/share:$HOME/.local/share:/opt/e17/share:$XDG_DATA_DIRS

Lo guardamos con el nombre variables.sh, y lo instalamos en /etc/profile.d.

$ su
# 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.

3) Editamos los archivos de configuración, /etc/dbus-1/session.conf y /etc/dbus-1/system.conf, para añadirles la ruta a los archivos de configuración de los servicios de E17, específicos para D-Bus. Lo que está en color rojo.

/etc/dbus-1/session.conf
<!-- This configuration file controls the per-user-login-session message bus.
     Add a session-local.conf and edit that rather than changing this
     file directly. -->

<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
  <servicedir>/opt/e17/share/dbus-1/services</servicedir>
  <!-- Our well-known bus type, don't change this -->
  <type>session</type>

  <!-- If we fork, keep the user's original umask to avoid affecting
       the behavior of child processes. -->
  <keep_umask/>

/etc/dbus-1/system.conf
<!-- This configuration file controls the systemwide message bus.
     Add a system-local.conf and edit that rather than changing this
     file directly. -->

<!-- Note that there are any number of ways you can hose yourself
     security-wise by screwing up this file; in particular, you
     probably don't want to listen on any more addresses, add any more
     auth mechanisms, run as a different user, etc. -->

<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
  <servicedir>/opt/e17/share/dbus-1/services</servicedir>
  <!-- Our well-known bus type, do not change this -->
  <type>system</type>



SVN  Bloc de Notas

Necesitaremos el programa Subversion para poder bajarnos todo lo necesario para compilar E17, cuando terminemos de compilarlo todo, comprimiremos el directorio E17-SVN/e17 y borraremos la carpeta. Cada vez que queramos actualizar la versión descomprimiremos el directorio y ejecutaremos el script Actualizar_e17-svn que previamente habremos copiado al directorio E17-SVN y que he incluido junto a los scripts que acompañan a este manual.



Descargar los archivos  

Creamos un directorio en nuestro home y lo nombramos E17-SVN, entramos dentro del mismo y ejecutamos lo siguiente:

$ svn co http://svn.enlightenment.org/svn/e/trunk/efl e17/libs/efl
$ svn co http://svn.enlightenment.org/svn/e/trunk/evas_generic_loaders e17/libs/evas_generic_loaders
$ svn co http://svn.enlightenment.org/svn/e/trunk/ephysics e17/libs/ephysics
$ svn co http://svn.enlightenment.org/svn/e/trunk/edje e17/libs/edje
$ svn co http://svn.enlightenment.org/svn/e/trunk/eeze e17/libs/eeze
$ svn co http://svn.enlightenment.org/svn/e/trunk/emotion e17/libs/emotion
$ svn co http://svn.enlightenment.org/svn/e/trunk/e_dbus e17/libs/e_dbus
$ svn co http://svn.enlightenment.org/svn/e/trunk/PROTO/libeweather e17/libs/libeweather
$ svn co http://svn.enlightenment.org/svn/e/trunk/PROTO/epdf e17/libs/epdf
$ svn co http://svn.enlightenment.org/svn/e/trunk/ethumb e17/libs/ethumb
$ svn co http://svn.enlightenment.org/svn/e/trunk/PROTO/emap e17/libs/emap
$ svn co http://svn.enlightenment.org/svn/e/trunk/PROTO/elocation e17/libs/elocation
$ svn co http://svn.enlightenment.org/svn/e/trunk/elementary e17/libs/elementary
$ svn co http://svn.enlightenment.org/svn/e/trunk/enlil e17/libs/enlil
$ svn co http://svn.enlightenment.org/svn/e/trunk/PROTO/exchange e17/apps/exchange
$ svn co http://svn.enlightenment.org/svn/e/trunk/e e17/apps/e
$ svn co http://svn.enlightenment.org/svn/e/trunk/emprint e17/apps/emprint
$ svn co http://svn.enlightenment.org/svn/e/trunk/exalt e17/apps/exalt
$ svn co http://svn.enlightenment.org/svn/e/trunk/E-MODULES-EXTRA e17/apps/e_modules
$ svn co http://svn.enlightenment.org/svn/e/trunk/empower e17/apps/empower
$ svn co http://svn.enlightenment.org/svn/e/trunk/enki e17/apps/enki
$ svn co http://svn.enlightenment.org/svn/e/trunk/envision e17/apps/envision
$ svn co http://svn.enlightenment.org/svn/e/trunk/ephoto e17/apps/ephoto

Revisión obtenida: 81960



Compilar Enlightenment - E17 

Dependencias

Herramientas de Compilación


Entre paréntesis la versión con la que se ha compilado Enlightenment - E17 para la elaboración de este documento.

* GCC - (4.7.2)
* Gawk - (4.0.2)
* M4 - (1.4.16)
* Libtool - (2.4.2)
* Make - (3.82)
* Automake - (1.13.1)
* Bison - (2.7)
* Flex - (2.5.37)
* Gettext - (0.18.2)
* Autoconf - (2.69)
* Pkg-config - (0.27.1)

Librerías de Desarrollo

* Xorg o XFree86 - (Xorg 7.7 / xorg-server 1.13.1)
   LibICE - (1.0.8)
   LibX11 - (1.5.0)
   LibXext - (1.3.1)
   LibXi - (1.4.3)
   LibXinerama - (1.1.2)
   LibXrender - (0.9.7)
   LibXrandr - (1.4.0)
   LibXcursor - (1.1.13)
   LibXdamage - (1.1.3)
   LibXfixes - (5.0)
   LibXcomposite - (0.4.3)
   LibXScrnSaver - (1.2.2)
   LibXtst - (1.2.1)
* Freetype2 - (2.4.5)
* Imlib2 - (1.4.5)
* Glib - (2.34.3)
* Fontconfig - (2.10.1)
* Fribidi - (0.19.5)
* ALSA - (1.0.26)
* SDL - (1.2.15)
* PAM - (1.1.6)
* GnuTLS - (3.1.5)
* Libgcrypt - (1.5.0)
* Lua - (5.1.5)
* Libpng - (1.4.12)
* Libtiff - (4.0.3)
* Poppler - (0.20.5)
* Python - (2.7.3)
* Libjpeg - (8d)
* Librsvg - (2.36.4)
* Libspectre - (0.2.7)
* LibRaw - (0.14.6)
* Mesa - (8.0.5)
* Giflib - (4.1.6)
* Libexif - (0.6.21)
* V4l-utils - (0.9.1)
* VLC - (2.0.5)
* Libxml2 - (2.9.0)
* Zlib - (1.2.7)
* OpenSSL - (1.0.1c)
* GStreamer - (0.10.36)
* Gst-ffmpeg - (0.10.11)
* Curl - (7.28.1)
* D-Bus - (1.6.8)
* Xine-lib - (1.2.2)
* Bullet - (2.81-rev2613)
* Libiptcdata - (1.0.4)
* Valgrind - (3.8.1)

Aplicaciones

* Doxygen - (1.8.3)



Orden de Compilación

Librerías:


01. e17/libs/efl
02. e17/libs/evas_generic_loaders
03. e17/libs/ephysics
04. e17/libs/edje
05. e17/libs/eeze
06. e17/libs/emotion
07. e17/libs/e_dbus
08. e17/libs/libeweather
09. e17/libs/epdf
10. e17/libs/ethumb
11. e17/libs/emap
12. e17/libs/elocation
13. e17/libs/elementary
14. e17/libs/enlil

Aplicaciones:

01. e17/apps/exchange
02. e17/apps/e
03. e17/apps/emprint
04. e17/apps/exalt
05. e17/apps/e_modules
06. e17/apps/empower
07. e17/apps/enki
08. e17/apps/envision
09. e17/apps/ephoto



Establecer las variables de entorno para una correcta compilación si tenemos instalado Entrance siguiendo su manual

Terminal de Usuario

$ export PATH=/opt/e17/bin:$PATH
$ export LDFLAGS="-Wl,-rpath,/opt/e17/lib"

Empezamos con /e17/libs/efl, abrimos dos terminales, una como usuario y otra como root.

Optimizaciones  

$ export {CFLAGS,CXXFLAGS}='-O3 -march=barcelona -mtune=barcelona'

Donde pone barcelona 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.x e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
Valores CPU
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='. Esta opción está disponible a partir de GCC 4.2.x.
i386 Intel i386.
i486 Intel i486.
i586, pentium Intel Pentium sin soporte de instrucciones MMX.
pentium-mmx Intel PentiumMMX basado en Pentium con soporte de instrucciones MMX.
pentiumpro Intel PentiumPro.
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.
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.
pentium-m Versión de bajo consumo de Intel Pentium3 con soporte de instrucciones MMX, SSE y SSE2. Utilizado por los portátiles Centrino.
pentium4, pentium4m Intel Pentium4 con soporte de instrucciones MMX, SSE y SSE2.
prescott Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2 y SSE3.
nocona Versión mejorada de Intel Pentium4 con extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2 y SSE3.
core2 Intel Core2 con extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2, SSE3 y SSSE3. Esta opción está disponible a partir de GCC 4.3.x.
corei7 Intel Core i7 con extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 y SSE4.2. Soporta también los procesadores Intel Core i3 e i5. Esta opción está disponible a partir de GCC 4.6.x.
corei7-avx Intel Core i7 con extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AES y PCLMUL. Soporta también los procesadores Intel Core i3 e i5. Esta opción está disponible a partir de GCC 4.6.x.
core-avx-i Intel Core (ivyBridge) con extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AES, PCLMUL, FSGSBASE, RDRND y F16C. Esta opción está disponible a partir de GCC 4.7.x.
core-avx2 Intel Core (Haswell). Esta opción está disponible a partir de GCC 4.7.x.
atom Intel Atom con extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2, SSE3 y SSSE3. Esta opción está disponible a partir de GCC 4.5.x.
k6 AMD K6 con soporte de instrucciones MMX.
k6-2, k6-3 Versiones mejoradas de AMD K6 con soporte de instrucciones MMX y 3DNow!.
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.
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.x.
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.x.
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.x.
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.x.
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.x.
winchip-c6 IDT Winchip C6, que equivale a un i486 con soporte de instrucciones MMX.
winchip2 IDT Winchip2, que equivale a un i486 con soporte de instrucciones MMX y 3DNow!.
c3 Via C3 con soporte de instrucciones MMX y 3DNow!.
c3-2 Via C3-2 con soporte de instrucciones MMX y SSE.
geode AMD integrado con soporte de instrucciones MMX y 3DNow!. Esta opción está disponible a partir de GCC 4.3.x.
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.x.

Las optimizaciones se ejecutan en la terminal de usuario: ¡EMPIEZA LA COMPILACION!

Compilar las Librerías  Bloc de Notas Información general sobre el uso de los comandos

01) /e17/libs/efl

Terminal de Usuario

$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17
$ make
$ cd ../evas_generic_loaders

Terminal de Root

# make install-strip
# make distclean
# ldconfig -v  
# cd ../evas_generic_loaders


02) /e17/libs/evas_generic_loaders

Terminal de Usuario

$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17
$ make
$ cd ../ephysics

Terminal de Root

# make install-strip
# make distclean
# cd ../ephysics


03) /e17/libs/ephysics 

Terminal de Usuario

$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17 
$ make
$ cd ../edje

Terminal de Root

# make install-strip
# make distclean
# ldconfig -v
# cd ../edje


04) /e17/libs/edje 

Terminal de Usuario

$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17 
$ make
$ cd ../eeze

Terminal de Root

# make install-strip
# make distclean
# ldconfig -v
# cd ../eeze


05) /e17/libs/eeze

Terminal de Usuario

$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17
$ make
$ cd ../emotion

Terminal de Root

# make install-strip
# make distclean
# ldconfig -v
# cd ../emotion


06) /e17/libs/emotion

Terminal de Usuario

$ sed -i '31s:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac
$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17
$ make
$ cd ../e_dbus

Terminal de Root

# make install-strip
# make distclean
# ldconfig -v
# cd ../e_dbus  


07) /e17/libs/e_dbus

Terminal de Usuario

$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17
$ make
$ cd ../libeweather  

Terminal de Root

# make install-strip
# make distclean
# ldconfig -v
# cd ../libeweather


08) /e17/libs/libeweather

Terminal de Usuario

$ sed -i '69s:AM_PROG_CC_STDC:AC_PROG_CC:' configure.ac
$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17
$ make
$ cd ../epdf  

Terminal de Root

# make install-strip
# make distclean
# ldconfig -v
# cd ../epdf


09) /e17/libs/epdf

Terminal de Usuario

$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17
$ make
$ cd ../ethumb

Terminal de Root

# make install-strip
# make distclean
# ldconfig -v
# cd ../ethumb


10) /e17/libs/ethumb

Terminal de Usuario

$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17
$ make
$ cd ../emap

Terminal de Root

# make install-strip
# make distclean
# ldconfig -v
# cd ../emap


11) /e17/libs/emap

Terminal de Usuario

$ sed -i '28s:AM_PROG_CC_STDC:AC_PROG_CC:' configure.ac
$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17
$ make
$ cd ../elocation

Terminal de Root

# make install-strip
# make distclean
# ldconfig -v
# cd ../elocation


12) /e17/libs/elocation

Terminal de Usuario

$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17
$ make
$ cd ../elementary

Terminal de Root

# make install-strip
# make distclean
# ldconfig -v
# cd ../elementary


13) /e17/libs/elementary

Terminal de Usuario

$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17
$ make
$ cd ../enlil

Terminal de Root

# make install-strip
# make distclean
# ldconfig -v
# cd ../enlil


14) /e17/libs/enlil

Terminal de Usuario

$ sed -i '128s:AM_PROG_CC_STDC:AC_PROG_CC:' configure.ac
$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17
$ make
$ cd ../../apps/exchange

Terminal de Root

# make install-strip
# make distclean
# ldconfig -v
# cd ../../apps/exchange



Compilar las Aplicaciones  Bloc de Notas Información general sobre el uso de los comandos

01) /e17/apps/exchange

Terminal de Usuario

$ sed -e '13s:AM_CONFIG_HEADER:AC_CONFIG_HEADERS' \
-e '98s:AM_PROG_CC_STDC:AC_PROG_CC:' -i configure.ac
$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17
$ make
$ cd ../e

Terminal de Root

# make install-strip
# make distclean
# cd ../e


02) /e17/apps/e

Terminal de Usuario

$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17
$ make
$ cd ../emprint  

Terminal de Root

# make install-strip
# make distclean
# cd ../emprint


03) /e17/apps/emprint

Terminal de Usuario

$ sed -e '10s:AM_CONFIG_HEADER:AC_CONFIG_HEADERS' \
-e '17s:AM_PROG_CC_STDC:AC_PROG_CC:' -i configure.ac
$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17 
$ make
$ cd ../exalt

Terminal de Root

# make install-strip
# make distclean
# cd ../exalt



04) /e17/apps/exalt

Terminal de Usuario

$ sed -e '20s:AM_CONFIG_HEADER:AC_CONFIG_HEADERS'\
-e '26s:AM_PROG_CC_STDC:AC_PROG_CC:' -i configure.ac
$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17 
$ make
$ cd ../e_modules

Terminal de Root

# make install-strip
# make distclean
# ldconfig -v
# cd ../e_modules


05) /e17/apps/e_modules

NOTA IMPORTANTE: Si estamos actualizando el programa desde las últimas revisiones de este manual, hay que borrar el directorio entero, e_modules, y ejecutar el comando de descarga correspondiente para volver a crearlo debido a que la actualización mediante el comando svn update produce muchos errores en la configuración posterior previa a la compilación de los módulos.

NOTA IMPORTANTE 2: Si utilizamos la versión 3.82 de make, cuando vayamos a ejecutar dicho comando se producirá el siguiente error (revisión 81960):

Makefile:6: *** las reglas implícitas y las normales están mezcladas.  Alto.

La solución pasa por editar el archivo e_modules/Makefile y modificar lo que está en rojo:

PACKAGE=emodules
VERSION=`pkg-config --modversion enlightenment`
distdir=$(PACKAGE)-$(VERSION)
distfolder=`cat "$$d/configure.ac" | grep "AC_INIT" | sed 's/AC_INIT(//' | sed 's/\[//g' | sed 's/\]//g' | sed 's/, /-/' | sed 's/,.*//'`

all %::
    for d in * ; do \
        test -d "$$d" -a -e "$$d/Makefile" || continue ; \
        $(MAKE) -C $$d $@ || exit 1 ; \
    done

distdir:
    test -d $(distdir) && rm -rf $(distdir)/* || mkdir $(distdir)

Y dejarlo de esta manera,

PACKAGE=emodules
VERSION=`pkg-config --modversion enlightenment`
distdir=$(PACKAGE)-$(VERSION)
distfolder=`cat "$$d/configure.ac" | grep "AC_INIT" | sed 's/AC_INIT(//' | sed 's/\[//g' | sed 's/\]//g' | sed 's/, /-/' | sed 's/,.*//'`

all:
    for d in * ; do \
        test -d "$$d" -a -e "$$d/Makefile" || continue ; \
        $(MAKE) -C $$d $@ || exit 1 ; \
    done
   
%::
    for d in * ; do \
        test -d "$$d" -a -e "$$d/Makefile" || continue ; \
        $(MAKE) -C $$d $@ || exit 1 ; \
    done


distdir:
    test -d $(distdir) && rm -rf $(distdir)/* || mkdir $(distdir)

Una vez lo hayamos guardado, volvemos a ejecutar el comando make. No copiar directamente desde el ejemplo que he puesto, ya que no está indentado y dará errores al ejecutar make. Dejo mi archivo Makefile, para aquellos que no estén familiarizados con la edición de este tipo de archivos. Sólo hay que copiarlo a e17/apps/e_modules y sobreescribir el existente en dicho directorio.


Terminal de Usuario

$ find . -name 'configure.ac' | xargs sed -e \
's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:g' -e \
's:AM_PROG_CC_STDC:AC_PROG_CC:g' -i
$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17
$ make
$ cd ../empower

Siempre que falle la compilación global por culpa de un módulo hay que borrar el directorio del módulo concreto y volver a ejecutar el comando make en el directorio principal, e_modules

Terminal de Root

# make install-strip
# make distclean
# cd ../empower


06) /e17/apps/empower (no compila)

Terminal de Usuario

$ sed -e '29s:AM_CONFIG_HEADER:AC_CONFIG_HEADERS'\
-e '32s:AM_PROG_CC_STDC:AC_PROG_CC:' -i configure.ac
$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17
$ make
$ cd ../enki

Terminal de Root

# make install-strip
# make distclean
# cd ../enki


07) /e17/apps/enki

Terminal de Usuario

$ sed -i '66s:AM_PROG_CC_STDC:AC_PROG_CC:' configure.ac
$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17
$ make   
$ cd ../envision

Terminal de Root

# make install-strip
# make distclean
# cd ../envision


08) /e17/apps/envision

Terminal de Usuario

$ sed -i '11s:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac
$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17
$ make
$ cd ../ephoto

Terminal de Root

# make install-strip
# make distclean
# cd ../ephoto


09) /e17/apps/ephoto

Terminal de Usuario

$ sed -i '31s:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac
$ ./autogen.sh --disable-dependency-tracking --prefix=/opt/e17
$ make

Terminal de Root

# make install-strip
# make distclean

Borrar las locales adicionales instaladas (Terminal de Root)

# for i in ar az_IR bg bs ca cs da de el en_GB eo et fa fi fo fr fr_CH gl he \
hi hr hu id it ja km ko ko_KR ku lt ms nb nl pl ps pt pt_BR ro ru sk sl \
sv th tr uk ur vi yi zh_CN zh_TW ; do \
rm -rf /opt/e17/share/locale/$i &> /dev/null ; \
rm -rf /opt/e17/lib/enlightenment/modules/*/locale/$i &> /dev/null ; \
rmdir --ignore-fail-on-non-empty /opt/e17/lib/enlightenment/modules/*/locale &> /dev/null ; \
done



Desinstalación como root

1) MODO TRADICIONAL

En los directorios de compilación de todos los programas y librerías ejecutamos el siguiente comando como root:

$ su
# make uninstall

2) MODO MANUALINUX   

e17-svn-scripts.tar.gz

$ su
# tar zxvf e17-svn-scripts.tar.gz
# cd e17-svn-scripts
# ./Desinstalar_e17-svn

En la desinstalación se incluyen todos los paquetes instalados en /opt/e17.

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 e17-svn-scripts.tar.gz
# cd e17-svn-scripts
# ./Respaldar_e17-svn

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_e17-svn

Actualizar la versión a la ubicada en el repositorio SVN  

He incluido junto con los habituales scripts que acompañan a los manuales un script de actualización de los paquetes ubicados en nuestro sistema a los ubicados en el repositorio SVN de E17, esto evita tener que ejecutar el comando svn update dentro de cada uno de los directorios de las aplicaciones y librerías descargadas. Sólo tenemos que copiarlo al directorio E17-SVN y ejecutarlo dentro del mismo, desde una ventana de terminal.

$ tar zxvf e17-svn-scripts.tar.gz
$ cp e17-svn-scripts/Actualizar_e17-svn ~/E17-SVN
$ cd ~/E17-SVN
$ ./Actualizar_e17-svn

NOTA IMPORTANTE: Si nos sale el siguiente mensaje, cuando el script Actualizar_e17-svn esté en ejecución:

Se descubrió un conflicto en 'mem/po/ru.po'.
Seleccione: (p) posponer, (df) ver dif. completo, (e) editar,
        (h) ayuda para más opciones:

Escribir tf y pulsar enter cada vez que nos salga, esto hace que el archivo local sea sustituido por el archivo remoto.

También he comprobado que en algunos paquetes existen errores al actualizar mediante el comando svn update, así que tendremos que borrar el directorio en cuestión y ejecutar el comando entero de descarga, desde el directorio raíz E17-SVN.



Configurar el inicio de Enlightenment - E17  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 /opt/e17/bin/enlightenment_start


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

exec /opt/e17/bin/enlightenment_start


3) GDM/KDM en Mandriva

Creamos un archivo y lo nombramos 19E17, lo editamos y añadimos lo siguiente:

NAME:E17
ICON=
EXEC=/opt/e17/bin/enlightenment_start
DESC=
SCRIPT:
exec /opt/e17/bin/enlightenment_start

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 19E17 /etc/X11/wmsession.d
# fndSession

Ubicación de los archivos desktop creados en Mandriva
GDM /etc/X11/dm/Sessions/19E17.desktop
KDM /usr/share/apps/kdm/sessions/19E17.desktop


4) GDM en Fedora

Abrimos un editor de texto y añadimos lo siguiente al mismo,

[Desktop Entry]
Encoding=UTF-8
Name=E17
Comment=
Exec=/opt/e17/bin/enlightenment_start
Terminal=False
TryExec=/opt/e17/bin/enlightenment_start

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

$ su
# install -m644 e17.desktop /usr/share/xsessions

En el caso de KDM no es necesario crear ningún archivo, ya que éste se instala en Fedora con un número bastante amplio de archivos desktop configurados de los entornos gráficos más conocidos de GNU/Linux, entre los que se encuentra, E17.

Ubicación de los archivos desktop creados y existentes (KDM) en Fedora
GDM /usr/share/xsessions/e17.desktop
KDM /usr/share/kde4/apps/kdm/sessions/enlightement.desktop


5) GDM 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 /opt/e17/bin/enlightenment_start


Lo guardamos con el nombre xinitrc.e17, y lo instalamos en /etc/X11/xinit

$ su
# install -m755 xinitrc.e17 /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=E17
Comment=
Exec=/etc/X11/xinit/xinitrc.e17
Icon=
Type=Application

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

$ su
# install -m644 e17.desktop /usr/share/xsessions

En el caso de KDM no es necesario crear ningún archivo, ya que éste se instala en Slackware y derivados con un número bastante amplio de archivos desktop configurados de los entornos gráficos más conocidos de GNU/Linux, entre los que se encuentra, E17.

Ubicación de los archivos desktop creados y existentes (KDM) en Slackware y derivados
GDM /usr/share/xsessions/e17.desktop
KDM /usr/share/apps/kdm/sessions/enlightenment.desktop


6) GDM 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=/opt/e17/bin/enlightenment_start
TryExec=/opt/e17/bin/enlightenment_start
Name=E17
Comment=

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

$ su
# install -m644 e17.desktop /usr/share/xsessions

En el caso de KDM no es necesario crear ningún archivo, ya que éste se instala en openSUSE con un número bastante amplio de archivos desktop configurados de los entornos gráficos más conocidos de GNU/Linux, entre los que se encuentra, E17.

Ubicación de los archivos desktop creados y existentes (KDM) en openSUSE
GDM /usr/share/xsessions/e17.desktop
KDM /usr/share/kde4/apps/kdm/sessions/enlightenment.desktop


7) GDM en Debian y derivados

Abrimos un editor de texto y añadimos lo siguiente al mismo,

[Desktop Entry]
Encoding=UTF-8
Type=XSession
Exec=/opt/e17/bin/enlightenment_start
TryExec=/opt/e17/bin/enlightenment_start
Name=E17

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

$ su
# install -m644 e17.desktop /usr/share/xsessions

En el caso de KDM no es necesario crear ningún archivo, ya que éste se instala en Debian y derivados con un número bastante amplio de archivos desktop configurados de los entornos gráficos más conocidos de GNU/Linux, entre los que se encuentra, E17.

Ubicación de los archivos desktop creados y existentes (KDM) en Debian y derivados
GDM /usr/share/xsessions/e17.desktop
KDM /usr/share/kde4/apps/kdm/sessions/enlightenment.desktop

También se puede copiar el archivo /opt/e17/share/xsessions/enlightenment.desktop a /usr/share/xsessions, pero es recomendable adaptarlo a las peculiaridades de cada distribución cuyos ejemplos de creación de archivos desktop se explica en esta sección.


8) Qingy

Abrimos un editor de texto y añadimos lo siguiente al mismo,

/opt/e17/bin/enlightenment_start

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

$ su
# install -m755 E17 /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,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 Enlightenment - E17, 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=enlightenment_start

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 Enlightenment - E17  


Captura - Enlightement - E17


Captura - E17 - 2


Captura - E17 - 3




Capturas de Temas de Enlightenment - E17  


Captura Tema - Steampunk
Steampunk


Captura Tema - Gant
Gant


Captura Tema Chrome
Chrome


Captura del Tema "Simply-White"
Simply-White

Todos estos temas están disponibles para la descarga en la sección de temas de http://exchange.enlightenment.org y los mismos se copian al directorio personal de configuración: ~/.e/e/themes.



Directorios de Configuración Personal  

Enlightenment - E17
~/.e/e Es el directorio de configuración del entorno gráfico.
~/.e/e/applications Es el directorio que contiene el menú de las aplicaciones en formato desktop.
~/.e/e/backgrounds Las imágenes que importamos o creamos desde la ventana de configuración del fondo del escritorio se guardan en este directorio con la extensión .edj. Además también podemos copiar a este directorio todos los fondos animados y estáticos creados por otros usuarios para E17.
~/.e/e/config/profile.cfg Éste es el archivo de configuración del perfil por defecto que utiliza E17, podemos crear todos los perfiles que creamos conveniente desde el módulo destinado a esta tarea. Cada perfil tendrá su directorio de configuración personalizado. El que viene a continuación es el que se utiliza por defecto.
~/.e/e/config/default Es el directorio de configuración del perfil estándar de uso del programa. Toda la configuración de E17 y los módulos se guardan en este directorio, además del historial del lanzador de aplicaciones. Si tenemos problemas con el funcionamiento del entorno, sólo tendremos que borrar el archivo de configuración e.cfg y el mismo se iniciará como si fuera la primera vez que lo ejecutamos.
~/.e/e/fileman Es el directorio de configuración del administrador de archivos que viene con E17.
~/.e/e/fonts Es el directorio donde se guardan nuestras fuentes de texto personalizadas.
~/.e/e/icons Es el directorio donde se guardan nuestros iconos personalizados para poder utilizarlos en los menús correspondientes. Especial atención a los iconos animados en formato .edj que tendremos que copiarlos a este subdirectorio también.
~/.e/e/init En este directorio podemos copiar los temas que existen para la pantalla de inicio de E17, para luego seleccionarlos en el módulo de configuración respectivo. En este enlace tenemos varios temas disponibles.
~/.e/e/themes Es el directorio donde tenemos que copiar los temas de E17 disponibles en la red. Cada vez que vayamos a actualizar el entorno siguiendo este manual, no olvidar nunca activar el tema por defecto, no sería la primera vez (a mí me ha pasado) que al iniciar el entorno actualizado nos encontramos con que el tema de turno no funciona y E17 se queda colgado. Tendríamos que borrar el archivo de configuración ~/.e/e/config/default/e.cfg para volver a la normalidad.
~/.config/ephoto Es el directorio de configuración de Ephoto.

El borrado de los archivos de configuración no garantiza que el programa vaya a funcionar bien, pero es una buena manera de probar por donde van los tiros, donde pongo borrado mejor sería poner traslado temporal de los archivos, no cuesta nada mover los directorios a uno temporal para probar si el problema reside en nuestro home.


 
Sysactions.conf    

Con la edición de este archivo determinamos que usuarios del sistema pueden ejecutar los comandos desde los diálogos del programa que en un principio sólo son accesibles al root, como por ejemplo, apagar el sistema o reiniciarlo,

/opt/e17/etc/enlightenment/sysactions.conf
# ENLIGHTENMENT SYSTEM ACTIONS CONFIGURATION
#
# This is a system configuration for allowing or denying certain users or
# groups to be able to do certain actions that involve system restricted
# actions such as halt, reboot, suspend, hibernate etc.
#
# This file is read in order from top to bottom - the first rule to MATCH
# will be used for a user or a group, and nothing after that is read.
#
# You must put all the ACTION definitons BEFORE user and group rule matches.
# Any action definitons after a rule match has been found will be ignored.
# This allows actions to be re-defined for different user groups, so matches
# so the command for an action can change for matches to the rules later on.
#
# Any user or group NOT matched by an allow or a deny will be ALLOWED to
# perform the action by default (system administrators should be aware of
# this and implement whatever policies they see fit). Generally speaking
# a user of a workstation, desktop or laptop is intended to have such abilities
# to perform these actions, thus the default of allow. For multi-user systems
# the system administrator is considerd capable enough to restrict what they
# see they need to.
#
# A WARNING to admins: do NOT allow access for users to this system remotely
# UNLESS you fully trust them or you have locked down permissions to halt/reboot
# suspend etc. here first. You have been warned.
#
# FORMAT:
#
# action:   halt      /sbin/shutdown -h now
# action:   reboot    /sbin/shutdown -r now
# action:   suspend   /etc/acpi/sleep.sh force
# action:   hibernate /etc/acpi/hibernate.sh force
#
# user:  username  allow: halt reboot suspend hibernate
# group: groupname deny:  *
# group: *         deny:  *
# user:  *         allow: suspend
# user:  billy     allow: halt reboot
# group: staff     deny:  halt suspend hibernate
#
# etc.
#
# user and group name can use glob matches (* == all for example) like the
# shell. as can action names allowed or denied.

action:   halt      /sbin/shutdown -h now
action:   reboot    /sbin/shutdown -r now
action:   suspend   /etc/acpi/sleep.sh force
action:   hibernate /etc/acpi/hibernate.sh force
action:   /bin/mount /bin/mount
action:   /bin/umount /bin/umount
action:   /usr/bin/eject /usr/bin/eject


# on FreeBSD use this instead of the above.
#action suspend  /usr/sbin/zzz

# root is allowed to do anything - but it needs to be here explicitly anyway
user:     root      allow: *
# members of operator, staff and admin groups should be able to do all
group:    operator  allow: *
group:    staff     allow: *
group:    admin     allow: *
group:    sys       allow: *
# common "user" groups for "console users" on desktops/laptops
group:    dialout   allow: *
group:    disk      allow: *
group:    adm       allow: *
group:    cdrom     allow: *
group:    floppy    allow: *
group:    audio     allow: *
group:    dip       allow: *
group:    plugdev   allow: *
# put in a list of other users and groups here that are allowed or denied etc.
# e.g.
# user:     myuser     allow:  *
# user:     another    allow:  suspend hibernate
# deny everyone else by default
user:     *         deny:  *
user:     jose      allow: *

Donde pone jose escribir el nombre de usuario de cada uno, esto nos habilitará para reiniciar, apagar o suspender el sistema cuando estemos usando el entorno. Es conveniente hacer una copia de seguridad de este archivo, porque cada vez que actualicemos Enlightement - E17, éste será sobreescrito y tendremos que volver a editarlo.



Enlaces


http://www.enlightenment.org >> La web deEnlightenment - E17.

http://trac.enlightenment.org/e/browser/trunk >> Navegación web por el repositorio SVN.

http://exchange.enlightenment.org >> Temas y recursos.

http://www.e17-stuff.org >> Temas y recursos.

Tema E17-GTK
Tema E17-GTK-Green&Blue
Tema E17-GTK-MoreBlue&LessGold
Tema E17-GTK-Blue&Gold

http://www.elivecd.org/ >> Web de la distribución Elive que permite comprobar las características de E17 sin necesidad de instalarlo en el disco duro, iniciándolo desde el cd.


Foro Galería Blog


Actualizado el 01-01-2013

Instalar Enlightenment - E17 desde cero

Instalar Enlightenment - E16 desde ceroInstalar Fluxbox desde cero