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

Entornos GráficosAplicaciones

Administradores de SesionesAdministradores de VentanasEscritoriosUtilidades de Escritorio

Administradores de Sesiones - Qingy

Administradores de Sesiones - SLiM




Administradores de Sesiones - SLiM




Copyright

Copyright © José Luis Lara Carrascal  2007-2017   http://manualinux.eu



Sumario

Introducción
Características
Instalación
Configurar el inicio de SLiM
Configuración
Reiniciamos el Sistema y al inicio aparece SLiM
Enlaces




Introducción   

SLiM
es otro administrador de sesiones independiente para el servidor gráfico X11, no muy conocido en el mundillo GNU/Linux supone una alternativa fiable, simple y ligera al uso de otros administradores de sesiones depedientes de escritorios como KDE y GNOME. Junto al manual se incluye la versión 1.3.5 del programa, traducida al español. Reseñar que a día de hoy este es un proyecto abandonado, que puede ser funcional en algunas distribuciones, pero que me temo, ya no es compatible con las que utilizan Systemd como sistema de inicio del sistema, que son la inmensa mayoría hoy en día.



Características  

* Soporte de archivos PNG con transparencia alfa y XFT con suavizado de fuentes.
* Soporte de Temas externos.
* Opciones de configuración de inicio del servidor gráfico y de los comandos de reinicio, apagado y suspensión del sistema.
* Control de entrada Simple (Modo GDM) o Doble (Modo XDM).
* Puede cargar un usuario predefinido al inicio del programa.
* Soporte de inicio de sesión automático.
* Soporte de enfoque de contraseña para el usuario por defecto.
* Mensajes de bienvenida y salida editables (Los podemos poner en nuestro idioma).
* Puede cargar los temas de forma aleatoria.



Instalación  

Dependencias

Herramientas de Compilación


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

* GCC - (7.1.0) o Clang - (4.0.0)
* CMake - (3.8.2)
* Make - (4.2.1)
* Pkg-config - (0.29.2)

Librerías de Desarrollo

* Xorg - (7.7 / xorg-server 1.19.3)
   LibX11 - (1.6.5)
   LibXext - (1.3.3)
   LibXft - (2.3.2)
   LibXmu - (1.1.2)
   LibXrender - (0.9.10)
* Fontconfig - (2.12.1)
* Freetype2 - (2.8)
* Libgcrypt - (1.7.7)
* Libjpeg - (9b)
* Libpng - (1.6.29)
* Zlib - (1.2.11)



Descarga

slim-1.3.5_es-ML.tar.xz

Firma Digital  Clave pública PGP

slim-1.3.5_es-ML.tar.xz.asc

Verificar la firma digital del paquete

$ gpg --import manualinux.asc
$ gpg --verify slim-1.3.5_es-ML.tar.xz.asc slim-1.3.5_es-ML.tar.xz

Optimizaciones

Donde pone amdfam10 se indica el procesador respectivo de cada sistema seleccionándolo de la siguiente tabla:
Nota informativa sobre las optimizaciones para GCC
* La opción '-march=' establece el procesador mínimo con el que funcionará el programa compilado, la opción '-mtune=' el procesador específico para el que será optimizado. 

* Los valores separados por comas, son equivalentes, es decir, que lo mismo da poner '-march=k8' que '-march=athlon64'.

* En versiones de GCC 3.2 e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
Nota informativa sobre las optimizaciones para Clang
* La opción '-mtune=' está soportada a partir de la versión 3.4 de Clang.

* Los valores de color azul no son compatibles con Clang.

* Las filas con el fondo de color amarillo son valores exclusivos de Clang, y por lo tanto, no son aplicables con GCC.
Valores CPU
Genéricos
generic Produce un código binario optimizado para la mayor parte de procesadores existentes. Utilizar este valor si no sabemos el nombre del procesador que tenemos en nuestro equipo. Este valor sólo es aplicable en la opción '-mtune=', si utilizamos GCC. Esta opción está disponible a partir de GCC 4.2.
native Produce un código binario optimizado para el procesador que tengamos en nuestro sistema, siendo éste detectado utilizando la instrucción cpuid. Procesadores antiguos pueden no ser detectados utilizando este valor. Esta opción está disponible a partir de GCC 4.2.
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 y Clang 3.6.
cannonlake Intel Cannonlake con soporte de instrucciones X87, MMX, AVX, FXSR, CMPXCHG16B, POPCNT, AES, PCLMUL, XSAVE, XSAVEOPT, LAHFSAHF, RDRAND, F16C, FSGSBase, AVX2, BMI, BMI2, FMA, LZCNT, MOVBE, INVPCID, VMFUNC, RTM, HLE, SlowIncDec, ADX, RDSEED, SMAP, MPX, XSAVEC, XSAVES, SGX, CLFLUSHOPT, AVX512, CDI, DQI, BWI, VLX, PKU, PCOMMIT, CLWB, VBMI, IFMA y SHA. Esta opción está disponible a partir de Clang 3.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 y Clang 3.4.
lakemont Intel Quark Lakemont MCU, basado en el procesador Intel Pentium. Esta opción está disponible a partir de GCC 6 y Clang 3.9.
nehalem Intel Nehalem con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9.
nocona Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2, SSE3 y extensiones 64-bit.
penryn Intel Penryn con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y SSE4.1.
pentiumpro Intel PentiumPro.
pentium2 Intel Pentium2 basado en PentiumPro con soporte de instrucciones MMX.
pentium3, pentium3m Intel Pentium3 basado en PentiumPro con soporte de instrucciones MMX y SSE.
pentium4, pentium4m Intel Pentium4 con soporte de instrucciones MMX, SSE y SSE2.
pentium-m Versión de bajo consumo de Intel Pentium3 con soporte de instrucciones MMX, SSE y SSE2. Utilizado por los portátiles Centrino.
pentium-mmx Intel PentiumMMX basado en Pentium con soporte de instrucciones MMX.
prescott Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2 y SSE3.
sandybridge Intel Sandy Bridge con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AES, PCLMUL y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9 y Clang 3.6.
silvermont Intel Silvermont con soporte de instrucciones MOVBE, MMX, SSE, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PCLMU, RDRND y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9 y Clang 3.6.
skx Intel Skylake Server con soporte de instrucciones X87, MMX, AVX, FXSR, CMPXCHG16B, POPCNT, AES, PCLMUL, XSAVE, XSAVEOPT, LAHFSAHF, RDRAND, F16C, FSGSBase, AVX2, BMI, BMI2, FMA, LZCNT, MOVBE, INVPCID, VMFUNC, RTM, HLE, SlowIncDec, ADX, RDSEED, SMAP, MPX, XSAVEC, XSAVES, SGX, CLFLUSHOPT, AVX512, CDI, DQI, BWI, VLX, PKU, PCOMMIT y CLWB. Esta opción está disponible a partir de Clang 3.5. A partir de Clang 3.9 se utiliza también la definición skylake-avx512.
skylake Intel Skylake con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES y extensiones 64-bit. Esta opción está disponible a partir de GCC 6 y Clang 3.6.
skylake-avx512 Intel Skylake Server con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD y extensiones 64-bit. Esta opción está disponible a partir de GCC 6 y Clang 3.9
slm Intel Silvermont con soporte de instrucciones X87, MMX, SSE42, FXSR, CMPXCHG16B, MOVBE, POPCNT, PCLMUL, AES, SlowDivide64, CallRegIndirect, PRFCHW, SlowLEA, SlowIncDec, SlowBTMem y LAHFSAHF. Esta opción está disponible a partir de Clang 3.4. A partir de Clang 3.9 se utiliza también la definición silvermont.
westmere Intel Westmere con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PCLMUL y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9.
yonah Procesadores basados en la microarquitectura de Pentium M, con soporte de instrucciones MMX, SSE, SSE2 y SSE3.
AMD
amdfam10, barcelona Procesadores basados en AMD Family 10h core con soporte de instrucciones x86-64 (MMX, SSE, SSE2, SSE3, SSE4A, 3DNow!, enhanced 3DNow!, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.3. La definición barcelona está disponible a partir de Clang 3.6.
athlon, athlon-tbird AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y SSE prefetch.
athlon4, athlon-xp, athlon-mp Versiones mejoradas de AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y full SSE.
bdver1 Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64 (FMA4, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.7.
bdver2 Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64 (BMI, TBM, F16C, FMA, LWP, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.7.
bdver3 Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64 (FMA4, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.8 y Clang 3.4.
bdver4 Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64 (BMI, BMI2, TBM, F16C, FMA, FMA4, FSGSBASE, AVX, AVX2, XOP, LWP, AES, PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.9 y Clang 3.5.
btver1 Procesadores basados en AMD Family 14h core con soporte de instrucciones x86-64 (MMX, SSE, SSE2, SSE3, SSE4A, CX16, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.6.
btver2 Procesadores basados en AMD Family 16h core con soporte de instrucciones x86-64 (MOVBE, F16C, BMI, AVX, PCL_MUL, AES, SSE4.2, SSE4.1, CX16, ABM, SSE4A, SSSE3, SSE3, SSE2, SSE, MMX y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.8.
geode AMD integrado con soporte de instrucciones MMX y 3DNow!. Esta opción está disponible a partir de GCC 4.3.
k6 AMD K6 con soporte de instrucciones MMX.
k6-2, k6-3 Versiones mejoradas de AMD K6 con soporte de instrucciones MMX y 3DNow!.
k8, opteron, athlon64, athlon-fx Procesadores basados en AMD K8 core con soporte de instrucciones x86-64 (MMX, SSE, SSE2, 3DNow!, enhanced 3DNow! y extensiones 64-bit).
k8-sse3, opteron-sse3, athlon64-sse3 Versiones mejoradas de AMD K8 core con soporte de instrucciones SSE3. Esta opción está disponible a partir de GCC 4.3.
x86-64 Procesadores AMD y compatibles con soporte de instrucciones x86-64, SSE2 y extensiones 64-bit.
znver1 Procesadores basados en AMD Family 17h core con soporte de instrucciones x86-64 (BMI, BMI2, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES, PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT y extensiones 64-bit). Esta opción está disponible a partir de GCC 6 y Clang 4.
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

Clang
Polly
$ export {C,CXX}FLAGS+=' -O3 -mllvm -polly -mllvm -polly-vectorizer=stripmine'
LTO
$ export {C,CXX}FLAGS+=' -flto'
ThinLTO
$ 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 específicos en el proceso de compilación
Clang
$ export {C,CXX}FLAGS+=' -Qunused-arguments'

Establecer el RPATH correspondiente si utilizamos una versión de GCC que no es la principal del sistema
$ export LDFLAGS="-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.

Establecer el uso de enlazador dinámico para LLD
$ export LDFLAGS+=' -fuse-ld=lld'
Optimizaciones complementarias LTO de LLD
$ export LDFLAGS+=' -Wl,--lto-partitions=2 -Wl,--lto-O3'
Optimizaciones complementarias ThinLTO de LLD
$ export LDFLAGS+=' -Wl,--thinlto-jobs=2 -Wl,--lto-O3'
Donde pone 2 se indica el número de núcleos de nuestro procesador, si sólo tiene uno, no es necesario añadir el primer parámetro.

Establecer la variable de entorno de uso de compilador para Clang
$ export {CC,CXX}=clang
Si utilizamos Clang con Ccache, tendremos que establecer la variable de entorno correspondiente de Ccache de uso de compilador.
$ export CCACHE_CC=clang

Extracción y Configuración  Bloc de Notas Información general sobre el uso de los comandos

$ tar Jxvf slim-1.3.5_es-ML.tar.xz
$ cd slim-1.3.5_es-ML
$ mkdir build
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX=/usr ..

Explicación de los comandos

-DCMAKE_INSTALL_PREFIX=/usr : Instala el programa en el directorio principal /usr.

Parámetros de configuración opcionales

-DUSE_PAM=yes : Activa el soporte de Linux-PAM.
-DUSE_CONSOLEKIT=yes : Activa el soporte de ConsoleKit.

Compilación

$ make

Parámetros de compilación opcionales

VERBOSE=1 : Muestra más información en el proceso de compilación.

-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 -c "make install/strip"

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

Estadísticas de Compilación e Instalación de SLiM
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 LLD 4.0.0
Compilador Clang 4.0.0 + Ccache 3.3.4
Parámetros de optimización -03 -march=amdfam10 -mtune=amdfam10 -mllvm -polly -mllvm -polly-vectorizer=stripmine -flto
Parámetros de compilación -j2
Tiempo de compilación 11"
Archivos instalados 7
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 508 KB

Consumo inicial de CPU y RAM de SLiM

Consumo inicial de CPU y RAM de SLiM
Proceso
CPU Memoria física
slim 0 % 10,2 MB

Desinstalación como root

1) MODO TRADICIONAL

Este programa no tiene soporte para desinstalación con el comando '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.

slim-1.3.5_es-ML-scripts.tar.gz

$ su
# tar zxvf slim-1.3.5_es-ML-scripts.tar.gz
# cd slim-1.3.5_es-ML-scripts
# ./Desinstalar_slim-1.3.5_es-ML

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 slim-1.3.5_es-ML-scripts.tar.gz
# cd slim-1.3.5_es-ML-scripts
# ./Respaldar_slim-1.3.5_es-ML

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_slim-1.3.5_es-ML



Configurar el inicio de SLiM  

1) Distribuciones derivadas de Red Hat que utilizan SysVinit como sistema de inicio (si queda alguna)

1a) /etc/inittab  

Editamos este archivo para cambiar el runlevel a 3, de la siguiente manera:

# Default runlevel. The runlevels used by Mandrake Linux are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:

2) /etc/rc.d/rc.local  

Añadimos a este script la ruta al programa con la opción -d para ejecutarlo como un daemon del sistema.

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.


touch /var/lock/subsys/local
echo 1024 > /proc/sys/dev/rtc/max-user-freq

/usr/bin/slim -d

2) Distribuciones que utilizan Systemd como sistema de inicio (no lo he probado y dicen que da problemas con las últimas versiones de Systemd)

Abrimos una ventana de terminal y ejecutamos lo siguiente:

$ su -c "systemctl enable slim"

También lo podemos ejecutar para probar que el programa funciona correctamente.

$ su -c "systemctl start slim"



Configuración  

1) /etc/slim.conf
  a) Rutas y opciones de inicio del servidor gráfico
  b) Comandos de apagado y reinicio del sistema
  c) Bloqueo numérico
  d) Captura de pantalla
  e) Mensajes de bienvenida y salida del sistema
  f) Inicio de sesión automático (sin escribir la contraseña)
  g) Temas
  h) Traducción de los temas
2) ~/.xinitrc
  a) DEFAULT_SESSION
  b) Utilizar SLiM para añadir aplicaciones al inicio de los entornos gráficos




1) /etc/slim.conf  

Es el archivo de configuración de SLiM y en concordancia con el archivo de nuestro home, .xinitrc editaremos las entradas de los entornos gráficos que tengamos en nuestro sistema instalados, además de otras opciones relevantes que comentaré más abajo. A continuación pongo un ejemplo del archivo de configuración de la versión en español de SLiM. Los valores que aparecen en color azul y comentados (#) están desactivados, para activarlos hay que descomentarlos suprimiendo el símbolo #.

# Ruta al servidor X y argumentos (si es necesario)
# Nota: -xauth $authfile es automáticamente añadido
default_path        /bin:/usr/bin:/usr/local/bin
default_xserver     /usr/bin/X
#xserver_arguments   -dpi 75

# Comandos para apagar, conectarse, etc.
halt_cmd            /sbin/shutdown -h now
reboot_cmd          /sbin/shutdown -r now
console_cmd         /usr/bin/xterm -C -fg white -bg black +sb -T "Console login" -e /bin/sh -c "/bin/cat /etc/issue; exec /bin/login"
#suspend_cmd        /usr/sbin/suspend

# Ruta completa al binario xauth
xauth_path         /usr/bin/xauth

# Archivo xauth para el servidor
authfile           /var/run/slim.auth


# Activar el bloqueo numérico cuando slim se inicie. Valores válidos: on (activar) |off (desactivar)
# numlock             on

# Ocultar el cursor del ratón (nota: no funciona con muchos administradores de ventanas).
# Valores válidos: true (activar) |false (desactivar)
# hidecursor          false

# Este comando es ejecutado después de conectarse.
# usted puede añadir las variables %session y %theme
# para la ejecución de comandos específicos en .xinitrc
# dependiendo de la sesión y tema elegidos.
#
# NOTA: si su sistema no tiene bash usted necesita ajustar
# el comando de acuerdo con su shell preferido,
# i.e. for freebsd use:
# login_cmd           exec /bin/sh - ~/.xinitrc %session
login_cmd           exec /bin/bash -login ~/.xinitrc %session

# Comandos a ejecutar al iniciar y terminar una sesión.
# Estos pueden usarse para registrar una sesión X11 con
# sessreg. Usted puede utilizar la variable %user

# sessionstart_cmd    some command
# sessionstop_cmd    some command

# Iniciar en modo daemon. Valores válidos: yes (sí) | no
# Tenga en cuenta que esto será sobreescrito con la
# opción de línea de comando, "-d"
# daemon    yes

# 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,LXDE,Fvwm,EDE

# Ejecutado cuando se presione F11 (requiere imagemagick)
screenshot_cmd      import -window root /slim.png

# mensaje de bienvenida. Variables disponibles: %host, %domain
welcome_msg         Bienvenido a %host

# mensajes de apagado y reinicio
shutdown_msg       El sistema se está apagando...
reboot_msg         El sistema se está reiniciando...

# usuario por defecto, dejar en blanco o suprimir esta línea
# para evitar la precarga del nombre de usuario.
#default_user        simone

# Enfocar la contraseña en el inicio cuando el parámetro 'default_user' esté activado.
# Ajustar a "yes" para activar esta opción.  Valores válidos: yes (sí) | no
#focus_password      no

# Acceso automático para el usuario por defecto (sin tener que escribir
# la contraseña). Ajustar a "yes" para activar esta opción.  Valores válidos: yes (sí) | no
#auto_login          no

# tema actual, utilizar una lista separada por comas, para una carga
# aleatoria de los temas.
current_theme       default

# Archivo de bloqueo
lockfile            /var/run/slim.lock

# Archivo log
logfile             /var/log/slim.log



1a) Rutas y opciones de inicio del servidor gráfico  

En este primer apartado del archivo slim.conf configuramos las rutas de ubicación de los directorios /bin donde SLiM buscará los binarios a ejecutar, la ruta al ejecutable xorg (El enlace simbólico X) y las opciones de inicio del servidor gráfico, en mi caso lo que hago es copiar las opciones de inicio del script startx y las añado a la línea xserver_arguments.

/etc/slim.conf
# Ruta al servidor X y argumentos (si es necesario)
# Nota: -xauth $authfile es automáticamente añadido

default_path        /bin:/usr/bin:/usr/local/bin
default_xserver     /usr/bin/X
xserver_arguments   -nolisten inet6 -deferglyphs 16 -nolisten tcp


1b) Comandos de apagado y reinicio del sistema  

En esta sección se configuran los comandos a teclear para el reinicio y apagado del sistema. Estos comandos se introducen sustituyendo el nombre de usuario por el comando en cuestión, y cuando nos pida la contraseña, siempre introducir la del root, en el caso de que utilicemos contraseñas diferentes.

/etc/slim.conf
# Comandos para apagar, conectarse, etc.
halt_cmd            /sbin/shutdown -h now
reboot_cmd          /sbin/shutdown -r now
console_cmd         /usr/bin/xterm -C -fg white -bg black +sb -T "Console login" -e /bin/sh -c "/bin/cat /etc/issue; exec /bin/login"
#suspend_cmd        /usr/sbin/suspend

Con el ejemplo del archivo de configuración serían: halt para apagar, reboot para reiniciar y console para lanzar un emulador de terminal. El programa admite otro comando que es exit para salir del mismo.


1c) Bloqueo numérico  

Esta opción activa el bloqueo numérico del teclado,

/etc/slim.conf
# Activar el bloqueo numérico cuando slim se inicie. Valores válidos: on (activar) |off (desactivar)
numlock             on


1d) Captura de pantalla  

En esta sección se configura el comando de ejecución de la captura de pantalla (se requiere ImageMagick), por defecto se guarda en el directorio raíz /, se activa con la tecla F11

/etc/slim.conf
# Ejecutado cuando se presione F11 (requiere imagemagick)
screenshot_cmd      import -window root /slim.png


1e) Mensajes de bienvenida y salida del sistema  

En esta sección podemos escribir los mensajes en nuestro idioma que aparecerán al iniciarse SLiM, y en el apagado y reinicio del sistema desde el administrador de sesiones. El archivo de la versión en español ya viene con los mensajes traducidos.

/etc/slim.conf
# mensaje de bienvenida. Variables disponibles: %host, %domain
welcome_msg         Bienvenido a %host

# mensajes de apagado y reinicio

shutdown_msg       El sistema se está apagado...
reboot_msg         El sistema se está reiniciando...


1f) Inicio de sesión automático (sin escribir la contraseña)  

Esto es novedad desde la versión 1.3.1, nos habilita para poder iniciar sesión sin escribir la contraseña de acceso, un ejemplo con mi nombre de usuario: jose.

# usuario por defecto, dejar en blanco o suprimir esta línea
# para evitar la precarga del nombre de usuario.
default_user        jose

# Enfocar la contraseña en el inicio cuando el parámetro 'default_user' esté activado.
# Ajustar a "yes" para activar esta opción.  Valores válidos: yes (sí) | no
#focus_password      no

# Acceso automático para el usuario por defecto (sin tener que escribir
# la contraseña). Ajustar a "yes" para activar esta opción.  Valores válidos: yes (sí) | no
auto_login          yes


1g) Temas  

Antes de hablar de los temas mejor bajarse el pack que hay disponible en la zona de descarga del proyecto SLiM (En la sección de temas de la web de SLiMencontraremos temas más recientes). Tener en cuenta que todos los temas están diseñados para monitores 4x3, sería recomendable por parte de los usuarios sustituir los fondos que contienen por uno adecuado a la resolución de pantalla que tengan en uso, porque cómo se podrá comprobar en las capturas de pantalla, estos aparecen redimensionados de forma desproporcionada, y en unos se nota más que en otros.

Descarga

slim-1.2.3-themepack1a.tar.gz

Extracción e Instalación como root

$ su
# tar zxvf slim-1.2.3-themepack1a.tar.gz -C /usr/share/slim/themes

Si queremos que al inicio de SLiM se cargue un tema de forma aleatoria añadiremos los nombres de los temas separados por comas en el siguiente apartado,

/etc/slim.conf
# tema actual, utilizar una lista separada por comas, para una carga
# aleatoria de los temas.
current_theme       default,capernoited,flower2,isolated,lotus-midnight,lotus-sage,mindlock,parallel-dimensions


1h) Traducción de los temas  

Al igual que en Qingy, podemos traducir al español el nombre de usuario, la contraseña y el mensaje de bienvenida adicional que algunos temas llevan, un ejemplo:

Tema - Capernoited  | Archivo de configuración >> /usr/share/slim/themes/capernoited/slim.theme

# Capernoited theme for slim
# Johannes Winkelmann, jw@tks6.net

# Messages (ie: shutdown)
msg_color               #f4f5cb
msg_font                Verdana:size=16:bold:dpi=75
msg_shadow_xoffset 2
msg_shadow_yoffset 2
msg_shadow_color   #333333

# Screen background style. Valid values: stretch, tile
background_style        stretch

# Input controls
input_panel_x           50%
input_panel_y           75%
input_name_x            146
input_name_y            65
input_pass_x            146
input_pass_y            110

input_font              Verdana:size=12:dpi=75
input_color           #f4f5cb
# input_shadow_xoffset 1
# input_shadow_yoffset 1
# input_shadow_color   #666666



# Welcome message
welcome_font              Verdana:size=20:bold:outline:dpi=75
welcome_color              #f4f5cb
welcome_x                  80
welcome_y                  20
welcome_msg             %host acceso:
welcome_shadow_xoffset 2
welcome_shadow_yoffset 2
welcome_shadow_color   #333333

username_color   #e3d6aa
username_msg            usuario
username_font           Verdana:size=14:bold:dpi=75
username_x              46
username_y              65
username_shadow_xoffset 1
username_shadow_yoffset 1
username_shadow_color   #333333

password_msg        clave
password_x              46
password_y              110


Es posible que con la palabra contraseña (de ahí que se utilice clave), ésta invada el cuadro de diálogo en algunos temas, para evitar esto sólo hay que editar la variable "password_x" y "username_x", y reducir el número que tengan (En las dos hay que poner el mismo número), con esto lo que conseguimos es que el texto se desplace hacia la izquierda hasta conseguir que la palabra contraseña deje de invadir el cuadro de diálogo donde escribimos la clave de acceso.

En el ejemplo del tema esto quedaría así:

username_color   #e3d6aa
username_msg            usuario
username_font           Verdana:size=14:bold
username_x              24
username_y              65
username_shadow_xoffset 1
username_shadow_yoffset 1
username_shadow_color   #333333

password_msg        contraseña
password_x              24
password_y              110

Otra cosa que he comprobado probando los temas es que en algunos, cuando pulsamos F1 para seleccionar el entorno, los nombres de éstos aparecen tapados por el panel del cuadro de diálogo del nombre de usuario y contraseña, basta elevar un poco la altura del panel (reduciendo 1 o 2 puntos el valor del porcentaje de la variable "input_panel_y" para que esto se solucione (no lo he probado en todos).

# Input controls
input_panel_x           50%
input_panel_y           73%
input_name_x            146
input_name_y            65
input_pass_x            146
input_pass_y            110

Conviene también modificar el DPI de las fuentes de texto del tema por el que estemos utilizando con nuestro monitor, para que las mismas no se vean excesivamente pequeñas. Más información sobre el DPI la podemos encontrar en el manual de Nouveau.

2) ~/.xinitrc  

Copiamos el archivo de ejemplo que viene en el paquete, xinitrc.ejemplo, a nuestro home

$ cp xinitrc.ejemplo ~/.xinitrc

El nombre del entorno gráfico que aparece en, por ejemplo "XFce4", tiene que ser el mismo que aparezca en la lista del apartado de la configuración de los entornos en el archivo de configuración de SLiM, el primero de la lista es el que carga por defecto (aunque esto se puede sobreescribir utilizando la variable DEFAULT_SESSION en el archivo ~/.xinitrc), para la selección de los demás, pulsaremos F1.

/etc/slim.conf
# 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,LXDE,Fvwm,EDE

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

case $1 in
EDE)
    exec startede
    ;;
Blackbox)
    exec startblackbox
    ;;
IceWM)
    exec icewm-session
    ;;
WindowMaker)
    exec wmaker
    ;;
Blackbox)
    exec startblackbox
    ;;
Fluxbox)
    exec startfluxbox
    ;;
Fvwm)
    exec fvwm
    ;;
E17)
    exec enlightenment_start
    ;;
E16)
    exec starte16
    ;;
Openbox)
    exec openbox-session
    ;;
Pekwm)
    exec pekwm
    ;;
ROX)
    exec rox-session
    ;;
XFce4)
    exec startxfce4
    ;;
LXDE)
    exec startlxde
    ;;
*)
    exec $DEFAULT_SESSION
    ;;
esac


2a) DEFAULT_SESSION  

Utilizando la variable DEFAULT_SESSION sobreescribimos los valores predefinidos en el archivo /etc/slim.conf que tienen que ver con la sesión a utilizar por defecto. Si en el archivo de configuración principal, aparece Fluxbox como administrador de ventanas por defecto (el primero de la lista), podemos sobreescribir este valor añadiendo el nombre del binario o script lanzador de otro administrador de ventanas o escritorio. Un ejemplo con IceWM,

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

 Si no queremos hacer uso de esta variable, borramos la entrada correspondiente del archivo .xinitrc,

*)
    exec $DEFAULT_SESSION
    ;;


2b) Utilizar SLiM para añadir aplicaciones al inicio de los entornos gráficos  

Si queremos añadir aplicaciones al inicio en aquellos administradores de ventanas que carecen de script de inicio automático de aplicaciones, lo podemos hacer añadiendo los comandos de éstas antes del comando de ejecución del entorno en cuestión. Un ejemplo con Sawfish.

Sawfish)
    lxpanel &
    idesk &
    nitrogen --restore 
    xbindkeys &
    exec sawfish

    ;;

Nota: Si queremos acceder como root a los entornos gráficos sólo hay que copiar el archivo .xinitrc que tengamos configurado en nuestro home al directorio del root,

$ su -c "cp /home/jose/.xinitrc ~"



Reiniciamos el Sistema y al iniciar aparece SLiM  


Captura SLiM - Tema por Defecto
Tema por defecto


Captura SLiM - Tema Capernoited
Tema Capernoited


Captura SLiM - Tema Isolated
Tema Isolated


Captura SLiM - Tema Lotus Midnight
Tema Lotus Midnight



Enlaces  


https://sourceforge.net/projects/slim.berlios >> Enlace a los archivos que quedan del fenecido proyecto del programa en SourceForge, que es una simple réplica de la extinta BerliOS.

https://github.com/iwamatsu/slim >> Enlace al proyecto original replicado en GitHub y sin actividad alguna desde 2013.

https://github.com/axs-gentoo/slim-git >> Enlace al proyecto derivado que mantiene un usuario de Gentoo en GitHub, sin añadir nada novedoso.


Foro Galería Blog


Actualizado el 09-06-2017

Administradores de Sesiones - SLiM

Administradores de Sesiones - Qingy