desktoppr
!Ein einfaches Befehlszeilentool, das das Desktop-Bild/Hintergrundbild lesen und festlegen kann. Der Name geht an Neil Martin.
Hinweis: Apple nannte das macOS-Hintergrundbild bis macOS 13 Ventura „Desktopbild“, dann änderte es sich in dasselbe wie in iOS: „Hintergrundbild“. In dieser Dokumentation werden möglicherweise beide Begriffe verwendet.
Ich habe einige Blog-Beiträge geschrieben, die verschiedene Nutzungsstrategien zum Festlegen eines Desktop-Bildes beschreiben:
Verwendung von Desktoppr in einer verwalteten Umgebung
Erstellen eines LaunchD-Installationspakets für DesktopPR (und andere Tools)
Strategien zur Verwendung von Desktoppr
Zufälliger Desktop-Hintergrund mit Desktoppr
Sie können das aktuelle Desktop-Bild/Hintergrundbild lesen mit:
$ desktoppr /Library/Desktop Pictures/Sierra.jpg
und stellen Sie das Desktop-Bild mit ein
$ desktoppr "/Library/Desktop Pictures/BoringBlueDesktop.png"
Wenn Sie mehrere Displays haben, listet desktoppr
alle Desktop-Bilder auf:
$ desktoppr /Library/Desktop Pictures/HotStepper.jpg /Library/Desktop Pictures/LyricalGangster.jpg /Library/Desktop Pictures/MrOfficer.jpg
Wenn Sie eine Datei übergeben, legt desktoppr
diese als Desktop-Bild für alle Bildschirme fest:
$ desktoppr /Library/Desktop Pictures/NaahNananah.jpg $ desktoppr /Library/Desktop Pictures/NaahNananah.jpg /Library/Desktop Pictures/NaahNananah.jpg /Library/Desktop Pictures/NaahNananah.jpg
Sie können den Desktop auch für einen bestimmten Bildschirm festlegen: (Index beginnt bei Null)
$ desktoppr 0 /Library/Desktop Pictures/HotStepper.jpg $ desktoppr 1 /Library/Desktop Pictures/LyricalGangster.jpg $ desktoppr 2 /Library/Desktop Pictures/MrOfficer.jpg
desktoppr
kann auch die Bildskalierung und Hintergrundfarbe für das Desktop-Bild steuern.
Die Skalierungs- und Farbeinstellungen werden für alle Bildschirme festgelegt.
Verwenden Sie das scale
Verb, um zu steuern, wie die Desktops skaliert werden. Es kann die Werte fill
(Standard), stretch
, center
oder fit
haben.
$ desktoppr scale center
Sie können einen Hex-String für die Hintergrundfarbe übergeben:
$ desktoppr color 000000 # black background $ desktoppr color FFFFFF # white background $ desktoppr color FF0000 # red background
Das Festlegen von Hintergrund, Maßstab und/oder Farbe sind separate Befehle.
Hinweis: Das Festlegen der Hintergrundfarbe funktioniert in macOS 14.x nicht. Siehe Ausgabe Nr. 22.
Wenn Sie als Argument eine URL zu einer Bilddatei angeben, lädt desktoppr
die Datei von der URL herunter und legt sie als Hintergrundbild fest.
$ desktoppr https://raw.githubusercontent.com/scriptingosx/desktoppr/profile/examples/BoringBlueDesktop.png
Die heruntergeladene Datei wird in ~/Library/Application Support/desktoppr/
gespeichert.
Wenn der Download fehlschlägt, wird das Hintergrundbild nicht geändert. Wenn es sich bei der heruntergeladenen Datei nicht um eine Bilddatei handelt, wird das Hintergrundbild auf die Standardeinstellungen des Systems zurückgesetzt.
Wenn Sie es über ein Skript ausführen möchten, ist es am sichersten, den gesamten Pfad zur Binärdatei anzugeben:
/usr/local/bin/desktoppr "/Library/Desktop Pictures/BoringBlueDesktop.png"
Da das desktoppr
Tool Benutzereinstellungen festlegt, müssen Sie dennoch darauf achten, dass es als Benutzer ausgeführt wird. Ein LaunchAgent oder eine Lösung wie outset
ist eine gute Wahl, um dies zu verwalten. Alternativ können Sie den Befehl als aktueller Benutzer über ein Root-Skript ausführen.
Wenn Sie desktoppr
mit dem Verb manage
ausführen, werden die Einstellungen aus der Einstellungsdomäne com.scriptingosx.desktoppr
gelesen. Sie können diese Einstellungen mit dem Befehl defaults
festlegen oder, vorzugsweise, indem Sie ein Konfigurationsprofil von einem MDM-Server übertragen.
Die Idee besteht darin desktoppr manage
mit einer LaunchAgent-Plist beim Anmelden und/oder in regelmäßigen Abständen auszuführen. Eine Beispiel-LaunchAgent-Plist finden Sie hier. Der Beispiel-LaunchAgent führt desktoppr manage
bei der Anmeldung und alle drei Stunden (10800 Sek.) aus. Sie können ein Paket erstellen, das die Desktoppr-Binärdatei, die LaunchAgent-Plist und eine Bilddatei sehr früh im Bereitstellungsworkflow installiert und dann Desktoppr den Desktop-Hintergrund festlegt, wenn der Benutzer den Desktop zum ersten Mal erreicht.
Für Ventura und höher müssen von LaunchAgents ausgeführte Binärdateien und Anwendungen mit einem com.apple.servicemanagement
Profil genehmigt werden, damit sie im Abschnitt „Anmeldeelemente“ in Settings.app als verwaltet angezeigt werden. Das Beispielkonfigurationsprofil enthält diese Einstellungen ebenfalls.
desktoppr verwendet die folgenden Schlüssel:
picture
(Typ: string
)Der Pfad zur Bilddatei für das Desktop-Bild/Hintergrundbild. Für alle Bildschirme wird das gleiche Bild eingestellt.
Wenn der Wert mit http://
oder https://
beginnt, interpretiert Desktoppr dies als URL und versucht, eine Datei herunterzuladen und diese Datei als Desktop-Bild/Hintergrund festzulegen. Die heruntergeladene Datei wird in ~/Library/Application Support/desktoppr/
gespeichert. Sie können die heruntergeladene Bilddatei durch Desktoppr überprüfen lassen, indem Sie eine sha256
Prüfsumme angeben.
sha256
(Typ: string
)Diese sha256-Prüfsumme wird zur Überprüfung der heruntergeladenen Bilddatei verwendet. Wenn die Prüfsumme aus der heruntergeladenen Datei nicht mit dem Wert dieses Schlüssels übereinstimmt, wird das Desktop-Bild/Hintergrundbild nicht geändert.
Sie können die sha256-Prüfsumme der Bilddatei mit shasum -a 256
generieren
color
(Typ: string
)Diese Zeichenfolge wird als sechsstelliger Hex-Code interpretiert und als Hintergrundfarbe festgelegt. (Hinweis: Das Einstellen der Farbe funktioniert unter macOS 14.x nicht.)
scale
(Typ: string
) Eines von fill
(Standard), stretch
, center
oder fit
. Dies steuert das Skalierungsverhalten des Bildes.
setOnlyOnce
(Typ: boolean, Standard: false
) Wenn es auf true
gesetzt ist, wird desktoppr manage
das Desktop-Bild/Hintergrundbild nicht zurücksetzen, wenn das letzte desktoppr manage
eingestellte Bild dasselbe war. Verwenden Sie diese Option, um das Desktop-Bild/Hintergrundbild einmalig über ein Konfigurationsprofil festzulegen, dem Benutzer jedoch die Möglichkeit zu geben, es anschließend zu ändern. Auch wenn desktoppr manage
häufig ausgeführt wird, sollte das Desktop-Bild/Hintergrundbild nur dann zurückgesetzt werden, wenn sich die Einstellung im Konfigurationsprofil ändert.
Wenn der Wert auf false
gesetzt ist, wendet desktoppr manage
die verwalteten Einstellungen jedes Mal erneut an.
Die Beispiele enthalten eine Beispiel-Standardliste mit Schlüsseln und ein Beispiel-Konfigurationsprofil.
Den Code für desktoppr
finden Sie auf meiner Github-Seite und einen Installer in den Releases. Das Installationspaket installiert die Binärdatei in /usr/local/bin
. Alternativ gibt es ein Braufass, das Sie mit brew install --cask desktoppr
installieren können, wenn Sie Homebrew installiert haben.
Das Tool erfordert die Swift 5 Runtime-Unterstützung für Befehlszeilentools, wenn Sie es auf Versionen von macOS installieren, die älter als 10.14.4 sind.