Aplicaciones siempre abiertas en Mac OS X

23/06/2011 por Redacción

En algún momento (y de hecho, en alguna ocasión se nos ha preguntado en faq-mac al respecto) es necesario aplicar un tratamiento especial a algunas aplicaciones de forma que arranquen cuando se inicia el Mac y de las que se exige que no se pueda "salir" ni tan siquiera por error y si se hace, arranquen de forma automática.

En entornos educativos, de empresa y en general, en situaciones en las que el Mac es una herramienta de trabajo en entornos críticos en los que no se permite que una aplicación se cierre "por error" por un fallo humano este es un tipo de accidente que ocurre y suele estar acompañado de la palabra .... "problemas".

Hoy vamos a aprender a automatizar el arranque de una aplicación determinada y a programar su autoarranque inmediato si alguien la cierra o incluso se se cuelga para asegurarnos que un servicio crítico está siempre disponible en un Mac.

Por ejemplo, para mantener siempre abiertas las Notas Adhesivas en Mac OS X. El primer paso es eliminar la aplicación, si la añadiste de forma manual a los items de arranque de tu usuario: como vamos a incrustar la correspondiente aplicación de forma mucho mas profunda en el sistema, no va a ser necesario situarla allí.

Sal de Notas Adhesivas, si tienes abierta la aplicación, y abre un editor de texto plano (Textedit sin formato, Textwrangler mucho mejor) y vamos a crear un archivo .plist con el siguiente texto:

<?xml version="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>user.launchkeep.stickies</string>

<key>KeepAlive</key>

<true/>

<key>Program</key>

<string>/Applications/Stickies.app/Contents/MacOS/Stickies</string>

</dict>

</plist>

Denotar de forma muy importante que cuando se enlaza a la aplicación no se hace contra el paquete sino contra la aplicación pura y dura que reside dentro del paquete en Contents/MacOS y que lleva el nombre de la aplicación en inglés.

Denotar también que la etiqueta label ha de coincidir con el nombre del archivo sin la extensión por motivos de compatibilidad.

Ahora vamos a guardar este archivo, al que vamos a llamar user.launchkeep.stickies.plist en la carpeta ~/Library/LaunchAgents (~ o virgulilla es el símbolo tradicional para definir "tu usuario").

Una vez guardado el archivo allí (necesitarás la contraseña del administrador) hay que lanzar la tarea vía Terminal (en Aplicaciones > Utilidades) usando el comando:

launchctl load ~/Library/LaunchAgents/user.launchkeep.stickies.plist

A partir de ese momento si alguien intenta salir de Adhesivas, el programa se autoarrancará automáticamente incluso cuando se fuerce su salida o se cierre de forma inesperada por un problema del software. De hecho, para salir del programa hay que apagar el ordenador o salir de nuestra cuenta de usuario.

Para eliminar este comportamiento del programa, solo necesitamos lanzar una nueva sesión en el Terminal y escribir:

launchctl remove user.launchkeep.stickies

Recuerda que has de "modificar" correctamente el texto del archivo .plist porque si hay un error, cada 10 segundos (tiempo por defecto para launchctl) el programa "arrancará" y se pondrá en primer plano, fastidiándote el flujo de trabajo.

Fuente: Mac OS X Hints

0
Comentarios
  • avatar
    #1 por Anónimo el 24/06/2011
    gracias, estos consejos son los que hacen que entre todos los días a este sitio. Eso y desahogarme un poco contra apple xD