1 votos

Uso de osacript para acceder al Finder desde crontab (o desde una sesión no interactiva)

Tengo un script que genera un archivo dmg desde mi paquete de aplicaciones. Esto se genera cada noche desde nuestro repositorio de subversión.

Sería interesante poder configurar cosas como el tamaño de la ventana del DMG, la imagen de fondo, etc, directamente desde el script. Actualmente la única forma que conozco de hacerlo es usando osascript y llamando a la funcionalidad applescript de Finder.

El problema es que este script se ejecuta desde crontab, por lo que no hay ninguna sesión gráfica abierta - obviamente nunca encontrará un Finder abierto.

He copiado este fragmento de aquí: http://asmaloney.com/2013/07/howto/packaging-a-mac-os-x-application-using-a-dmg/

# tell the Finder to resize the window, set the background,
#  change the icon size, place the icons in the right position, etc.
echo '
   tell application "Finder"
     tell disk "'${VOL_NAME}'"
           open
           set current view of container window to icon view
           set toolbar visible of container window to false
           set statusbar visible of container window to false
           set the bounds of container window to {400, 100, 920, 440}
           set viewOptions to the icon view options of container window
           set arrangement of viewOptions to not arranged
           set icon size of viewOptions to 72
           set background picture of viewOptions to file ".background:'${DMG_BACKGROUND_IMG}'"
           set position of item "'${APP_NAME}'.app" of container window to {160, 205}
           set position of item "Applications" of container window to {360, 205}
           close
           open
           update without registering applications
           delay 2
     end tell
   end tell
' | osascript

Entonces, ¿hay alguna forma de lanzar el finder sin que haya una sesión gráfica activa abierta (es decir, alguien conectado a la máquina)? ¿O hay una manera de realizar lo mismo, sin usar applescript y Finder?

1voto

SPRBRN Puntos 1008

La siguiente página describe el proceso de creación de una plantilla, incluyendo el fondo, las vistas, etc., y luego utilizando un Makefile para actualizar el paquete DMG con nuevos archivos en cualquier momento que lo necesite. No utiliza el Finder, por lo que debería funcionar para las actualizaciones por lotes.

https://el-tramo.be/guides/fancy-dmg/

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X