PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Thuban : Personnaliser l'écran de connexion d'OpenBSD : xenodm

lundi 7 août 2017 à 13:30

OpenBSD propose par défaut un écran de connexion géré par xenodm, tout comme le fait aussi gdm, kdm ou lightdm. Cependant, son apparence par défaut laisse à désirer...

Puisque je n'ai pas forcément envie d'installer un autre gestionnaire de connexion, c'est parti pour configurer xenodm.

Tout d'abord, notez que la configuration se déroule dans un fichier /etc/X11/xenodm/Xresources. Puisque je ne veux pas risquer que ma configuration soit écrasée par une mise à jour, je vais la réaliser dans un autre fichier que celui par défaut.

doas cp /etc/X11/xenodm/Xresources /etc/X11/xenodm/Xresource-custom

Toutes les modifications se feront dans /etc/X11/xenodm/Xresource-custom. Je le précise dans la configuration de xenodm. Pour ça, on édite le fichier /etc/X11/xenodm/xenodm-config :

! DisplayManager*resources:	/etc/X11/xenodm/Xresources
DisplayManager*resources:	/etc/X11/xenodm/Xresources-custom

Avant de configurer, je voudrais changer le fond derrière le widget de connexion. Il faut pour ça éditer le fichier /etc/X11/xenodm/Xsetup_0 pour y mettre par exemple une commande remplissant l'écran avec un fond uni :

xsetroot -solid "#001932"

Ou bien qui appose un fond d'écran (disponible ici) :

/usr/local/bin/feh --bg-scale /home/xavier/Images/Wallpapers/jarvis.jpg

Pensez à bien mettre le chemin complet vers l'outil qui définit le fond d'écran. Notez que vous pouvez lancer n'importe quelle commance, comme par exemple un terminal ou autre :

xterm +sb -bg black -fg green -geometry 100x22-0-0 cmatrix &

On peut commencer la configuration à proprement parler en modifiant le fichier /etc/X11/xenodm/Xresource-custom. Chaque élément de configuration est expliqué ici. Principalement, j'ai modifié les couleurs, les polices et les messages "login" et "password" pour obtenir ça :

Et voici la configuration :


! $OpenBSD: Xresources.cpp,v 1.1 2016/10/23 08:30:37 matthieu Exp $
!
!
!
!
!




xlogin*login.translations: #override \\
	CtrlR: abort-display()\\n\\
	F1: set-session-argument(failsafe) finish-field()\\n\\
	Left: move-backward-character()\\n\\
	Right: move-forward-character()\\n\\
	Home: move-to-begining()\\n\\
	End: move-to-end()\\n\\
	CtrlKP_Enter: set-session-argument(failsafe) finish-field()\\n\\
	KP_Enter: set-session-argument() finish-field()\\n\\
	CtrlReturn: set-session-argument(failsafe) finish-field()\\n\\
	Return: set-session-argument() finish-field()

xlogin*greeting: .: AUTH ON CLIENTHOST :.
xlogin*namePrompt: login =
xlogin*passwdPrompt: password =
xlogin*fail: Login incorrect

xlogin*greetFont: Hack-16:dpi=75
xlogin*font: Hack-14:dpi=75
xlogin*promptFont: Hack-14:dpi=75
xlogin*failFont: Hack-14:dpi=75
xlogin*greetFace:       Hack-14:dpi=75
xlogin*face:            Hack-14:dpi=75
xlogin*promptFace:      Hack-14:dpi=75
xlogin*failFace:        Hack-14:dpi=75

! Change this according to your screen
! Use ``xdotool getmouselocation`` to find coordinates
xlogin.Login.width: 220
xlogin.Login.height: 140
xlogin.Login.x: 280
xlogin.Login.y: 50

! Colors
xlogin*background: #000001
!   The color used to display the input typed by the user.
xlogin.Login.foreground: #52AEF4
!    The color used to display the greeting.
xlogin.Login.greetColor: #21B4FD
!The color used to display prompts.
xlogin.Login.promptColor: #52AEF4
! fail text color
xlogin*failColor: red
! input background color
xlogin*inpColor: #000001

xlogin*borderWidth: 0
xlogin*frameWidth: 0
xlogin*innerFramesWidth: 0
xlogin.Login.sepWidth: 0
xlogin.Login.sepWidth: 0

!    If set to true, a placeholder character (echoPasswdChar) will be shown for fields normally set to not echo, such as password input. The default is false.
xlogin.Login.echoPasswd: true

xlogin.Login.allowRootLogin:	false

XConsole*background:	black
XConsole*foreground:	white
XConsole*borderWidth:	2
XConsole*borderColor:   grey
XConsole.text.geometry:	480x130
XConsole.verbose:	true
XConsole*iconic:	true
XConsole*font:		fixed

À votre tour de montrer votre écran d'accueil. Les possibilités sont infinies, laissez libre cours à votre imagination! N'oubliez pas que vous pouvez lancer n'importe quelle commande en éditant le fichier Xsetup_0. Qui a envie de mettre un conky ? Des widgets qui vont chercher une VDM? Ou bien le script ci-dessous (cadeau!) :

#!/bin/sh
# Auteur :      thuban 
# licence :     MIT
# Description : surprise !

URL="$(/usr/bin/ftp -o - 'http://feeds.feedburner.com/BonjourMadame?format=xml' | /usr/bin/grep -o 'src="http[^"]*"'| /usr/bin/cut -d\\" -f2 | /usr/bin/head -n1)"
ftp -o /tmp/bm.jpg "$URL"
/usr/local/bin/display /tmp/bm.jpg &

Gravatar de Thuban
Original post of Thuban.Votez pour ce billet sur Planet Libre.