31 votes

Comment changer le fond d'écran avec une commande en terminal ?

J'essaie d'ajouter à mon Configuration OS X script une commande qui définit l'arrière-plan en gris foncé uni, cependant, lorsqu'elle est appliquée, elle ne le définit que pour le moniteur principal et tous les moniteurs supplémentaires actuellement connectés conservent leur arrière-plan actuel et tous ceux qui sont ajoutés par la suite reçoivent toujours l'arrière-plan spatial par défaut. Ce que j'ai jusqu'à présent est le suivant :

# Change Desktop default BackgroundColor to grey
defaults write com.apple.desktop '{ Background = { default = {BackgroundColor = ( "0.2549019753932953", "0.4117647111415863", "0.6666666865348816" ); Change = Never; ChangePath = "/Library/Desktop Pictures/Solid Colors"; ChangeTime = 1800; DrawBackgroundColor = 1; ImageFileAlias = <00000000 00ce0003 00000000 c73804cd 0000482b 00000000 000c2624 000c2633 0000ca1c 0a310000 00000920 fffe0000 00000000 0000ffff ffff0001 000c000c 2624000c 25fc000a 0789000e 00280013 0053006f 006c0069 00640020 00470072 00610079 00200044 00610072 006b002e 0070006e 0067000f 000c0005 006f0073 00780038 00360012 00394c69 62726172 792f4465 736b746f 70205069 63747572 65732f53 6f6c6964 20436f6c 6f72732f 536f6c69 64204772 61792044 61726b2e 706e6700 00130001 2f00ffff 0000>; ImageFilePath = "/Library/Desktop Pictures/Solid Colors/Solid Gray Dark.png"; NewChangePath = "/Library/Desktop Pictures/Solid Colors"; NewImageFilePath = "/Library/Desktop Pictures/Solid Colors/Solid Gray Dark.png"; NoImage = 0; Placement = Crop; Random = 0; }; }; }'

Comment puis-je définir le fond gris foncé par défaut via une commande de terminal ? Comment puis-je changer tous les moniteurs déjà configurés en gris via une commande de terminal ?

28voto

Udi Points 6298

Aucune de ces autres solutions ne fonctionne plus sur Mavericks car Apple a déplacé les paramètres vers une base de données sqlite. Mais ce n'est pas grave car maintenant c'est plus facile, le png peut être n'importe où dans le système de fichiers, et tous les bureaux (même virtuels) sont mis à jour.

 #!/usr/bin/env bash
 sqlite3 ~/Library/Application\ Support/Dock/desktoppicture.db "update data set value = '/path/to/any/picture.png'";
 killall Dock;

Ou bien, ajoutez-la comme une fonction à votre ~/.bash_profile et appelez-la comme une commande de terminal avec n'importe quel chemin non relatif.

#   Update all Wallpapers
function wallpaper() {
    sqlite3 ~/Library/Application\ Support/Dock/desktoppicture.db "update data set value = '$1'" && killall Dock 
}

wallpaper ~/path/to/any/picture.png

22voto

daviesgeek Points 35275

Cela devrait fonctionner pour vous :

osascript
tell application "Finder"
set desktop picture to POSIX file "/Library/Desktop Pictures/Solid Colors/Solid Gray Dark.png"
end tell

Il existe plusieurs autres moyens sur ce fil de discussion Mac Rumors mais son chemin est le plus facile.

15voto

aculich Points 271

La façon la plus simple de le faire en une seule ligne :

osascript -e 'tell application "Finder" to set desktop picture to POSIX file "/Library/Desktop Pictures/Earth Horizon.jpg"'

12voto

syntagma Points 8338

Aucune des solutions mentionnées n'a fonctionné pour moi sur MacOS 10.14.2 Sierra et je me suis retrouvé avec cet AppleScript :

tell application "System Events"
    tell every desktop
        set picture to "path_to_wallpaper.jpg"
    end tell
end tell

Il peut être exécuté à partir d'un terminal comme celui-ci :

osascript path_to_applescript_file.scpt

Ou comme un oneliner :

osascript -e 'tell application "System Events" to tell every desktop to set picture to "path_to_wallpaper.jpg"'

3voto

Sanghyun Lee Points 497

Si vous préférez installer une nouvelle application plutôt que de créer une nouvelle fonction, utilisez la fonction m-cli est la voie à suivre. Il est facile à utiliser et possède de nombreuses autres fonctionnalités utiles si vous en avez besoin.

brew install m-cli 
m wallpaper ./wallpapers/tree.jpg

m-cli détecte automatiquement la version du système d'exploitation, faire en interne les mêmes choses que les autres réponses correctes en utilisant bash script.

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