Fbsplash

De ArchwikiFR


Fbsplash (anciennement gensplash) est une implémentation en espace utilisateur d'un écran de démarrage pour les systèmes Linux. Il fournit un environnement graphique au démarrage du système en utilisant la couche framebuffer de Linux.

Installation

Fbsplash

fbsplash est disponible sur AUR.

Pour disposer d'une image en arrière-plan de vos terminaux virtuels vous devrez installer un noyau patché avec fbcondecor, tel que linux-fbcondecor, voir plus bas .

Thèmes

Les thèmes peuvent être trouvés sur AUR (fbsplash-theme), GNOME-Look.org ou KDE-Look.org.

Configuration

Prévisualisation

Pour faire votre choix parmi les thèmes que vous aurez installé sans redémarrer ou configurer quoi que ce soit, vous pouvez utiliser splash_manager.

Important: Cette commande ne doit être pas exécutée sous X, mais depuis un TTY (CTRL+ALT+F1 par exemple).

Par exemple pour tester le thème arch-black, après l'avoir installé bien entendu, en mode silencieux sans redémarrer:

splash_manager -c demo -t arch-black --steps 100

Pour plus d'informations:

splash_manager --help

Fichier de configuration

Ajoutez le ou les thèmes que vous avez installé dans /etc/conf.d/splash. Vous pouvez également spécifier des résolutions d'écran pour gagner un peu d'espace:

Fichier: /etc/conf.d/splash

<pre<noinclude></noinclude> style="padding: 0.25em; margin: 0 0 0.50em 0; background-color: #F7F7F7; border: thin dashed #7F7F7F; border-top: none">SPLASH_THEMES="

   arch-black
   arch-banner-icons/1280x1024.cfg
   arch-banner-noicons/1280x1024.cfg"</pre<noinclude></noinclude>>

Ligne de commande du Kernel

Pour fonctionner avec Fbsplash, il faut passer certaines options à votre noyau via votre chargeur d'amorce:

 console=tty1 splash=silent,theme:<nom du thème>

Grub

Pour GRUB, Éditer directement /boot/grub/grub.cfg:

linux /boot/vmlinuz-linux root=/dev/... quiet console=tty1 splash=silent,theme:arch-banner-icons

Ou mieux, passez par /etc/default/grub et ajoutez les options de kernel à la ligne GRUB_CMDLINE_LINUX_DEFAULT:

Fichier: /etc/default/grub

<pre<noinclude></noinclude> style="padding: 0.25em; margin: 0 0 0.50em 0; background-color: #F7F7F7; border: thin dashed #7F7F7F; border-top: none">GRUB_CMDLINE_LINUX_DEFAULT="quiet console=tty1 splash=silent,theme:arch-banner-icons"</pre<noinclude></noinclude>> N'oubliez pas de régénérer grub.cfg:

grub-mkconfig -o /boot/grub/grub.cfg

Autres chargeurs

Pour GRUB_Legacy, Lilo ou Syslinux, il suffit de rajouter les options au kernel dans le fichier de configuration approprié (respectivement /boot/grub/menu.lst, /etc/lilo.conf ou /boot/syslinux/syslinux.cfg):

Ce qui peut vous donner pour Grub Legacy:

kernel /vmlinuz-linux root=/dev/disk/by-uuid/8887210b-72d3-4899-99f7-3f39ea0a0eeb rw quiet console=tty1 splash=silent,theme:arch-banner-icons

Ou pour Syslinux:

APPEND root=UUID=8887210b-72d3-4899-99f7-3f39ea0a0eeb rw quiet console=tty1 splash=silent,theme:arch-banner-icons

Démarrer Fbsplash

Astuce: La touche F2 vous permettra de basculer entre le splash et les messages d'Arch au démarrage. Pensez-y si le splash n'apparaît pas ou si vous trouvez votre démarrage long. ;-)

Lancement normal

Une fois installé et configuré, sans faire rien de plus, fbsplash devrait se charger automatiquement à votre prochain démarrage, juste après quelques messages d'Arch au démarrage (juste après udev).

Lancement au plus tôt

Si vous trouvez disgracieux ces quelques messages (ou simplement pour profiter plus longtemps de votre splash), il est possible de démarrer fbsplash avant les premiers messages au démarrage.

Il suffit d'ajouter fbsplash aux HOOKS dans /etc/mkinitcpio.conf:

Fichier: /etc/mkinitcpio.conf

<pre<noinclude></noinclude> style="padding: 0.25em; margin: 0 0 0.50em 0; background-color: #F7F7F7; border: thin dashed #7F7F7F; border-top: none">HOOKS="base fbsplash ..."</pre<noinclude></noinclude>> ou:

Fichier: /etc/mkinitcpio.conf

<pre<noinclude></noinclude> style="padding: 0.25em; margin: 0 0 0.50em 0; background-color: #F7F7F7; border: thin dashed #7F7F7F; border-top: none">HOOKS="base udev ... resume fbsplash ..."</pre<noinclude></noinclude>> ou, en cas d'encryptage du système:

Fichier: /etc/mkinitcpio.conf

<pre<noinclude></noinclude> style="padding: 0.25em; margin: 0 0 0.50em 0; background-color: #F7F7F7; border: thin dashed #7F7F7F; border-top: none">HOOKS="base ... keymap encrypt fbsplash ..."</pre<noinclude></noinclude>>

Reconstruisez vos initcpio via mkinitcpio. Voir Mkinitcpio pour plus d'infos.

Note: En cas de problèmes avec fbsplash si votre machine utilise KMS (Kernel Mode Setting, c'est le cas si vous utilisez les pilotes intel, nouveau ou radeon), ajoutez le pilote approprié à la ligne MODULES du mkinitcpio.conf, voir l'exemple pour le pilote intel ou le suivant pour nouveau:
Fichier: /etc/mkinitcpio.conf

<pre<noinclude></noinclude> style="padding: 0.25em; margin: 0 0 0.50em 0; background-color: #F7F7F7; border: thin dashed #7F7F7F; border-top: none">MODULES="nouveau ..."</pre<noinclude></noinclude>> et refaites l'image de démarrage:

mkinitcpio -p linux
Important: Pour se prémunir d'un problème quelconque avec fbsplash qui vous bloquerait le démarrage, il peut être judicieux de ne pas générer l'image fallback avec ce HOOK.

Éditez /etc/mkinitcpio.d/linux.preset (ou toute autre fichier selon votre kernel, par exemple /etc/mkinitcpio.d/linux-fbcondecor.preset si vous l'utilisez ):

fallback_options="-S autodetect,fbsplash"

Puis générez l'initrd:

mkinitcpio -p linux

(ou linux-fbcondecor si vous utilisez ce noyau)

Images en arrière-plan de console

Avec un noyau qui prend en charge Fbcondecor, vous pouvez avoir une image en arrière-plan de vos consoles virtuelles.

Installation du noyau

Installez linux-fbcondecor (ne soyez pas pressé :-) ).

Configuration

Important: Il n'existe pas encore de service pour Systemd, en conséquence de quoi vous n'obtiendrez une image d'arrière-plan «que» pour le premier terminal virtuel, tty1.

Il y a également un fichier de configuration, /etc/conf.d/fbcondecor, pour définir les terminaux virtuels qui prendront en charge ce mode d'affichage.

Astuce: Pour un démarrage au plus tôt, rajoutez fbsplash dans les HOOKS de /etc/mkinitcpio.conf, rajoutez les thèmes dans /etc/conf.d/splash et reconstruisez les initramfs:
mkinitcpio -p linux-fbcondecor

Rajoutez les entrées appropriées dans le fichier de votre chargeur de démarrage, ce kernel s'appelant vmlinuz-linux-fbcondecor et ses images initramfs-linux-fbcondecor.img et initramfs-linux-fbcondecor-fallback.img.

Exemple pour GRUB Legacy:

Fichier: /boot/grub/menu.lst

<pre<noinclude></noinclude> style="padding: 0.25em; margin: 0 0 0.50em 0; background-color: #F7F7F7; border: thin dashed #7F7F7F; border-top: none"># (5) Arch Linux + splash en console title Arch Linux, fbcondecor root (hd0,4) kernel /vmlinuz-linux-fbcondecor root=/dev/disk/by-uuid/8887210b-72d3-4899-99f7-3f39ea0a0eeb rw quiet console=tty1 splash=silent,theme:arch-banner-icons initrd /initramfs-linux-fbcondecor.img</pre<noinclude></noinclude>> Pour Syslinux:

Fichier: /boot/syslinux/syslinux.cfg

<pre<noinclude></noinclude> style="padding: 0.25em; margin: 0 0 0.50em 0; background-color: #F7F7F7; border: thin dashed #7F7F7F; border-top: none">LABEL archfbcondecor

       MENU LABEL Arch Linux Fbcondecor
       LINUX ../vmlinuz-linux-fbcondecor
       APPEND root=UUID=8887210b-72d3-4899-99f7-3f39ea0a0eeb rw quiet console=tty1 splash=silent,theme:arch-banner-icons
       INITRD ../initramfs-linux-fbcondecor.img</pre<noinclude></noinclude>>
Astuce: Cette fois, vous pouvez également utiliser splash=verbose pour profiter des messages au démarrage sur arrière-plan en remplacement du splash.

Liens