Accueil

Slim: login manager léger et esthétique

Par Wedge.

Sommaire

Introduction

Slim est un "login manager", autrement dit, un gestionnaire de connexion (dans notre belle langue à nous). A quoi ça sert ? A se connecter, he voui ma bonne dame !
Plus sérieusement, c'est la première fenêtre graphique que vous voyez apparaitre après avoir booté (sous Slackware, bien entendu :-P).
C'est la fameuse fenêtre qui vous demande votre login et votre mot de passe

Les logins managers les plus connus sont:

Il en existe d'autres, moins connus ... Slim fait partie de ceux là.

Pourquoi j'ai choisi Slim ? Parce qu'il est léger et esthétique à la fois, qu'il ne demande que très peu de dépendances (on verra en fait qu'il ne demande rien de plus que ce que vous n'avez déjà !) et qu'il est parfaitement configurable et thémable en toute simplicité.

Vous être prêts ? Alors c'est partiiiii !!

Télécharger les sources

La première étape, bien entendu, consiste à télécharger les sources, c'est ici: Site officiel du projet Slim. Au moment où j'écris cet article, la dernière version est la 1.2.6.

Il semblerait par contre que le serveur d'hébergement du projet soit dans les choux à certains moments. Si c'est encore le cas, n'hésitez pas à me contacter à wedge.ant@gmail.com, je me ferais un plaisir de vous envoyez les sources :).

Je n'ai pas encore parlé des dépendances de ce programme ... tout simplement parce qu'elles sont déjà installées sur votre machine ! En effet, Slim requiert très peu de dépendances, et aucune n'est exotique: libpng, libjpeg, libz, libstdc++ et les libs de X. Vous avez déjà tout ça par défaut sur votre Slackware :-D

Voila donc le premier point de réglé :-)

Compiler et installer Slim

Passons à la suite, les étapes habituelles: extraction, compilation, installation

[wedge@chimaera ~]$ tar zxf slim-1.2.6.tar.gz
[wedge@chimaera ~]$ cd slim-1.2.6
[wedge@chimaera slim-1.2.6]$ ls -l
total 228
-rw-r--r-- 1 wedge users 23467 sep 15 2006 app.cpp
-rw-r--r-- 1 wedge users 2085 sep 15 2006 app.h
-rw-r--r-- 1 wedge users 8445 sep 15 2006 cfg.cpp
-rw-r--r-- 1 wedge users 1288 sep 15 2006 cfg.h
-rw-r--r-- 1 wedge users 2689 sep 15 2006 ChangeLog
-rw-r--r-- 1 wedge users 1256 sep 15 2006 const.h
-rw-r--r-- 1 wedge users 17982 sep 15 2006 COPYING
...
-rw-r--r-- 1 wedge users 611 sep 15 2006 main.cpp
-rw-r--r-- 1 wedge users 2009 sep 15 2006 Makefile
-rw-r--r-- 1 wedge users 2222 sep 15 2006 Makefile.freebsd
-rw-r--r-- 1 wedge users 2181 sep 15 2006 Makefile.netbsd
-rw-r--r-- 1 wedge users 2718 sep 15 2006 Makefile.openbsd
...
-rw-r--r-- 1 wedge users 0 sep 15 2006 xidle.cpp
-rw-r--r-- 1 wedge users 0 sep 15 2006 xidle.h
-rw-r--r-- 1 wedge users 162 sep 15 2006 xinitrc.sample
[wedge@chimaera slim-1.2.6]$

On apprend qu'il n'y a pas de script configure, ce script est bien souvent utilisé pour vérifier les dépendances, préparer le Makefile et faire certains tests sur le système. Qu'à cela ne tienne, nous disposons d'un fichier Makefile déjà tout prêt (on constate d'ailleurs que les systèmes *BSD n'ont pas été oubliés). C'est donc le moment de faire chauffer le processeur:

[wedge@chimaera slim-1.2.6]$ make

La compilation est très rapide et ne présente logiquement aucune difficulté, si jamais elle se passe mal, pensez à lire les fichiers README et INSTALL, ainsi qu'à vérifier les dépendances principales: libpng, libjpeg, Xorg

Une fois la compilation terminée correctement, on peut passer à l'installation:

[wedge@chimaera slim-1.2.6]$ su
mot de passe:
[root@chimaera slim-1.2.6]# make install
...
[root@chimaera slim-1.2.6]# exit

Vous n'oublierez pas, bien entendu, de vous créer un zoli package Slackware pour tout réinstaller d'un seul coup en cas de besoin. Pour ça, je vous oriente donc vers le très bon Manuel d'empaquetage façon Slackware mis en place par Mushroom. :-)

Configurer et utiliser Slim

Cette étape consiste à appeler Slim comme login manager à la place de celui que vous utilisez actuellement: kdm, gdm, xdm etc ... Sur une Slackware, ça se passe dans le fichier /etc/rc.d/rc.4. Voyons un peu ce qu'il contient:

#! /bin/sh
#
# rc.4 This file is executed by init(8) when the system is being
# initialized for run level 4 (XDM)
#
# Version: @(#)/etc/rc.d/rc.4 2.00 02/17/93
#
# Author: Fred N. van Kempen,
# At least 47% rewritten by: Patrick J. Volkerding
#

# Tell the viewers what's going to happen...
echo "Starting up X11 session manager..."

[...]

# error
echo
echo "Hey, you don't have KDM, GDM, or XDM. Can't use runlevel 4 without"
echo "one of those installed."
sleep 30

# All done.

A la place des "[...]" se trouvent les différents appels aux différents logins managers. Le principe consiste à vérifier la présence de l'exécutable correspondant, puis à l'exécuter si on l'a trouvé. Patrick Volkerding a configuré ce fichier dans l'ordre qui suit: gdm, kdm puis xdm. Pour prendre en compte Slim, nous allons donc ajouter un appel au programme juste avant celui à gdm, pour être bien sur que c'est celui-ci qui passera en premier. Il faut donc ajouter, après la ligne echo "Starting up X11 session manager...", les lignes suivantes:

if [ -x /usr/bin/slim ]; then
    exec /usr/bin/slim -d
fi

L'option -d permet de lancer Slim en tant que démon, c'est à dire détaché de toute console. Cette option est recommandée par l'équipe de développement de Slim.
A partir de ce moment, vous pouvez voir si tout s'est bien passé en rebootant (l'autre moyen consiste à passer en mode console, puis à revenir en mode X, via init 3 et init 4 ...).
Slim devrait alors se charger avec l'écran de connexion par défaut, il ne reste plus qu'à entrer votre login et votre mot de passe. Slim chargera automatiquement le WM que vous utilisez par défaut.

Vous pouvez néanmoins jeter un oeil au fichier de configuration /etc/slim.conf, et modifier au besoin certaines options:

Par défaut, tous les messages affichés par Slim sont en anglais, mais libre à vous de les traduire, ou bien de mettre ce que vous voulez au niveau des messages:

Nous venons de voir plus haut que la modification de l'option sessions demande par la suite de modifier le fichier ~/.xinitrc (fichier caché à la racine de votre répertoire personnel). Ce fichier contient les commandes nécessaires au lancement de votre WM par défaut. Ainsi pour une ligne de sessions comme ceci:

sessions fluxbox,xfce4,kde

Il faut un fichier .xinitrc comme ceci:

case $1 in
    fluxbox)
        exec startfluxbox
        ;;
    xfce4)
        exec startxfce4
        ;;
    kde)
        exec startkde
        ;;
    *)
        exec twm
        ;;
esac

On voit que chaque WM dispose d'un script de lancement start(bidule), mais si jamais ce n'est pas le cas pour votre WM, il vous suffit d'appeler simplement l'exécutable principal correspondant (fvwm2, blackbox, ion etc ...). Et au cas où l'option choisie par l'utilisateur ne se trouverait pas dans la liste, l'option par défaut charge le WM nommé twm qui est vraiment minimaliste et spartiate, mais qui permet d'avoir quelque chose de graphique ... bien entendu, il peut être remplacé par quelque chose de plus élaboré ;-)

La liste des WM correspondant à la ligne sessions est ensuite accessible sous Slim en appuyant sur la touche F1

Customiser Slim

C'est ici que l'on se rend compte de la relative puissance de Slim !
En effet, tout (ou presque ^_^) est modifiable:

Pour ça, il suffit de se créer un thème Slim ! :-) Un thème est composé de 3 fichiers:

Commençons par le plus simple, l'image de fond, vous pouvez choisir ce que vous voulez ! :-D

Pour ce que j'appelerais le panel, qui contient les cadres pour login et password, il faut faire attention à la transparence de ce fichier car il est superposé sur l'image de fond. Le panel du thème par défaut ne propose qu'un seul cadre qui sert tout d'abord à entrer son login, puis son mot de passe, mais on peut choisir d'en mettre deux:

Un seul cadreslim: un seul cadre
Deux cadresslim: deux cadres

Finalement, le fichier slim.theme qui va agencer le tout et faire en sorte que vous disposiez d'un joli login manager. Prenons l'exemple d'un login manager vous proposant deux cadres alignés au centre de manière horizontale, en bas de l'écran de manière verticale, et vous souhaitant la bienvenue sur votre machine ;-). Les options sont assez claires généralement, mais j'ai ajouté des commentaires dans le fichier:

# Messages (affichage du reboot, de l'extinction etc ...)
msg_color               #f4f5cb
msg_font                Verdana:size=16:bold:dpi=75
msg_shadow_xoffset 2
msg_shadow_yoffset 2
msg_shadow_color   #333333

# Affichage de l'image de fond: "stretch" (image étirée) ou "tile" (image tuilée)
background_style        stretch

# Positionnement du panel et des entrées utilisateur (login et password)
# x à 50% -> panel centré horizontalement
input_panel_x           50%
# y à 75% -> panel vers le bas de l'écran
input_panel_y           75%
# positionnement des cadres dans l'image, en pixels, coin haut-gauche
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

# Message de bienvenue
welcome_font          	Verdana:size=20:bold:outline:dpi=75
welcome_color          	#f4f5cb
welcome_x              	80
welcome_y              	20
welcome_msg             Bienvenue sur %host !
welcome_shadow_xoffset  2
welcome_shadow_yoffset  2
welcome_shadow_color    #333333

# Messages affichés à côté des cellules "login" et "password" du panel
username_color          #e3d6aa
username_msg            Login
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		Password
password_x              46
password_y              110

Il ne vous reste plus qu'à créer un sous-répertoire portant le nom de votre choix dans le répertoire /usr/share/slim/themes, à y copier vos fichiers background.* panel.* et slim.theme.
Vous devrez ensuite éditer le fichier /etc/slim.conf et modifier la ligne:

current_theme    default

en mettant à la place de default, le nom de votre sous-répertoire :-)

Capture d'écran

En cadeau, voici une capture d'écran du Slim que j'utilise actuellement :-P

Capture l'écran slim

Conclusion

Voila c'est fini !
J'espère que cet article vous aura été utile et que vous utiliserez Slim désormais ;-)

A bientôt sur slackware-fr.org :-D

Thèmes : #articles #logiciels #wedge #xwindow

Sauf indication contraire, ce document est placé sous licence CC-BY-SA 3.0.