Secara otomatis mengubah latar belakang desktop OS X untuk semua + monitor desktop?

8

Ringkasan . Otomasi mengubah latar belakang desktop untuk semua desktop (virtual), tetapi tidak semua monitor. Bagaimana cara melakukannya untuk semua monitor?

Detail .

Entri blog ini membahas cara mengubah latar belakang untuk semua desktop (virtual / Mission Control / etc) secara otomatis dengan skrip berikut:

#! /bin/bash
#script to change all desktop backgrounds
echo -n “Drag and drop an image file here then press ‘return’ or press ‘control-c’ to cancel…”
read -e WLPR;
function change_wallpaper
{
defaults write com.apple.desktop Background "{default = {ImageFilePath='$WLPR'; };}"; killall Dock
}
change_wallpaper

Namun, itu tidak mengubah latar belakang desktop pada monitor ke-2 saya pada sistem berbasis Lion untuk semua desktop yang dikendalikan Misi. Bagaimana seseorang berlaku di atas (atau serupa) dengan semua monitor fisik? (Hacks seperti ini tidak menarik.)

Johnny Utahh
sumber

Jawaban:

1

Saya memiliki monitor ganda Mac di tempat kerja sehingga saya akan dapat mencobanya besok (hari libur hari ini).

Saya pikir jika Anda membandingkan output dari:

$ defaults read com.apple.desktop

Sebelum dan sesudah mengubah wallpaper secara manual melalui:

Preferensi Sistem> Desktop & Penghemat Layar> Desktop

Itu, seharusnya, membuka jendela di tampilan kedua memungkinkan Anda untuk memilih gambar yang diperlukan. Setelah pengaturan dan bekerja, bandingkan output dari perintah asli dan lihat apakah itu memberi Anda petunjuk. Saya akan melakukan besok sama dan bermain-main dengannya. Lihat apakah saya tidak bisa memberi Anda jawaban yang lebih lengkap.

Danijel-James W
sumber
0

Saya khawatir ini bukan jawaban yang lengkap, karena saya belum menemukan cara untuk membuat ini bekerja dengan beberapa desktop, tetapi itu akan mengatur desktop semua monitor di ruang saat ini untuk gambar apa pun yang Anda tentukan.

on run {input, parameters}
    set theFile to first item of input
    tell application "System Events"
        set theDesktops to a reference to every desktop
        repeat with aDesktop in theDesktops
            set the picture of aDesktop to theFile
        end repeat
    end tell
    return theFile
end run

Tambahkan itu ke tindakan Jalankan AppleScript dalam alur kerja Automator, dan simpan sebagai aplikasi. Anda kemudian dapat menarik dan menjatuhkan gambar ke aplikasi dan itu akan ditetapkan sebagai gambar desktop.

Mungkin seseorang dapat menemukan cara untuk membuat ini berfungsi dengan banyak ruang / desktop.

perampok
sumber
0

Pada sistem saya (10.12) defaults read com.apple.desktopmemberiDomain com.apple.desktop does not exist

Tautan berikut memberi saya 2 ide: https://derflounder.wordpress.com/2013/10/26/mavericks-desktop-background-picture-settings-moved-from-librarypreferencescom-apple-desktop-plist/

Gagasan pertama: Ubah tautan DefaultDesktop: Oleh karena itu Anda perlu menonaktifkan sementara System Integrity Protection( https://apple.stackexchange.com/a/214540/156148 ), untuk mengubah symlink di bawah/System/Library/CoreServices/DefaultDesktop.jpg

#! /bin/bash
if [ -z "$1" ]; then
    echo "Please specify an absolute path to an image as first parameter"
    exit -1
fi
mv /System/Library/CoreServices/DefaultDesktop.jpg /System/Library/CoreServices/DefaultDesktop.jpg.backup
ln -s $1 /System/Library/CoreServices/DefaultDesktop.jpg

Gagasan ke-2:

#! /bin/bash
#script to change all desktop backgrounds
if [ -z "$1" ]; then
    echo "Please specify an absolute path to an image as first parameter"
    exit -1
fi

osascript -e "tell application \"System Events\" to set picture of every desktop to \"$1\""
killall Dock
velop
sumber