desktoppr
!Una sencilla herramienta de línea de comandos que puede leer y configurar la imagen/fondo de pantalla del escritorio. Crédito por el nombre a Neil Martin.
Nota: Apple solía llamar a la imagen de fondo de macOS 'imagen de escritorio' hasta macOS 13 Ventura, cuando cambiaron para ser la misma que en iOS: 'fondo de pantalla'. Esta documentación puede utilizar cualquiera de los términos.
He escrito algunas publicaciones de blog que describen diferentes estrategias de uso para configurar una imagen de escritorio:
Uso de desktoppr en un entorno administrado
Creación de un paquete de instalación de LaunchD para escritorio (y otras herramientas)
Estrategias para usar desktoppr
Fondo de escritorio aleatorio con desktoppr
Puede leer la imagen/fondo de pantalla actual del escritorio con:
$ desktoppr /Library/Desktop Pictures/Sierra.jpg
y configurar la imagen del escritorio con
$ desktoppr "/Library/Desktop Pictures/BoringBlueDesktop.png"
Cuando tenga varias pantallas, desktoppr
enumerará todas las imágenes del escritorio:
$ desktoppr /Library/Desktop Pictures/HotStepper.jpg /Library/Desktop Pictures/LyricalGangster.jpg /Library/Desktop Pictures/MrOfficer.jpg
Cuando pases un archivo, desktoppr
lo establecerá como imagen del escritorio para todas las pantallas:
$ desktoppr /Library/Desktop Pictures/NaahNananah.jpg $ desktoppr /Library/Desktop Pictures/NaahNananah.jpg /Library/Desktop Pictures/NaahNananah.jpg /Library/Desktop Pictures/NaahNananah.jpg
También puede configurar el escritorio para una pantalla específica: (el índice comienza en cero)
$ desktoppr 0 /Library/Desktop Pictures/HotStepper.jpg $ desktoppr 1 /Library/Desktop Pictures/LyricalGangster.jpg $ desktoppr 2 /Library/Desktop Pictures/MrOfficer.jpg
desktoppr
también puede controlar la escala de la imagen y el color de fondo de la imagen del escritorio.
La configuración de escala y color se establecerá para todas las pantallas.
Utilice el verbo scale
para controlar cómo se escalan los escritorios. Puede tener los valores fill
(predeterminado), stretch
, center
o fit
.
$ desktoppr scale center
Puedes pasar una cadena hexadecimal para el color de fondo:
$ desktoppr color 000000 # black background $ desktoppr color FFFFFF # white background $ desktoppr color FF0000 # red background
Configurar el fondo de pantalla, la escala y/o el color son comandos separados.
Nota: configurar el color de fondo no funciona en macOS 14.x. Consulte el número 22.
Cuando proporcionas una URL a un archivo de imagen como argumento, desktoppr
descargará el archivo desde la URL y lo establecerá como fondo de pantalla.
$ desktoppr https://raw.githubusercontent.com/scriptingosx/desktoppr/profile/examples/BoringBlueDesktop.png
El archivo descargado se almacenará en ~/Library/Application Support/desktoppr/
.
Cuando la descarga falla, el fondo de pantalla no se cambiará. Si el archivo descargado no es un archivo de imagen, el fondo de pantalla volverá al valor predeterminado del sistema.
Cuando desee ejecutarlo desde un script, lo más seguro es incluir la ruta completa al binario:
/usr/local/bin/desktoppr "/Library/Desktop Pictures/BoringBlueDesktop.png"
Dado que la herramienta desktoppr
establece las preferencias del usuario, aún debe prestar atención a que se ejecute como el usuario. Un LaunchAgent o una solución como outset
es una buena opción para gestionar esto. Alternativamente, puede ejecutar el comando como usuario actual desde un script raíz.
Cuando ejecuta desktoppr
con el verbo manage
, leerá la configuración del dominio de preferencias com.scriptingosx.desktoppr
. Puede establecer estas configuraciones con el comando defaults
o, preferiblemente, enviando un perfil de configuración desde un servidor MDM.
La idea es ejecutar desktoppr manage
con un plist de LaunchAgent al iniciar sesión y/o a intervalos regulares. Puede encontrar una lista de muestra de LaunchAgent aquí. El LaunchAgent de muestra ejecutará desktoppr manage
al iniciar sesión y cada tres horas (10800 segundos). Puede crear un paquete que instale el binario desktoppr, el plist LaunchAgent y un archivo de imagen muy temprano en el flujo de trabajo de implementación y luego desktoppr establece el fondo del escritorio cuando el usuario llega al escritorio por primera vez.
Para Ventura y versiones posteriores, los archivos binarios y las aplicaciones ejecutadas por LaunchAgents deben aprobarse con un perfil com.apple.servicemanagement
para que aparezcan como administrados en la sección de elementos de inicio de sesión en Settings.app. El perfil de configuración de muestra también contiene esas configuraciones.
desktoppr utiliza las siguientes claves:
picture
(tipo: string
)La ruta al archivo de imagen para la imagen/fondo de pantalla del escritorio. Se configurará la misma imagen para todas las pantallas.
Cuando el valor comienza con http://
o https://
desktoppr lo interpretará como una URL e intentará descargar un archivo y configurarlo como imagen/fondo de pantalla del escritorio. El archivo descargado se almacenará en ~/Library/Application Support/desktoppr/
. Puede hacer que Desktoppr verifique el archivo de imagen descargado proporcionando una suma de comprobación sha256
.
sha256
(tipo: string
)Esta suma de comprobación sha256 se utilizará para verificar el archivo de imagen descargado. Si la suma de verificación del archivo descargado no coincide con el valor de esta clave, la imagen/fondo de pantalla del escritorio no se cambiará.
Puede generar la suma de comprobación sha256 del archivo de imagen con shasum -a 256
color
(tipo: string
)Esta cadena se interpretará como un código hexadecimal de seis dígitos y se establecerá como color de fondo. (Nota: la configuración del color no funciona en macOS 14.x.)
scale
(tipo: string
) Uno de fill
(predeterminado), stretch
, center
o fit
. Esto controla el comportamiento de escala de la imagen.
setOnlyOnce
(tipo: booleano, predeterminado: false
) Cuando se establece en true
, desktoppr manage
no restablecerá la imagen o el fondo de pantalla del escritorio si la última imagen configurada desktoppr manage
fue la misma. Utilícelo para configurar la imagen/fondo de pantalla del escritorio una vez desde un perfil de configuración, pero permita al usuario cambiarlo después. Incluso cuando desktoppr manage
se ejecuta con frecuencia, solo debería restablecer la imagen o el fondo de pantalla del escritorio cuando cambie la configuración en el perfil de configuración.
Cuando se establece en false
, desktoppr manage
volverá a aplicar la configuración administrada cada vez.
Los ejemplos tienen una lista de valores predeterminados de muestra con claves y un perfil de configuración de muestra.
Puede obtener el código para desktoppr
en mi página de Github y un instalador en las Versiones. El paquete de instalación instalará el binario en /usr/local/bin
. Alternativamente, existe un barril de cerveza, por lo que puedes instalarlo usando brew install --cask desktoppr
si tienes Homebrew instalado.
La herramienta requiere compatibilidad con Swift 5 Runtime para herramientas de línea de comandos cuando la instala en versiones de macOS anteriores a 10.14.4.