0 votes

Comment changer le dossier de l'économiseur d'écran en ligne de commande sur Mac ?

J'ai une collection d'art de 8000 photos, je les ai divisées en dossiers d'environ 200 chacune. Je vais utiliser Python pour sélectionner aléatoirement l'un de ces dossiers afin que mon écran de veille me montre continuellement le travail d'un nouvel artiste plutôt que de mélanger aléatoirement tous les artistes ensemble. Pour ce faire, je dois changer le dossier utilisé par l'économiseur d'écran avec Python, qui changera ensuite le dossier à l'aide de Terminal.

J'ai lu cet article et il semble que vous pouvez le faire en utilisant cette commande :

https://krypted.com/mac-security/mac-setting-screen-saver-from-the-cli/

defaults -currentHost write com.apple.screensaver modulePath -string "/users/kylefoley/pictures/art/art 2/impressionism/claude monet/"

Mais ça n'a pas marché. De plus, j'utilise MacOS 10.14.

UPDATE

Quand j'entre : /usr/bin/defaults -currentHost read com.apple.ScreenSaverPhotoChooser J'obtiens le résultat attendu, c'est-à-dire le dossier réel que l'économiseur d'écran utilise. Lorsque je saisis : /usr/bin/defaults -currentHost write com.apple.ScreenSaverPhotoChooser SelectedFolderPath -string "/users/kylefoley/pictures/art/art 2/impressionism/claude monet/" alors l'entrée /usr/bin/defaults -currentHost read com.apple.ScreenSaverPhotoChooser Je reçois

{
    CustomFolderDict =     {
        identifier = "/Users/kylefoley/Pictures/art/complete art 2";
        name = "complete art 2";
    };
    SelectedFolderPath = "/users/kylefoley/pictures/art/art 2/impressionism/claude monet/";
    SelectedSource = 4;
    ShufflesPhotos = 1;
}

Ce qui est faux car le chemin pour le CustomFolderDict['identifier'] devrait être le même que le SelectedFolderPath.

J'ai alors fait une supposition et j'ai essayé :

/usr/bin/defaults -currentHost write com.apple.ScreenSaverPhotoChooser CustomFolderDict -identifier "/users/kylefoley/pictures/art/art 2/impressionism/claude monet/"

qui a produit Unexpected argument . Si je pense pouvoir trouver comment réparer ce CustomFolderDict en ligne de commande, cela pourrait résoudre le problème.

MISE À JOUR 2

J'ai entré :

/usr/bin/defaults -currentHost write com.apple.ScreenSaverPhotoChooser CustomFolderDict -dict-add identifier "/users/kylefoley/pictures/art/art 2/impressionism/claude monet/"
/usr/bin/defaults -currentHost write com.apple.ScreenSaverPhotoChooser CustomFolderDict -dict-add name "claude monet"

Et bien que je comprenne

{
    CustomFolderDict =     {
        identifier = "/users/kylefoley/pictures/art/art 2/impressionism/claude monet/";
        name = "claude monet";
    };
    LastViewedPhotoPath = "";
    SelectedFolderPath = "/users/kylefoley/pictures/art/art 2/impressionism/claude monet/";
    SelectedSource = 3;
    ShufflesPhotos = 1;
}

Lorsque je saisis

/usr/bin/defaults -currentHost read com.apple.ScreenSaverPhotoChooser

Le nouveau résultat est juste un écran vide avec le nom de mon ordinateur.

0 votes

Cet article de OSXDaily montre tous les emplacements courants des fichiers d'économiseurs d'écran - je suppose que si vous mettez un lien logiciel au bon endroit dans ~/Bibliothèque pointant vers le chemin ci-dessus, ils pourraient être récupérés.

0 votes

C'est pour les écrans de veille qui font quelque chose de bizarre comme une fractale, je veux juste qu'il fasse défiler un ensemble d'images, ce qu'il fait déjà, mais je n'arrive pas à trouver le chemin vers ce dossier d'images.

0 votes

Oh, vous pouvez aussi ajouter votre propre dossier - dans Écrans de veille, choisissez un mode - disons Ken Burns - à droite, sous la source, il y a une option de choix de dossier - vous pouvez sélectionner un dossier de votre choix (et il trouvera toutes les images qui s'y trouvent).

2voto

Mr R Points 274

Cela fonctionne pour moi sur une machine Catalina et est connu pour fonctionner sur Mavericks (HT @bobsmith76 pour avoir persévéré).

/usr/bin/defaults -currentHost write com.apple.ScreenSaverPhotoChooser 'SelectedFolderPath' "/Users/you/sub/sub/folder"

J'ai utilisé les hot-corners pour activer l'économiseur d'écran et définir une valeur par défaut différente, puis lorsque j'ai réactivé l'économiseur d'écran, il a utilisé le nouveau dossier.

NOTE si les Préférences Système sont ouvertes au moment où vous effectuez les modifications, cela peut provoquer des erreurs (comme le basculement de la configuration de l'écran de veille vers un écran de veille sans image - nous nous sommes tous deux retrouvés sur l'écran de veille Message de cette façon).

0 votes

Merci de m'avoir aidé. J'ai dit dans mon OP que j'utilise la 10.14. En tout cas, je n'ai pas réussi à faire fonctionner le script ci-dessus pour la 10.14.

0 votes

En théorie, il devrait fonctionner sur la 10.14 - mais j'ai remarqué que quelqu'un sur le forum Jamf demande pourquoi il fonctionnait dans la 10.14.2 et ne fonctionne plus maintenant (10.14.5) ( community.spiceworks.com/topic/ )

0 votes

Si vous l'exécutez, est-ce que SelectedFolderPath prend la valeur que vous vouliez ? /usr/bin/default -currentHost read com.apple.ScreenSaverPhotoChooser ... Je suppose que vous avez un économiseur d'écran activé...

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X