Próbuję dodać do mojego skryptu konfiguracyjnego OS X polecenie, które ustawia tło na zwykły ciemnoszary, jednak po zastosowaniu ustawia je tylko na monitorze głównym, a wszelkie dodatkowe podłączone monitory zachowują swoje bieżące tło i wszelkie dodane później otrzymać domyślne tło przestrzeni. Mam do tej pory:
# Change Desktop default BackgroundColor to grey
defaults write com.apple.desktop '{ Background = { default = {BackgroundColor = ( "0.2549019753932953", "0.4117647111415863", "0.6666666865348816" ); Change = Never; ChangePath = "/Library/Desktop Pictures/Solid Colors"; ChangeTime = 1800; DrawBackgroundColor = 1; ImageFileAlias = <00000000 00ce0003 00000000 c73804cd 0000482b 00000000 000c2624 000c2633 0000ca1c 0a310000 00000920 fffe0000 00000000 0000ffff ffff0001 000c000c 2624000c 25fc000a 0789000e 00280013 0053006f 006c0069 00640020 00470072 00610079 00200044 00610072 006b002e 0070006e 0067000f 000c0005 006f0073 00780038 00360012 00394c69 62726172 792f4465 736b746f 70205069 63747572 65732f53 6f6c6964 20436f6c 6f72732f 536f6c69 64204772 61792044 61726b2e 706e6700 00130001 2f00ffff 0000>; ImageFilePath = "/Library/Desktop Pictures/Solid Colors/Solid Gray Dark.png"; NewChangePath = "/Library/Desktop Pictures/Solid Colors"; NewImageFilePath = "/Library/Desktop Pictures/Solid Colors/Solid Gray Dark.png"; NoImage = 0; Placement = Crop; Random = 0; }; }; }'
Jak ustawić domyślne ciemnoszare tło za pomocą polecenia terminalu? Jak zmienić wszystkie monitory już skonfigurowane na szare za pomocą polecenia terminalu?
Odpowiedzi:
Żadne z tych innych rozwiązań nie działa już na Mavericks, ponieważ Apple przeniósł ustawienia do bazy danych sqlite. Ale to w porządku, ponieważ teraz jest łatwiej, png może znajdować się w dowolnym miejscu w systemie plików, a wszystkie pulpity (nawet wirtualne) są aktualizowane.
Lub dodaj go jako funkcję do swojego ~ / .bash_profile i wywołaj jako polecenie terminalowe z dowolną nierelatywną ścieżką.
wallpaper ~/path/to/any/picture.png
źródło
To powinno Ci pomóc:
W tym wątku Mac Rumours istnieje kilka innych sposobów , ale jego sposób jest najłatwiejszy.
źródło
./a.scpt:31:46: execution error: Finder got an error: Can’t set file "/Library/Desktop Pictures/Solid Colors/Solid Gray Dark.png" to file "/Library/Desktop Pictures/Solid Colors/Solid Gray Dark.png". (-10006)
./a.scpt:31:46: execution error: Finder got an error: Can’t set file "/Library/Desktop Pictures/Solid Colors/Solid Gray Medium.png" to file "/Library/Desktop Pictures/Solid Colors/Solid Gray Medium.png". (-10006)
tell application "Finder" to set desktop picture to POSIX file "/Library/Desktop Pictures/Solid Colors/Solid Gray Dark.png"
Najprostszy sposób, aby to zrobić w jednym wierszu:
źródło
osascript
działa dla mnie tylko wtedy, gdy biegnękillall Dock
później. Czy ktoś to zauważył?Ścieżki należy odpowiednio przywoływać za pomocą
POSIX file
for/posix/paths
lubas alias
withOld:Mac:Style:Paths
.Wybierz swoją truciznę ...
Ścieżka POSIX:
Ścieżka do komputera Mac:
Możesz łatwo zamienić dowolny z powyższych Applescripts w komendę terminalową, używając
osascript [-e statement]
:Aby ustawić wiele komputerów stacjonarnych, możesz wypróbować coś takiego
tell application "System Events" to set picture of every desktop to "<path>"
. Niestety, wydaje się, że jest to zepsute w wersji 10.7, więc pojawi się następujący błąd:Expected class name but found application constant or consideration.
źródło
Łącząc odpowiedź jeremyjjbrown i Gist autorstwa willurd , najwygodniejszy sposób dla El Capitan i wyższych jest następujący:
Service receives selected
sięimage files
w górnej części pracy. Możesz opcjonalnie ograniczyć go tylko do pracy w Finderze.Run Shell Script
akcję do przepływu pracyOpróżnij domyślny skrypt i wstaw do edytora nieco zmodyfikowaną wersję odpowiedzi jeremyjjbrown :
Zapisz usługę, na przykład z wybraną przez siebie nazwą
Set Desktop Picture on all Spaces
.Możesz teraz kliknąć prawym przyciskiem myszy dowolny obraz bezpośrednio z Findera i wybrać usługę z menu kontekstowego, łatwo ustawiając tło dla wszystkich komputerów stacjonarnych.
źródło
Jeśli wolisz zainstalować nową aplikację niż nową funkcję, skorzystaj z
m-cli
tej metody. Jest łatwy w użyciu i ma wiele innych przydatnych funkcji, jeśli potrzebujesz.m-cli
auto wykrywa wersję systemu operacyjnego, wewnętrznie rób te same rzeczy, co inne poprawne odpowiedzi za pomocąbash
skryptu.źródło
Skrypt perla do osiągnięcia tego samego:
źródło
Żadne z wymienionych rozwiązań nie działało dla mnie w systemie macOS 10.14.2 Sierra i skończyło się na tym AppleScript:
Można go uruchomić z takiego terminalu:
Lub jako oneliner:
źródło