Lo stesso sfondo per ogni schermo

3

Ho un Macbook Air (con OS X 10.10 Yosemite). Ho impostato lo sfondo su una cartella e lasciato che lo sfondo cambi casualmente ogni 30 minuti. Quando lavoro alla mia scrivania, ho uno schermo esterno aggiuntivo e quello che voglio è che quello schermo abbia lo stesso sfondo del display principale.

C'è un modo per farlo o mi manca un'opzione?

    
posta Daniel 04.11.2014 - 07:47
fonte

1 risposta

4

Dal riquadro Preferenze non penso che tu possa farlo.

Ma ho appena scritto un applescript che funziona su entrambi i miei schermi.

---------- UPDATE:

Stavo riscontrando un problema con il caricamento di LaunchAgent all'accesso.

Sembra che fosse perché il sistema stava cercando di compilarlo e fallire.

Quindi ho aggiornato la risposta per risolvere il problema usando un applescript compilato invece di un testo semplice.

NOTE: you must turn off the change picture settings in the system prefs when running this script. Otherwise you will get the right results.

Ogni desktop cambia nella stessa immagine. Se passo a un nuovo spazio su un desktop, l'immagine cambierà quando sarà il momento.

Ci sono due modi per eseguire lo script.

Ma secondo me l'utilizzo di LaunchAgents è il migliore modo.

Questa risposta potrebbe sembrare complicata ma dovrebbe richiedere solo un minuto per la configurazione e iniziare a utilizzare .

1, Crea incolla questo script in un nuovo documento di Script Editor.

#!/usr/bin/osascript

tell application "System Events"
    (*Get a list of images in the pictures folder*)
    set DPFolder to ((POSIX file "/Library/Desktop Pictures") as alias)
    set DP to every file of DPFolder
end tell

(*get a random number limited to the count of the image count in the pictures folder*)
set randomNumber to random number (count of DP)

    tell application "System Events"

        (*get each desktop*)
        set theDesktops to a reference to every desktop

        (* repeat with each desktop*)
        repeat with i from 1 to (count theDesktops)

            (* Change the picture to the random image*)
            set picture of item i of the theDesktops to (POSIX path of (item randomNumber of DP))
        end repeat
    end tell

2, cambia il percorso nella linea

set DPFolder to ((POSIX file "/Library/Desktop Pictures") as alias)

per contenere la cartella delle immagini se non è quella standard. Assicurati che la cartella che utilizzi abbia solo immagini e nessun altro tipo di file o cartella.

3, Salva il formato del documento come file Script (scpt)

4,intipoTerminal.app:

chmod+x/Users/USERNAME/path/to/your/foo.scpt

chmod+xrenderàilfileeseguibile.Modificailpercorsodelpercorsodeltuofilediscript.

5,inTextEdit.app

ApriunnuovodocumentoditestoNormaleeincolla:

<?xmlversion="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.markosx.randomDesktopImage</string>
    <key>ProgramArguments</key>
    <array>
        <string>usr/bin/osascript</string>
       <string>/Users/USERNAME/path/to/your/foo.scpt</string>
    </array>
    <key>StartInterval</key>
    <integer>60</integer>
<key>KeepAlive</key>
    <false/>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Cambia la linea:

/Users/USERNAME/path/to/your/foo.scpt

per contenere il percorso reale del file di script.

Cambia la linea:

<integer>60</integer>

per contenere il numero di secondi in cui si desidera l'intervallo tra le esecuzioni.

6, salva il file con estensione .plist nella cartella LaunchAgent degli utenti.

~/Library/LaunchAgents

7, Ora nel tipo di terminale ed esegui:

  launchctl load ~/Library/LaunchAgents/foo.plist

Sostituisci foo.plist con il tuo vero nome del file plist.

Questo caricherà il launchAgent sul sistema e lo avvierà.

Oppure puoi uscire e rientrare.

Per scaricare l'launchAgent

launchctl unload ~/Library/LaunchAgents/foo.plist
risposta data 09.11.2014 - 14:03
fonte

Leggi altre domande sui tag