Intento agregar a mi script de configuración de OS X un comando que establece el fondo en el gris oscuro, sin embargo, cuando se aplica, solo lo establece en el monitor principal y cualquier monitor adicional conectado actualmente mantiene su fondo actual y cualquier agregado posterior. recibir el fondo del espacio predeterminado. Lo que tengo hasta ahora es el siguiente:
# 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; }; }; }'
¿Cómo configuro el fondo gris oscuro predeterminado mediante un comando de terminal? ¿Cómo cambio todos los monitores ya configurados a gris mediante un comando de terminal?
Respuestas:
Ninguna de estas otras soluciones funciona en Mavericks porque Apple movió la configuración a una base de datos sqlite. Pero está bien porque ahora es más fácil, el png puede estar en cualquier parte del sistema de archivos y todos los escritorios (incluso los virtuales) se actualizan.
O bien, agréguelo como una función a su ~ / .bash_profile y llámelo como un comando de terminal con cualquier ruta no relativa.
wallpaper ~/path/to/any/picture.png
fuente
Esto debería funcionar para usted:
Hay varias otras formas en este hilo de Rumores de Mac , pero su camino es el más fácil.
fuente
./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"
La forma más sencilla de hacerlo en una línea:
fuente
osascript
funciona para mí solo si corrokillall Dock
después. ¿Alguien más lo nota?Si prefiere instalar una nueva aplicación a hacer una nueva función, usar
m-cli
es el camino a seguir. Es fácil de usar y tiene muchas otras características útiles si lo necesita.m-cli
auto detecta la versión del sistema operativo, internamente hace las mismas cosas que otras respuestas correctas usandobash
script.fuente
Las rutas deben ser referenciadas adecuadamente usando
POSIX file
for/posix/paths
oas alias
withOld:Mac:Style:Paths
.Elige tu veneno...
Ruta POSIX:
Ruta Mac:
Puede convertir fácilmente cualquiera de los Applescripts anteriores en un comando de terminal usando
osascript [-e statement]
:Para configurar varios escritorios, puede intentar algo como
tell application "System Events" to set picture of every desktop to "<path>"
. Desafortunadamente, esto parece estar roto en 10.7, por lo que terminará recibiendo el siguiente error:Expected class name but found application constant or consideration.
fuente
Combinando la respuesta de jeremyjjbrown y este Gist de willurd , la forma más conveniente para El Capitán y más es la siguiente:
Service receives selected
aimage files
la parte superior del flujo de trabajo. Opcionalmente, puede limitarlo para que solo funcione en Finder.Run Shell Script
acción al flujo de trabajoVacíe el script predeterminado e inserte una versión ligeramente modificada de la respuesta de jeremyjjbrown en el editor:
Guarde el servicio con el nombre que elija, por ejemplo
Set Desktop Picture on all Spaces
.Ahora puede hacer clic con el botón derecho en cualquier imagen directamente desde Finder y elegir el servicio en el menú contextual, configurando fácilmente el fondo para todos los escritorios.
fuente
Un script perl para lograr lo mismo:
fuente
Ninguna de las soluciones mencionadas funcionó para mí en macOS 10.14.2 Sierra y terminé con este AppleScript:
Se puede ejecutar desde una terminal como esa:
O como un oneliner:
fuente