เปลี่ยนพื้นหลังเดสก์ท็อป OS X โดยอัตโนมัติสำหรับเดสก์ท็อป + จอภาพทั้งหมดหรือไม่


8

ย่อ การดำเนินการอัตโนมัติเปลี่ยนพื้นหลังของเดสก์ท็อปสำหรับเดสก์ท็อป (เสมือน) ทั้งหมด แต่ไม่มีการตรวจสอบทั้งหมด จะทำอย่างไรกับมอนิเตอร์ทั้งหมด?

รายละเอียด .

รายการบล็อกนี้อธิบายวิธีเปลี่ยนพื้นหลังสำหรับเดสก์ท็อปทั้งหมด (เสมือน / ภารกิจควบคุม / ฯลฯ ) โดยใช้สคริปต์ต่อไปนี้:

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

อย่างไรก็ตามมันไม่ได้เปลี่ยนพื้นหลังของเดสก์ท็อปบนจอภาพที่ 2 ของฉันบนระบบที่ใช้ Lion ของฉันสำหรับเดสก์ท็อปที่ควบคุมด้วยภารกิจของฉัน วิธีการที่จะนำไปใช้ข้างต้น (หรือคล้ายกัน) กับจอภาพทางกายภาพทั้งหมด ? (แฮ็คแบบนี้ไม่สวย)

คำตอบ:


1

ฉันมีจอมอนิเตอร์คู่ Mac ในที่ทำงานดังนั้นฉันจะสามารถลองได้ในวันพรุ่งนี้ (หยุดวันนี้)

ฉันคิดว่าถ้าคุณจะเปรียบเทียบผลลัพธ์ของ:

$ defaults read com.apple.desktop

ก่อนและหลังเปลี่ยนวอลล์เปเปอร์ด้วยตนเองผ่าน:

ค่ากำหนดของระบบ> เครื่องมือเดสก์ทอปและสกรีนเซฟเวอร์> เดสก์ท็อป

ควรเปิดหน้าต่างขึ้นในจอแสดงผลที่สองเพื่อให้คุณเลือกภาพที่ต้องการ เมื่อทำการตั้งค่าและทำงานแล้วให้เปรียบเทียบผลลัพธ์จากคำสั่งเดิมและดูว่ามันให้เบาะแสใด ๆ แก่คุณหรือไม่ ฉันจะทำพรุ่งนี้เหมือนกันและเล่นกับมัน ดูว่าฉันไม่สามารถให้คำตอบที่สมบูรณ์ยิ่งขึ้นกับคุณได้ไหม


0

ฉันเกรงว่านี่ไม่ใช่คำตอบที่สมบูรณ์เนื่องจากฉันยังไม่พบวิธีที่จะทำให้มันทำงานกับเดสก์ท็อปหลายเครื่องได้ แต่มันจะตั้งเดสก์ท็อปของจอภาพทั้งหมดในพื้นที่ปัจจุบันให้เป็นภาพที่คุณต้องการ

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

เพิ่มเข้าไปในRun AppleScriptในแอคชันในเวิร์กโฟลว์ Automator และบันทึกเป็นแอปพลิเคชัน จากนั้นคุณสามารถลากและวางรูปภาพลงบนแอปพลิเคชั่นและมันจะถูกตั้งเป็นรูปภาพเดสก์ท็อป

บางทีใครบางคนสามารถหาวิธีทำให้มันใช้งานได้กับหลายพื้นที่ / เดสก์ท็อป


0

ในระบบของฉัน (10.12) defaults read com.apple.desktopให้Domain com.apple.desktop does not exist

ลิงก์ต่อไปนี้ให้ฉัน 2 แนวคิด: https://derflounder.wordpress.com/2013/10/26/mavericks-desktop-background-picture-settings-moved-from-librarypreferencescom-apple-desktop-plist/

แนวคิดที่ 1: เปลี่ยนลิงค์ของ DefaultDesktop: ดังนั้นคุณต้องปิดการใช้งานชั่วคราวSystem Integrity Protection( https://apple.stackexchange.com/a/214540/156148 ) เพื่อเปลี่ยน symlink ภายใต้/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:

#! /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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.