Thuban : Personnaliser l'écran de connexion d'OpenBSD : xenodm
lundi 7 août 2017 à 13:30OpenBSD 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 &
Original post of Thuban.Votez pour ce billet sur Planet Libre.