Algo que me venía obsesionando desde hace unos días es un bug con el que me topé en Snow Leopard (Mac OS X 10.6). Primero, es necesario hacer notar que tras la actualización a Mac OS X 10.6 me había percatado que el brillo de la pantalla de login se había intensificado en comparación a la de Leopard (Mac OS X 10.5). Esto hubiera quedado en una molestia menor de no ser por el hecho que tras entrar en la configuración de los perfiles de color en System Preferences noté que los «profiles» que ya tenía habían desaparecido. Una de esos efectos colaterales que uno sufre después de un upgrade o actualización mayor.
Investigando un poco en Google encontré que el problema del cambio de color y la desaparición de los perfiles de composición cromática eran ya un problema conocido y reportado. Siguiendo algunas de estas instrucciones fue que recuperé el perfil por defecto que consideraba perdido y que pensé solucionaría el problema. Lo cual no fue así.
Ya un poco resignado opté por crear nuevamente un perfil acorde a mis gustos y percepciones. Obviamente consideré substituir el perfil por defecto por el nuevo creado por mí pero me he topado con que el sistema recrea el perfil por defecto (no he podido determinar si es por algún valor, cadena o algo que no le guste; quizás también sea por seguridad para evitar que el perfil se pierda o corrompa pudiendo imposibilitar la visión en pantalla y así la utilización del equipo).
Any way, el problema ya no era el perfil por defecto del sistema sino el hecho de que éste no mantenía u olvidaba el perfil cromático seleccionado por cada usuario, un problema que además parecía ser errático. Con el paso del tiempo y tras algunas pruebas pude determinar que el cambio del «profile» se da cuando una sesión de otro usuario (en background) terminaba mientras se tenía una sesión diferente activa (cambiando entre estas con el fast user switching). Este problema yo no lo había experimentado con anterioridad pero investigando veo que se presentó en Tiger (Mac OS X 10.4).
Dado que no he podido cambiar el perfil por defecto del sistema, recurrí a una de las soluciones planteadas para Tiger, que consiste en hacer uso de un programa que forma parte del Mac OS X, el DMProxy, invocándolo desde AppleScript.
Mientras que una alternativa para lidiar con el cambio del perfil de color es acceder a la pestaña Color de las preferencias del display (y en el peor de los casos seleccionar nuevamente el «profile» adecuado) esta alternativa parece «ahorrar un poco la fatiga» de la opción anterior.
A diferencia de la alternativa propuesta, que sugiere que el programa DMProxy sea invocado proporcionando user y password administrativos
do shell script "/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/DMProxy" user name "AnAdminUsername" password "ThatAdminPassword" with administrator privileges
me he encontrado que si dichos parámetros se omiten se restaura el perfil ya seleccionado para el usuario, ya que de proporcionar estos parámetros e indicar que se invoque al programa con «privilegios de administrador» sólo provoca que el perfil por defecto para el «display» sea colocado, lo que es precisamente lo que queremos evitar. El script que me ha funcionado queda entonces como:
do shell script "/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/DMProxy"
Este script puede guardarse en modo «Run Only» en las rutas de AppleScript para que sea invocado desde en icono en la barra de menú de manera directa e inmediata para cuando se necesite.