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).
0 votes
J'ai dit dans mon message que j'avais environ 8000 photos réparties dans 200 dossiers. Je veux que les dossiers changent aléatoirement toutes les heures environ. Pour ce faire, j'ai besoin de mettre un script sur une boucle infinie et ensuite toutes les heures, il choisira un nouveau dossier en utilisant le module de sous-processus. J'ai besoin de savoir comment changer les dossiers en utilisant le terminal.
0 votes
Vous n'avez pas dit quelle version d'OSX - j'ai essayé une idée provenant des forums JAMF - voir la réponse.
0 votes
Ok - voici un exemple de la façon de mettre à jour le dictionnaire
/usr/bin/defaults -currentHost write com.apple.ScreenSaverPhotoChooser CustomFolderDict -dict-add name XX
. Cela définit la clé du nom à la valeur XX dans CustomFolderDict ... vous voulez l'autre clé, mais le même concept.0 votes
Voir mise à jour 2...
0 votes
NOTE : Je n'ai fait que le
defaults read ...
pour voir vos paramètres Je pense que vous n'avez pas activé le bon économiseur d'écran./usr/bin/defaults -currentHost read com.apple.ScreenSaver
donner (remarquez que c'est sans PhotoChooser) ... le mien a ce paramètremoduleName = iLifeSlideshows;
entre autres [j'utiliserais les Préférences Système pour le configurer, puis j'utiliserais l'écriture sur les touches].0 votes
Je ne sais pas quelles configurations des Préférences Système je suis censé modifier.
0 votes
choisissez l'une des images à gauche - si vous voyez un écran noir avec le nom de votre machine, cela signifie que vous avez sélectionné la machine Message (elle est en bas de la liste déroulante à gauche)
0 votes
Oui, j'ai déjà réparé ça. Une idée sur la façon dont l'ordinateur peut changer les dossiers pour l'écran de veille en utilisant la ligne de commande. Je ne vois pas pourquoi l'écran devient noir lorsque je change le CustomFolderDict.
0 votes
Ok, j'ai résolu le problème. L'application des préférences du système doit être fermée. Tu peux t'attribuer le mérite de la réponse si tu veux.
0 votes
Ouf - je commençais à m'inquiéter - j'ai produit le même problème que toi - mais maintenant que j'ai fermé les préfs aussi, c'est bon.