Mac mini Verrouillage du fond d'écran sous El Capitan

DeeDeePac187

Membre confirmé
4 Janvier 2010
24
0
31
Bonjour,

Je souhaiterai verrouiller le fond d'écran des Mac que nous possédons.

Je entendu parlé du verrouillage du fichier :

com.apple.Desktop.plist

Est bien évidemment sur El Capitan je ne trouve pas de fichier com.apple.Desktop.plist dans Bibliothèque (Utilisateur ) / Preference / com.apple.Desktop.plist

Donc je me tourne vers vous car je ne sais plus ou chercher.
 
Bonjour,

tu veux quoi exactement ? eviter que ton fond d’écran change toutes les x minutes ?
 
Salut DeeDeePac

Verrouiller le fichier ~/Library/Prefererences/com.apple.desktop.plist par le flag uchg (un_change) > ne me paraît pas produire l'effet que tu souhaites : empêcher une modification du fond d'écran du Bureau par un stagiaire facétieux. Je viens de tester dans ma session admin d'«El Capitan» --> le verrouillage dudit fichier n'empêche nullement de modifier le fond d'écran du Bureau > par exemple dans les Préférences Système > Bureau et économiseur d'écran > Bureau > en cliquant une image quelconque des dossiers Apple affichés.

Comme je suis moi-même expert en facéties > je peux te proposer un procédé malicieux qui relève du combat éternel du prof bien contre le stagiaire mal
361608_original.png
. Comme on le sait d'expérience > le mal ne peut pas être empêché. Mais ce qui est possible pour le bien > c'est de battre le mal à l'usure. Car comme le disait Platon > le mal ne se commet que par passion > tandis que le bien est un principe constant de la volonté. On peut donc opposer à la compulsion errante du mal > la répétition de principe du bien.

Tu n'as qu'à aller à : Applications > Utilitaires > lancer le «Terminal». Dans la fenêtre qui s'ouvre > tu peux saisir des commandes en mode texte.

- Par la commande :
Bloc de code:
touch Desktop/com.restore.plist
et ↩︎ (presse la touche "Entrée" du clavier poura valider la commande) --> tu crées sur le Bureau un fichier vide intitulé : com.restore.plist.

- Par la commande :
Bloc de code:
open -e Desktop/com.restore.plist
et ↩︎ tu ouvres le fichier vide dans «TextEdit».

- Tu fais un copier-coller de ce petit script :
Bloc de code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST
1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.restore</string>
    <key>ProgramArguments</key>
    <array>
        <string>osascript</string>
        <string>-e</string>
        <string>tell application "Finder"
set f to POSIX file "/Library/Desktop Pictures/El Capitan.jpg"
if desktop picture is not file f then set desktop picture to f
end tell</string>
    </array>
    <key>StartInterval</key>
    <integer>1</integer>
</dict>
</plist>
qui intime au Finder de restaurer l'image du fonds d'écran à l'image choisie comme défaut : El Capitan.jpg recelée at: Bibliothèque > Desktop Pictures (il s'agit de la Bibliothèque Générale de l'OS) avec une fréquence de 1 qui, en pratique, équivaudra à environ 5 secondes. Si tu préférais un autre fond d'écran parmi les images de ce dossier Desktop Pictures > il faudrait que tu édites l'adresse de la ligne :
Bloc de code:
set f to POSIX file "/Library/Desktop Pictures/El Capitan.jpg"
à la partie entre "". Idem pour une autre adresse de fichier d'image (un glisser-déposer du fichier voulu dans une fenêtre du «Terminal» te donne l'adresse exacte en chemin absolu).

=> Tu enregistres ton édition du fichier.

- Par la commande :
Bloc de code:
sudo mv Desktop/com.restore.plist /Library/LaunchAgents
(après ↩︎ > une demande de password s'affiche - commande sudo --> tape ton mot-de-passe de session admin à l'aveugle - aucun caractère ne se montrant à la frappe - et ↩︎ de nouveau) --> tu déplaces le fichier com.restore.plist du Bureau dans le dossier des LaunchAgents de la Bibliothèque Générale de l'OS.

- Par la commande :
Bloc de code:
sudo chown 0:0 /Library/LaunchAgents/com.restore.plist
et ↩︎ (dans les 5' après une première authentification pour un sudo > pas besoin de ressaisir de mot-de-passe pour un autre sudo) --> tu établis l'utilisateur à root et le groupe à wheel comme attendu.

- Par la commande :
Bloc de code:
sudo launchctl load /Library/LaunchAgents/com.restore.plist
et ↩︎ tu fais charger le fichier comme service récurrent du launchd daemon.

=> tu n'as plus qu'à tester dans le panneau des Préférences Système des modification du fond d'écran du Bureau > inexorablement > après une poignée de secondes > le principe infatigable du bien va imposer son correctif aux errances du mal et l'image du Nose à El Capitan être rétablie comme fond d'écran du Bureau [de quoi méchamment épuiser les maléfices du stagiaire]...
 
Dernière édition par un modérateur:
Salut vénérable sage macomaniac,

Je te remercie pour cette réponse totalement génial.
J'aime beaucoup les allusion sur le bien et le mal.

Je vais testé ça de suite. Je te tiens informé de la suite des événements.

Je vais me venger de tous ses anciens stagiaires... HAHAHAHHHHAH
 
Salut DeeDeePac

La seule variable éventuelle est le fichier-image qui sert habituellement de fond d'écran à ton Bureau.

Est-ce que tu utilises l'image par défaut de l'OS «El Capitan» ou une autre ?
 
  • J’aime
Réactions: DeeDeePac187
Tout à bien fonctionné sauf la comande
Bloc de code:
sudo launchctl load /Library/LaunchAgents/com.restore.plist: Invalid property list
 
Salut DeeDeePac

La seule variable éventuelle est le fichier-image qui sert habituellement de fond d'écran à ton Bureau.

Est-ce que tu utilises l'image par défaut de l'OS «El Capitan» ou une autre ?
J'en utilise une autre mais elle s'appel "El Capitan.jpg" et elle est dans le dossier Desktop Pictures
 
Donc ton image est bien celle qui était désignée a priori dans le script.

La mention : « Invalid property list » lorsque tu passes la commande de chargement du fichier par launchd > me paraît signifier qu'il y a une erreur de syntaxe dans le fichier plist.

Est-ce que tu peux passer la commande :
Bloc de code:
sudo open -e /Library/LaunchAgents/com.restore.plist
(avec authentification à l'aveugle à cause de sudo) > ce qui va ouvrir dans «TextEdit» le fichier com.restore.plist > et poster ici en copier-coller le contenu intégral de ce fichier ? - que je vérifie la syntaxe...
 
Dernière édition par un modérateur:
  • J’aime
Réactions: DeeDeePac187
Hé ! Hé ! Un fichier doit avoir une syntaxe impeccable > pour être chargé comme service. À chaque re-démarrage de ton Mac > le processus parent launchd va charger le fichier comme service > avant même l'ouverture de ta session > et une vérification itérative de la conformité du fichier servant de fond d'écran va s'opérer > avec retour au défaut en cas de modification. Inlassablement. Toutes les 5 secondes environ.

Je souhaite bien du plaisir à tes stagiaires. Il faudrait une volonté de fer pour insister longtemps > mais comme on le sait depuis Platon > le "mal" ne provient pas d'une volonté susceptible de constance > mais d'une passion qui s'use avec le temps...

Si tu veux (parce que tu es en vacances par exemple et souhaite un autre fond d'écran) suspendre ce service > il te suffit de faire par exemple un :
Bloc de code:
sudo mv /Library/LaunchAgents/com.restore.plist Desktop
et le fichier atterrit sur ton Bureau > un coup de re-démarrage > et le service est désactivé. Tu peux alors mettre le fond d'écran que tu veux. Retour des stagiaires ? Tu répètes les commandes :
Bloc de code:
sudo mv Desktop/com.restore.plist /Library/LaunchAgents
sudo launchctl load /Library/LaunchAgents/com.restore.plist
et c'est reparti.

Si tu voulais > le temps d'une session > suspendre le service et varier les fonds d'écran > tu peux passer une commande de déchargement de launchd :
Bloc de code:
sudo launchctl unload /Library/LaunchAgents/com.restore.plist
et le service est désactivé. Mais comme le fichier est en place dans le dossier LaunchAgents > il sera rechargé automatiquement comme service au prochain démarrage qui relancera launchd. À moins que tu ne passes directement la commande de rechargement.
 
Grand Merci j'ajoute c'est info sur le pense bête.

Pour la session stagiaire qui elle n'est pas admin quand je lance la manip au premier sudo biim

Bloc de code:
stagiaire is not in the sudoers file. This incident will be reported.

Désolé j'ai mis du temps un stagiaire voleur de temps
 
Pardon autant pour moi navrai désolé excusé moi.

Je viens de m'apercevoir de ma connerie.

On à mis ça dans le dossier Bibliotheque général donc j'ai essayer sa marche sur toutes les sessions
 
On à mis ça dans le dossier Bibliotheque général donc j'ai essayer sa marche sur toutes les sessions

Oui > c'est bien l'idée perfide : imposer a priori le même fond d'écran = défaut (l'image d'El Capitan) > en tant que service chargé par launchd et s'appliquant à toutes les sessions.

Dans la session stagiaire qui est une session standard > le droit de sudo n'est pas supporté. C'est ce que le Système te retourne > après vérification du fichier /etc/sudoers qui consigne les « ayants droits de sudo » (voire d'outrepassements à géométrie variable si ce fichier a été édité en loucedé).

Bien sûr > si ça te gênait d'avoir le fond d'écran d'«El Capitan» aussi pour ta propre session > il serait possible de logger le fichier com.restore.plist dans les LaunchAgents de la Bibliothèque du compte stagiaire seul - ainsi tu aurais les coudées franches dans ta propre session...
 
Dernière édition par un modérateur:
Parfait, mais c'est très bien que les formateurs est même fond d'écrans que les stagiaires.
Cela me va très bien comme çà.

En tout cas grand grand merci au temps passé pour m'aidé dans la quête de la bonté... :zen:
 
Salut DeeDeePac

- Par la commande :
Bloc de code:
sudo launchctl load /Library/LaunchAgents/com.restore.plist
et ↩︎ tu fais charger le fichier comme service ]...


Bonjour @macomaniac,

J’ai voulu refaire ta super technique que High sierra.
Mais hélas j’ai une erreur au moment du launchclt load ...
il me dit invalid property list

Que faire ?
 
Content pour toi !

Je vois que le combat du Bien prof conte le Mal stagiaire se poursuit deux ans après. Et que tu mènes toujours ta guerre d'usure par le procédé décourageant les mauvaises volontés que je t'avais concocté :hilarious: