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-2022   http://manualinux.es



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

$ 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
Intel
AMD

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  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.

-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
Mostrar/Ocultar la lista de archivos instalados
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  


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 02-10-2022

Administradores de Sesiones - SLiM

Administradores de Sesiones - Qingy