Tự động thay đổi nền màn hình OS X cho tất cả máy tính để bàn + màn hình?


8

Tóm tắt . Tự động hóa thay đổi nền màn hình cho tất cả các máy tính để bàn (ảo), nhưng không có tất cả màn hình. Làm thế nào để làm điều đó cho tất cả các màn hình?

Chi tiết .

Mục blog này thảo luận về cách tự động thay đổi nền cho tất cả các máy tính để bàn (ảo / Điều khiển nhiệm vụ / vv) với tập lệnh sau:

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

Tuy nhiên, nó không thay đổi hình nền máy tính trên màn hình thứ 2 của tôi trên hệ thống dựa trên Lion của tôi cho bất kỳ máy tính để bàn nào được điều khiển bởi Nhiệm vụ của tôi. Làm thế nào để một người áp dụng ở trên (hoặc tương tự) cho tất cả các màn hình vật lý? (Hacks như thế này không hấp dẫn.)

Câu trả lời:


1

Tôi có máy Mac màn hình kép tại nơi làm việc vì vậy tôi sẽ có thể dùng thử vào ngày mai (ngày nghỉ hôm nay).

Tôi nghĩ rằng nếu bạn muốn so sánh đầu ra của:

$ defaults read com.apple.desktop

Trước và sau khi tự thay đổi hình nền thông qua:

Tùy chọn hệ thống> Máy tính để bàn & Trình bảo vệ màn hình> Máy tính để bàn

Điều đó, nên, đưa ra một cửa sổ trong màn hình thứ hai cho phép bạn chọn hình ảnh cần thiết. Khi đã được thiết lập và hoạt động, hãy so sánh đầu ra từ lệnh ban đầu và xem liệu nó có cung cấp cho bạn bất kỳ manh mối nào không. Tôi sẽ làm điều tương tự và chơi xung quanh nó với nó. Xem nếu tôi không thể cho bạn một câu trả lời đầy đủ hơn.


0

Tôi e rằng đây không phải là một câu trả lời hoàn chỉnh, vì tôi chưa tìm ra cách nào để nó hoạt động với nhiều máy tính để bàn, nhưng nó sẽ đặt máy tính để bàn của tất cả các màn hình trong không gian hiện tại thành bất kỳ hình ảnh nào bạn chỉ định.

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

Thêm vào đó để chạy hành động AppleScript trong quy trình làm việc của Automator và lưu nó dưới dạng một ứng dụng. Sau đó, bạn có thể kéo và thả hình ảnh vào ứng dụng và nó sẽ được đặt làm hình ảnh trên màn hình.

Có lẽ ai đó có thể tìm ra cách để làm cho công việc này với nhiều không gian / máy tính để bàn.


0

Trên hệ thống của tôi (10.12) defaults read com.apple.desktopđã choDomain com.apple.desktop does not exist

Liên kết sau cung cấp cho tôi 2 ý tưởng: https://derflounder.wordpress.com/2013/10/26/mavericks-desktop-background-picture-sinstall-mond-from-l Librarypreferencescom-apple-desktop-plist/

Ý tưởng thứ nhất: Thay đổi liên kết của DefaultDesktop: Do đó, bạn cần phải vô hiệu hóa tạm thời System Integrity Protection( https://apple.stackexchange.com/a/214540/156148 ), để thay đổi liên kết tượng trưng bên dưới/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

Ý tưởng thứ 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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.