Je continue la série des articles techniques un peu velus (ça vous a manqué hein !) avec la réponse à cette question de Jean-Pierre Liégeois, jeune lecteur du Var : comment modifier le fond d’écran affiché derrière la fenêtre d’ouverture de session ou sur la fenêtre de verrouillage de macOS ?
Merci d’avoir posé cette question, ami lecteur. En fait, comme bien souvent… ça dépend de votre version de macOS.
Sous macOS Sierra et High Sierrra
macOS 10.12 et 10.13 utilisent une image au format PNG, placée dans /Library/Caches/ et appelée com.apple.desktop.admin.png. La solution au problème est donc toute simple : il suffit de copier votre fond d’écran dans ce dossier, et éventuellement de le verrouiller avec Cmd + I > Verrouiller.
Sous macOS Mojave
Évidemment, Apple étant Apple, elle n’a pas pu s’empêcher de modifier le comportement sous macOS 10.14. L’image au format PNG est toujours indispensable, mais elle doit être placée à un endroit très précis. À savoir dans un dossier /Library/Caches/Desktop Pictures/User_UUID, où User_UUID est l’identifiant unique de l’utilisateur, tel qu’on peut le trouver en accédant aux informations avancées d’une fiche d’utilisateur (préférence Système > Utilisateurs et groupes, déverrouiller la préférence puis clic droit sur un utilisateur dans la liste > Options avancées.
Et là, donc, ça complique un peu la tâche : en effet, il faut placer le fichier au bon endroit, puis le verrouiller. Pourquoi ? Parce que si l’utilisateur modifie son fond d’écran, c’est une version non floutée qui apparaît et votre fond d’écran va dégager. Ça serait dommage.
Voici donc un petit script que vous pouvez lancer à l’ouverture de session d’un utilisateur (par exemple avec outset) pour copier votre fond d’écran de verrouillage dans le bon dossier, puis le verrouiller pour éviter toute modification par l’utilisateur.
#!/bin/bash
# On récupère le nom de l'utilisateur
consoleuser=`stat -f%Su /dev/console`
# Puis son UUID
UUID=`dscl . -read /Users/$consoleuser GeneratedUID| cut -c 15-50`
# On copie le fond d'écran lockscreen.png placé dans /Library/Desktop Pictures/ au bon endroit sur le disque
cp /Library/Desktop Pictures/lockscreen.png /Library/Caches/Desktop\ Pictures/$UUID/
# et on verrouille le fond copié
chflags uchg /Library/Caches/Desktop\ Pictures/$UUID/lockscreen.png
exit 0
Voilà le travail ! Et si l’utilisateur modifie son fond d’écran, le fond de verrouillage restera celui que vous avez choisi.
Notez encore que sous Mojave, le comportement est un peu différent puisque le nouveau fond apparaîtra quand l’utilisateur sélectionnera son compte. Avant ça, vous aurez encore droit au fond Mojave…
Bonjour Guillaume,
Il est possible d’afficher un nouveau fond avant la sélection du compte.
Il faut renommer le nouveau fond (peu importe le format) en Mojave.heic et le copier dans le dossier /Library/Desktop Pictures/ (après avoir fait une copie du fichier Mojave.heic original, bien sûr).
Par contre, en sortie de veille le nouveau fond n’apparaîtra pas… mais c’est surement possible. ;-)