Tüm masaüstü + monitörler için OS X masaüstü arka planını otomatik olarak değiştir?


8

Özet . Otomasyon, tüm (sanal) masaüstü bilgisayarlar için masaüstü arka planını değiştirir, ancak tüm monitörler değiştirmez. Tüm monitörler için nasıl yapılır?

Ayrıntılar .

Bu blog girişi , aşağıdaki komut dosyasıyla tüm (sanal / Görev Kontrolü / vb.) Masaüstü bilgisayarların arka planının otomatik olarak nasıl değiştirileceğini açıklar:

#! /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

Ancak, Görev Kontrollü masaüstü bilgisayarlarımın hiçbiri için Lion tabanlı sistemimdeki 2. monitörümdeki masaüstü arka planını değiştirmez. Yukarıdakiler (veya benzerleri) tüm fiziksel monitörlere nasıl uygulanır ? ( Bu kadar çirkin hackler.)

Yanıtlar:


1

İşte çift monitör Mac'im var, bu yüzden yarın (bugün izinsiz) denemek mümkün olacak.

Eğer çıktı karşılaştırmak olsaydı düşünüyorum:

$ defaults read com.apple.desktop

Duvar kağıdını manuel olarak değiştirmeden önce ve sonra:

Sistem Tercihleri> Masaüstü ve Ekran Koruyucu> Masaüstü

Bu, gerekli görüntüyü seçmenizi sağlayan ikinci ekranda bir pencere açmalıdır. Bu bir kez kurulduktan ve çalıştıktan sonra, orijinal komutun çıktısını karşılaştırın ve size ipucu verip vermediğine bakın. Aynı yarıyı yapacağım ve onunla oynayacağım. Size daha eksiksiz bir cevap veremiyorum.


0

Korkarım bu tam bir cevap değil, çünkü bu işi birden fazla masaüstü bilgisayarla yapmanın bir yolunu bulamadım, ancak mevcut alandaki tüm monitörlerin masaüstünü belirttiğiniz herhangi bir resme ayarlayacaktır.

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

Bunu bir Automator iş akışında AppleScript çalıştır eylemine ekleyin ve bir uygulama olarak kaydedin. Daha sonra görüntüyü uygulamaya sürükleyip bırakabilirsiniz; bu görüntü masaüstü resmi olarak ayarlanır.

Belki birileri birden fazla alan / masaüstü ile bu işi yapmak için bir yol bulabilirsiniz.


0

Benim sistemde (10.12) defaults read com.apple.desktopverdiDomain com.apple.desktop does not exist

Aşağıdaki bağlantı bana 2 fikir veriyor: https://derflounder.wordpress.com/2013/10/26/mavericks-desktop-background-picture-settings-moved-from-librarypreferencescom-apple-desktop-plist/

İlk fikir: DefaultDesktop'un bağlantısını değiştirin: Bu nedenle, altındaki bağlantı işaretini değiştirmek için geçici olarak devre dışı bırakmanız gerekir System Integrity Protection( https://apple.stackexchange.com/a/214540/156148 )./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

2. fikir:

#! /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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.