Copyright
Copyright © José
Luis Lara Carrascal 2007-2022
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 - (12.2.0) o Clang - (15.0.1)
* CMake - (3.24.2)
* Make - (4.3)
* Pkg-config - (0.29.2)
Librerías
de Desarrollo
*
Xorg - (7.7 / xorg-server 21.1.4)
LibX11 - (1.8.1)
LibXext - (1.3.4)
LibXft - (2.3.6)
LibXmu - (1.1.3)
LibXrender - (0.9.10)
* Fontconfig - (2.13.1)
* Freetype2 - (2.12.1)
* Libgcrypt - (1.10.1)
* Libjpeg - (9e)
* Libpng - (1.6.38)
* Zlib - (1.2.12)
Descarga
slim-1.3.5_es-ML.tar.xz
Firma Digital
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
$ export {C,CXX}FLAGS='-O3 -march=znver3 -mtune=znver3'
|
Donde pone znver3
se indica el procesador respectivo de cada sistema
seleccionándolo de la siguiente tabla: |
Nota informativa sobre las optimizaciones para GCC
|
* La opción '-march=' establece el procesador mínimo con el que funcionará el programa compilado, la opción '-mtune=' el procesador específico para el que será optimizado.
* Los valores separados por comas, son equivalentes, es decir, que lo mismo da poner '-march=k8' que '-march=athlon64'.
* En versiones de GCC 3.2 e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
|
Nota informativa sobre las optimizaciones para Clang
|
* La opción '-mtune=' está soportada a partir de la versión 3.4 de Clang.
* Los valores de color azul no son compatibles con Clang.
* Las filas con el fondo de color amarillo son valores exclusivos de Clang y, por lo tanto, no son aplicables con GCC.
|
Valores |
CPU |
Genéricos |
generic |
Produce un código
binario optimizado para la mayor parte de procesadores existentes.
Utilizar este valor si no sabemos el nombre del procesador que
tenemos en nuestro equipo. Este valor sólo es aplicable en
la opción '-mtune=', si utilizamos GCC. Esta opción está disponible a
partir de GCC 4.2. |
native |
Produce un código
binario optimizado para el procesador que tengamos en nuestro sistema,
siendo éste detectado utilizando la instrucción cpuid.
Procesadores antiguos pueden no ser detectados utilizando este valor.
Esta opción está disponible a
partir de GCC 4.2. |
x86-64 |
Procesador genérico con extensiones 64-bit. Esta opción está disponible a
partir de GCC 8 y Clang 1.9. |
x86-64-v2 |
Procesador
genérico con con soporte de instrucciones X86-64 (MMX, SSE,
SSE2, LAHFSAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3) y extensiones
64-bit. Esta opción está disponible a partir de GCC 11 y Clang 12. |
x86-64-v3 |
Procesador
genérico con con soporte de instrucciones X86-64 (MMX, SSE,
SSE2, LAHFSAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3, AVX, AVX2, F16C,
FMA, LZCNT, MOVBE, XSAVE, XSAVEC, FMA4) y extensiones 64-bit. Esta
opción está disponible a partir de GCC 11 y Clang 12. |
x86-64-v4 |
Procesador
genérico con con soporte de instrucciones X86-64 (MMX, SSE,
SSE2, LAHFSAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3, AVX, AVX2, F16C,
FMA, LZCNT, MOVBE, XSAVE, XSAVEC, AVX512*, FMA4) y extensiones 64-bit.
Esta opción está disponible a partir de GCC 11 y Clang 12. |
Intel |
alderlake |
Intel Alderlake con
soporte de instrucciones x86-64 (MOVBE, MMX, SSE, SSE2, SSE3, SSSE3,
SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND,
FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC,
XSAVES, AVX512F, CLWB, AVX512VL, AVX512BW, AVX512DQ, AVX512CD,
AVX512VNNI, AVX512BF16, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT, ENQCMD,
CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK, UINTR, AMX-BF16,
AMX-TILE, AMX-INT8, AVX-VNNI) y extensiones 64-bit. Esta opción
está disponible a partir de GCC 11 y Clang 12. |
atom |
Intel Atom
con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y
extensiones 64-bit. Esta opción está disponible
desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición bonnell. |
bonnell |
Intel Bonnell con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3 y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
broadwell |
Intel Broadwell con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT,
AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2,
F16C, RDSEED, ADCX, PREFETCHW y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9 y Clang 3.6. |
cannonlake |
Intel Cannonlake Server con soporte de instrucciones MOVBE, MMX, SSE,
SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL,
FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW,
CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ,
AVX512CD, AVX512VBMI, AVX512IFMA, SHA, UMIP y extensiones 64-bit. Esta opción está disponible a
partir de GCC 8 y Clang 3.9. |
cascadelake |
Intel Cascadelake con
soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI,
BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES,
AVX512F, CLWB, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VNNI y
extensiones 64-bit. Esta opción está disponible a
partir de GCC 9 y Clang 8. |
cooperlake |
Intel
Cooper Lake con
soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3,
SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI,
BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, CLWB,
AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VNNI, AVX512BF16 y
extensiones 64-bit. Esta opción está disponible a
partir de GCC 10 y Clang 9. |
core2 |
Intel Core2
con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y
extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.3. |
core-avx2 |
Intel Core (Haswell). Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición haswell. |
core-avx-i |
Intel Core (ivyBridge)
con soporte de instrucciones MMX, SSE, SSE2, SSE3,
SSSE3, SSE4.1, SSE4.2, AVX, AES, PCLMUL, FSGSBASE, RDRND, F16C y
extensiones 64-bit. Esta opción está disponible
desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición ivybridge. |
corei7 |
Intel Core i7 con soporte de instrucciones MMX, SSE, SSE2, SSE3,
SSSE3, SSE4.1 y SSE4.2 y extensiones 64-bit. Soporta también los procesadores Intel
Core i3 e i5. Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición nehalem. |
corei7-avx |
Intel Core i7 con soporte de instrucciones MMX, SSE, SSE2, SSE3,
SSSE3, SSE4.1, SSE4.2, AVX, AES y PCLMUL y
extensiones 64-bit. Soporta también los
procesadores Intel Core i3 e i5. Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición sandybridge. |
goldmont |
Intel Goldmont con soporte
de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2,
POPCNT, AES, PCLMUL, RDRND, XSAVE, XSAVEOPT, FSGSBASE y extensiones
64-bit. Esta opción está disponible a
partir de GCC 9 y Clang 5. |
goldmont-plus |
Intel Goldmont Plus con
soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
SSE4.2, POPCNT, AES, PCLMUL, RDRND, XSAVE, XSAVEOPT, FSGSBASE, PTWRITE,
RDPID, SGX, UMIP y extensiones 64-bit. Esta opción está disponible a
partir de GCC 9 y Clang 7. |
haswell |
Intel Haswell con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT,
AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2,
F16C y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
i386 |
Intel i386.
|
i486 |
Intel i486. |
i586, pentium |
Intel Pentium sin soporte de instrucciones MMX. |
i686 |
Produce un código binario optimizado para la mayor parte de
procesadores compatibles con la serie 80686 de Intel. Todos los actuales lo son. |
icelake-client |
Intel Icelake Client con soporte de instrucciones MOVBE, MMX, SSE,
SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL,
FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW,
CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ,
AVX512CD, AVX512VBMI, AVX512IFMA, SHA, CLWB, UMIP, RDPID, GFNI,
AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, VPCLMULQDQ,
VAES y extensiones 64-bit. Esta opción está disponible a
partir de GCC 8 y Clang 7. |
icelake-server |
Intel Icelake Server con soporte de instrucciones MOVBE, MMX, SSE,
SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL,
FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW,
CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ,
AVX512CD, AVX512VBMI, AVX512IFMA, SHA, CLWB, UMIP, RDPID, GFNI,
AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, VPCLMULQDQ,
VAES, PCONFIG, WBNOINVD y extensiones 64-bit. Esta opción está disponible a
partir de GCC 8 y Clang 7. |
intel |
Intel Haswell y Silvermont. Este valor sólo es aplicable en
la opción '-mtune='. Esta opción está disponible a partir
de GCC 4.9. |
ivybridge |
Intel Ivy Bridge con soporte de instrucciones
MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX,
AES, PCLMUL, FSGSBASE, RDRND, F16C y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
knl |
Intel Knights Landing con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2,
AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX,
PREFETCHW, AVX512F, AVX512PF, AVX512ER y extensiones 64-bit. Esta opción está disponible a partir
de GCC 5 y Clang 3.4. |
knm |
Intel Knights Mill con soporte de instrucciones MOVBE, MMX, SSE, SSE2,
SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE,
RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, AVX512F,
AVX512PF, AVX512ER, AVX512CD, AVX5124VNNIW, AVX5124FMAPS,
AVX512VPOPCNTDQ y extensiones 64-bit. Esta opción está disponible a
partir de GCC 8 y Clang 6. |
lakemont |
Intel Quark Lakemont MCU, basado en el procesador Intel Pentium. Esta opción está disponible a partir
de GCC 6 y Clang 3.9. |
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. |
rocketlake |
Intel Rocket Lake con soporte de instrucciones x86-64 (MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VBMI, AVX512IFMA, SHA, CLWB, UMIP, RDPID, GFNI, AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, VPCLMULQDQ, VAES) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11 y Clang 13. |
sandybridge |
Intel Sandy Bridge con soporte de instrucciones
MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX,
AES, PCLMUL y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9 y Clang 3.6. |
sapphirerapids |
Intel Sapphire Rapids
con soporte de instrucciones x86-64 (MOVBE, MMX, SSE, SSE2, SSE3,
SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE,
RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT,
XSAVEC, XSAVES, AVX512F, CLWB, AVX512VL, AVX512BW, AVX512DQ, AVX512CD,
AVX512VNNI, AVX512BF16, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT, ENQCMD,
CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK, UINTR, AMX-BF16,
AMX-TILE, AMX-INT8 and AVX-VNNI) y extensiones 64-bit. Esta
opción está disponible a partir de GCC 11 y Clang 12. |
silvermont |
Intel Silvermont con soporte de instrucciones
MOVBE, MMX, SSE, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
SSE4.2, POPCNT, AES, PCLMU, RDRND y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9 y Clang 3.6. |
skylake |
Intel Skylake con soporte de instrucciones MOVBE, MMX, SSE, SSE2,
SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE,
RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT,
XSAVEC, XSAVES y extensiones 64-bit. Esta opción está disponible a partir
de GCC 6 y Clang 3.6. |
skylake-avx512 |
Intel Skylake Server
con soporte de instrucciones MOVBE, MMX, SSE, SSE2,
SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE,
RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT,
XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD y
extensiones 64-bit. Esta opción está disponible a partir
de GCC 6 y Clang 3.9. |
tigerlake |
Intel
Tiger Lake con soporte de instrucciones OVBE, MMX, SSE, SSE2, SSE3,
SSSE3,
SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND,
FMA, BMI,
BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES,
AVX512F,
AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VBMI, AVX512IFMA, SHA,
CLWB, UMIP,
RDPID, GFNI, AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI,
VPCLMULQDQ,
VAES, PCONFIG, WBNOINVD, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT y
extensiones 64-bit. Esta opción está disponible a partir
de GCC 10 y Clang 10. |
tremont |
Intel Tremont con soporte
de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2,
POPCNT, AES, PCLMUL, RDRND, XSAVE, XSAVEOPT, FSGSBASE, PTWRITE, RDPID,
SGX, UMIP, GFNI-SSE, CLWB, ENCLV y extensiones 64-bit. Esta opción está disponible a
partir de GCC 9 y Clang 7. |
westmere |
Intel Westmere con soporte de instrucciones
MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES,
PCLMUL y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
yonah |
Procesadores
basados en la microarquitectura de Pentium M, con soporte de
instrucciones MMX, SSE, SSE2 y SSE3. |
AMD |
amdfam10, barcelona |
Procesadores basados en
AMD Family 10h core con soporte de instrucciones x86-64 (MMX, SSE,
SSE2, SSE3, SSE4A, 3DNow!, enhanced 3DNow!, ABM y extensiones
64-bit). Esta opción está disponible a partir de GCC 4.3. La definición barcelona está disponible a partir de Clang 3.6. |
athlon, athlon-tbird |
AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y SSE prefetch. |
athlon4, athlon-xp, athlon-mp |
Versiones mejoradas de AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y full SSE. |
bdver1 |
Procesadores basados en
AMD Family 15h core con soporte de instrucciones x86-64 (FMA4, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE,
SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones
64-bit). Esta opción está disponible a partir
de GCC 4.7. |
bdver2 |
Procesadores basados en
AMD Family 15h core con soporte de instrucciones x86-64 (BMI, TBM, F16C, FMA, LWP, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE,
SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones
64-bit). Esta opción está disponible a partir
de GCC 4.7. |
bdver3 |
Procesadores basados en
AMD Family 15h core con soporte de instrucciones x86-64 (FMA4, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE,
SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones
64-bit). Esta opción está disponible a partir
de GCC 4.8 y Clang 3.4. |
bdver4 |
Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64
(BMI, BMI2, TBM, F16C, FMA, FMA4, FSGSBASE, AVX, AVX2, XOP,
LWP, AES, PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A,
SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está
disponible a partir de GCC 4.9 y Clang 3.5. |
btver1 |
Procesadores basados en
AMD Family 14h core con soporte de instrucciones x86-64 (MMX, SSE,
SSE2, SSE3, SSE4A, CX16, ABM y extensiones 64-bit). Esta opción está disponible a partir
de GCC 4.6. |
btver2 |
Procesadores basados en
AMD Family 16h core con soporte de instrucciones x86-64 (MOVBE, F16C,
BMI, AVX, PCL_MUL, AES, SSE4.2, SSE4.1, CX16, ABM, SSE4A, SSSE3, SSE3,
SSE2, SSE, MMX y extensiones 64-bit). Esta opción
está disponible a partir
de GCC 4.8. |
geode |
AMD integrado con soporte de instrucciones MMX y 3DNow!. Esta opción está disponible a partir de GCC 4.3. |
k6 |
AMD K6 con soporte de instrucciones MMX. |
k6-2, k6-3 |
Versiones mejoradas de AMD K6 con soporte de instrucciones MMX y 3DNow!. |
k8, opteron, athlon64, athlon-fx |
Procesadores basados en
AMD K8 core con soporte de instrucciones x86-64 (MMX, SSE, SSE2,
3DNow!, enhanced 3DNow! y extensiones 64-bit). |
k8-sse3, opteron-sse3, athlon64-sse3 |
Versiones mejoradas de
AMD K8 core con soporte de instrucciones SSE3. Esta opción
está disponible a partir de GCC 4.3. |
znver1 |
Procesadores basados en
AMD Family 17h core con soporte de instrucciones x86-64 (BMI, BMI2,
F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES,
PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1,
SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT y extensiones
64-bit). Esta opción está disponible a partir de GCC 6 y Clang 4. |
znver2 |
Procesadores basados en
AMD Family 17h core con soporte de instrucciones x86-64 (BMI, BMI2,
,CLWB, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA,
CLZERO, AES, PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3,
SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT y extensiones
64-bit). Esta opción está disponible a partir de GCC 9 y Clang 9. |
znver3 |
Procesadores basados en
AMD Family 19h core con soporte de instrucciones x86-64 (BMI, BMI2,
CLWB, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA,
CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3,
SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, RDPID,
WBNOINVD, PKU, VPCLMULQDQ, VAES) y extensiones 64-bit. Esta
opción está disponible a partir de GCC 11 y Clang 12. |
Optimizaciones adicionales
Optimizaciones adicionales |
GCC |
Graphite
|
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block'
|
IPA
|
$ export {C,CXX}FLAGS+=' -fipa-pta'
|
LTO |
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=auto' |
En versiones inferiores a GCC
10, sustituir auto
por el número de núcleos que tenga nuestro
procesador. Si sólo tiene uno, utilizar el parámetro -flto
|
Clang |
New Pass Manager |
$ export {C,CXX}FLAGS+=' -fexperimental-new-pass-manager' |
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 en el proceso de compilación |
$ export {C,CXX}FLAGS+=' -w' |
Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura |
$ export
LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64 -L/opt/gcc12/lib64" |
Cada usuario tendrá que establecer la ruta de búsqueda de directorios, en función de la distribución que utilice. |
Establecer el uso de enlazador dinámico para Mold |
$ export LDFLAGS+=' -fuse-ld=mold' |
Establecer el uso de enlazador dinámico para LLD |
Clang |
$ export LDFLAGS+=' -fuse-ld=lld' |
Optimizaciones complementarias LTO/ThinLTO de LLD |
$ export LDFLAGS+=' -Wl,--lto-aa-pipeline=globals-aa -Wl,--lto-newpm-passes=memcpyopt' |
Optimizaciones complementarias LTO de LLD |
$ export LDFLAGS+=" -Wl,--lto-partitions=$(nproc)" |
Optimizaciones complementarias ThinLTO de LLD |
$ export LDFLAGS+=" -Wl,--thinlto-jobs=$(nproc)" |
Establecer la variable de entorno de uso de compilador para Clang |
$ export CC=clang CXX=clang++ |
Extracción y
Configuración
$ 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
Parámetros de compilación opcionales
VERBOSE=1 : Muestra más información en el proceso de compilación.
-j$(nproc)
: Establece el número de procesos de compilación en
paralelo, en función del número de
núcleos e hilos que tenga nuestro procesador, tomando como
referencia la información mostrada por el sistema con el comando
correspondiente. Si nuestro procesador es mononúcleo de un solo
hilo, no añadir esta opción.
Instalación
como root
$ su -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 Ryzen 5 5500 |
MHz |
3593.250 (BoostMax=4457.000) |
RAM |
32 GB |
Sistema de archivos |
XFS |
Versión del Kernel |
5.19.12-ml SMP PREEMPT_DYNAMIC x86_64 |
Modo de frecuencia de la CPU |
performance |
Versión de Glibc |
2.36 |
Enlazador dinámico |
LLD 15.0.1 |
Compilador |
Clang 15.0.1 |
Parámetros de optimización |
-03 -march=znver3
-mtune=znver3 -fexperimental-new-pass-manager -mllvm -polly -mllvm
-polly-vectorizer=stripmine -flto=thin -Wl,--lto-aa-pipeline=globals-aa
-Wl,--lto-newpm-passes=memcpyopt |
Parámetros de compilación |
-j12 |
Tiempo de compilación |
1" |
Archivos instalados |
7 |
|
Ocupación de espacio en disco |
356 KB |
Consumo inicial de CPU y RAM de SLiM
Consumo inicial de CPU y RAM de SLiM |
Programa
|
CPU |
RAM |
slim |
0 % |
27,4 MB |
Para medir el consumo de CPU se utiliza el programa top, y para medir
el consumo de RAM se utiliza el script de Python, ps_mem.py, creado por Pádraig Brady, que podemos encontrar en este enlace. |
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 SLiM encontraremos
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 -c "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
Tema por defecto
Tema Capernoited
Tema Isolated
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.
|