Problemas guardando ficheros en MacOS Monterey

La llegada de los procesadores M1 de Apple fue una revolución impresionante, la capacidad de trabajo de estos chips es brutal, la potencia que despliegan es increíble, la temperatura de trabajo ha descendido de forma espectacular, el manejo de grandes bloques de datos es apabullante…

Todo esto esta muy bien, pero esto parece que tiene sus problemas, el M1 o cualquiera de sus variantes actuales permite crear máquinas con una capacidad de rendimiento bestiales.

Pero tiene un problema…

El problema se llama MacOS

Monterey, o como se llame la siguiente revisión de sistema operativo es el problema, tiene un montón de fallos, agujeros, y errores que si bien algunos son asumibles otros pueden volver loco a cualquier usuario.

Algunos son nuevos, otros se vienen arrastrando desde versiones anteriores del sistema operativo, y otros pocos, y esta es la parte alarmante, ocurrían en bastante más antiguas del sistema operativo y se habían corregido.

¿Porqué han vuelto esos errores? ese es un misterio al nivel de las piedras de Stonehenge

Abrir/Guardar como…

Imaginad la situación.

Abrís vuestra aplicación de trabajo, la que que queráis, Illustrator, InDesign, Word, Excel, Pages, Numbers, Photoshop… da igual.

Os ponéis a trabajar en un nuevo documento.

Lleváis por ejemplo un par de horas trabajando en ese documento con un trabajo importante…

De repente pensáis.

— ¡Corcho si no lo he guardado!

Vais al menú «Archivo -> Guardar como…»

Hacéis click en el menú…

… y no ocurre nada…

… NADA…

… NADA DE NADA.

Intentas todo lo que se te ocurre, cambiar de ventana, copiarlo todo en un nuevo documento, poner en reposo el equipo, volver a intentarlo tras salir del reposo, salir de todas las aplicaciones salvo en la que tienes tu NUEVO trabajo…

… NADA FUNCIONA.

Aquí es cuando empiezan a bajar santos del cielo, cuando empiezas a pensar que tu vida no tiene sentido, que Tim te tiene manía…

Acudes a internet a ver si hay alguna solución, nada… no hay nada… 

Llamas al Servicio Técnico de Apple y la solución que te dan es…

— Siga los siguientes pasos por favor:

  1. Reinicie su equipo
  2. Arranque en modo seguro
  3. Cree un usuario nuevo y pruebe a ver si le ocurre lo mismo
  4. Reinstale el sistema operativo (Monterey) desde cero

… y se quedan tan anchos.

Creo que esto se podría llamar «Metodo Atila».

Borramos todas las pruebas de que hay un problema y listo, problema solucionado.

Lo curioso de esto es que este problema (y otros más que hay) no parece afectar al número de usuarios suficientes como para que se dediquen recursos a su solución.

Total, mientras sigan vendiendo teléfonos y auriculares la máquina de hacer dinero sigue funcionando…

A mi el servicio técnico de Apple desde hace unos años me recuerda a esa fantástica serie que se llama The IT Crowd  que sino has visto ya estás tardando.

 

Una solución quiero

Pues eso de momento no hay pero si he encontrado al responsable del problema y al menos una «ñapa» que arregla el momento de desesperación.

Advertencia – Disclaimer

Esto me ha funcionado a mi, al menos de momento cada vez que lo he hecho, no quiere decir que sea ni mucho menos una solución y puede funcionar o no en otros equipos.

Avisados quedáis.

Investigando el posible problema he estado viendo los procesos de trabajo a través de esa aplicación desconocida (afortunadamente hay que usarla muy poco) que se llama «Monitor de Actividad»

En esa aplicación se pueden ver todos los procesos en ejecución del equipo, no voy a entrar en más profundidad, hay toneladas de documentación al respecto, buscadla… NO ME SEÁIS VAGOS!!!

Bueno el caso es que hay un servicio/proceso para cada cosa que hace el Mac y como no puede ser de otra forma hay un controlador para la ventana de diálogo «Abrir/Guardar como…»

Ese proceso se llama:

com.apple.appkit.xpc.openAndSavePanelService

Este proceso va asociado a la aplicación que lo solicita y que puede necesitar ejecutarlo, por ejemplo:

com.apple.appkit.xpc.openAndSavePanelService (InDesign) (24981)

Normalmente tiene 3 subprocesos abiertos, pero de pronto, esos procesos empiezan a subir 4, 5, 6 y ahí es donde parece que falla…

La «ñapa» solución pasa por parar ese proceso para que se vuelva a ejecutar.

Para ello seleccionamos el proceso de la aplicación que está fallando.

¡Ojo! identificad el que falla con el nombre que aparece entre paréntesis.

Y forzáis la salida del proceso.

Una vez que lo hagáis el proceso se lanzará de nuevo y os dejará Abrir/Guardar el fichero.

Insisto, llevo un par de semanas haciendo este método y me ha funcionado todas las veces.

No es un arreglo pero al menos no te arrancarás la cabellera cuando veas que no puedes guardar tu trabajo.

Veremos en que revisión del sistema operativo arreglan esto…

Como decía un anuncio de neumáticos de hace bastantes años…

La potencia sin control no sirve de nada.

Cambio de resolución en Automator con SIPS para imágenes JPEG

Como ya he dicho me gusta buscar formas de que las máquinas que ahorren trabajos repetitivos.

Lo último que he intentado es una tarea mediante automator que me sirva para adaptar imágenes para el blog.

Cuando subo alguna imagen si están hechas con la cámara o con el dron suelen ser demasiado grandes y eso hace que «pesen» demasiado en una web.

Esto además de ser perjudicial para el servidor energéticamente es poco eficiente en todos los sentidos, más datos para procesar del lado del servidor, más datos transferidos por la red y más datos a decodificar en local.

Total que me hice un servicio en Automator para convertir las imágenes a una resolución suficiente para poder verlas a casi cualquier tamaño que necesite dentro de la web.

Este primer paso fue sencillo.

Simplemente se coge la acción «Ajustar el tamaño de las imágenes» se le dice el tamaño final que han de tener y listo.

Pero entonces me di cuenta de un pequeño detalle…

Las fotografías de la cámara o del dron tienen una resolución innecesaria para publicarlas en la web.

Todo lo que esté por encima de 72 dpi vuelve a ser inneficaz.

Así que volví a darle una vuelta.

El problema es que no hay una acción en las opciones de automator para poder hacer esta tarea.

El Terminal es amigo de Automator

Como integrar en Automator una acción que no está dentro de las acciones.

Pues con el Terminal…

Después de buscar información al respecto me he encontrado con el comando SIPS.

Y tras algo más de lectura del manual he construido esta secuencia.

sips -s dpiHeight 72 -s dpiWidth 72 "$1"

Con esta llamada lo que hace SIPS es cambiar la resolución vertical y horizontal a 72 dpi del fichero seleccionado.

Y allá que la incluí en una acción para el terminal.

Pero… siempre hay un pero cuando intentas explotar a las máquinas…

Resulta que hay un bug, SIPS no es capaz de cambiar la resolución de las imágenes cuando trata ficheros JPEG.

Funciona estupendamente con todo tipo de archivos, TIFF, PNG, JPEG2000, incluso con PDF, pero con JPEG no…

Casi tiro la toalla cuando pensé que si la máquina es la que iba a hacer el trabajo pues que trabajase un poco más.

Total que construí una nueva secuencia.

Al final lo que he hecho es que coja el JPEG que quiero procesar, lo convierta en PNG, tras esto SIPS le cambia la resolución, le ajusto el tamaño a la medida que quiero y lo guardo como JPEG.

Lo he creado como servicio y lo tengo disponible en el menú contextual del Finder así que funciona estupendamente.

Carpeta automática de conversión de imágenes

Hoy he creado una carpeta automática con Automator que me viene estupendamente.

Me gusta que mis equipos trabajen por mí, que hagan un montón de tareas que si las hiciese de forma manual ocuparían mi tiempo, tiempo que podría dedicar a otras cosas.

Vamos a empezar por el principio

Uso Google Fotos como archivo fotográfico de casa, guardo todas las fotografías y videos que hago con el móvil, pero esto tiene un problema, no hay forma de catalogarlas decentemente.

Google Fotos solamente te deja hacer álbumes pero eso no es muy práctico a la hora de buscar una fotografía de un día concreto, vale que te las agrupa por fechas pero no esta muy elaborado aún.

Prefiero usar la carpeta de Google Fotos dentro de Google Drive, y aquí es donde está parte del problema, es imposible catalogar al enorme número de fotografías que subo a la nube.

No solo las del móvil sino las que hago con cualquier cámara.

El problema es que lo empecé usando un poco a lo bruto y ahora es complicado de arreglar, hay imágenes que no me deja subir porque me dice que ya existen por ejemplo.

Entonces se me ocurrió una idea un poco loca…

Todas las fotografías que se suben normalmente están en formato JPG, pero ¿Que pasa si subo la misma fotografía desde el ordenador en formato PNG?

Pues que lo considera un nuevo fichero y problema solucionado.

El problema viene cuando tienes que transformar miles de fotografías que ya tienes ordenadas en carpetas en tu ordenador, NAS, disco duro o donde quiera que las guardes.

Vale que se puede hacer una acción de Photoshop para que lo haga, pero hacerla recursiva es bastante complicado (y delicado a veces se equivoca y arma unos «sindioses» tremendos).

Total que la solución (al menos en Mac) es usar acciones de carpeta con Automator para hacer una carpeta automática.

Automator es una herramienta que viene con todos los Mac y que permite realizar tareas de forma automática (como su nombre indica).

Creación de nuestra carpeta automática

Lo primero es que Automator trabaja con casi todas las aplicaciones del sistema, en el caso de nuestro invento de hoy vamos a usar Vista Previa.

Vista Previa es una herramienta de OS X superpotente, en muchos casos me evita tener que abrir Photoshop o cualquier otra aplicación de imagen, si por ejemplo lo que quiero es recortar una fotografía, cambiarle el tamaño o cambiarle el formato…

Pues eso, que abrimos Automator y nos encontraremos una pantalla como esta:

Vamos a seleccionar el tipo de documento «Acción de carpeta»

En la parte izquierda seleccionaremos el icono «Fotos» para acceder a las automatizaciones disponibles para imagen desde Vista Previa.

Al seleccionar las opciones disponibles para «Fotos» nos muestra las acciones disponibles, seleccionaremos la acción «Cambiar tipo de imágenes».

Con la acción «Cambiar tipo de imágenes» seleccionada la arrastramos a la parte derecha de la ventana.

Os mostrará la advertencia que veis a continuación.

Leedla detenidamente, lo que os quiere advertir es sobre lo que queréis que la acción haga.

Hay dos opciones:

  • Convertir las imágenes de formato y NO guardar los originales
  • Convertir las imágenes de formato y SI guardar los originales

Si queréis guardar las imágenes originales elegid el botón añadir para que se agregue la acción «Copiar items del Finder» para que haga una copia de cada imagen.

En mi caso voy a seleccionar «No añadir» porque utilizo una carpeta «intermedia» para hacer la conversión de las imágenes y no tocar la ubicación donde las archivo en local.

Una vez seleccionada (en mi caso) la opción de «No añadir» nuestra acción aparecerá en la parte derecha de la ventana.

Ahora hay que elegir el formato de «salida» al que queremos que convierta las imágenes, en mi caso PNG.

Y con esto ya solo nos quedaría elegir la carpeta donde queremos que Automator este atento para convertir las imágenes.

Y con esto habríamos terminado, solo nos quedaría guardar la acción con un nombre para poder recuperarla si necesitamos hacer alguna modificación.

Pues todavía se puede hacer mejor

¿Y qué pasa si tenemos varias carpetas unas dentro de otras que queremos convertir?

Pues que con esta automatización no nos vale.

Hay que currárselo un poco más para descansar más tarde…

Para poder hacer que Automator explore de forma recursiva las carpetas que coloquemos en nuestra carpeta de conversión hay que añadir una cosilla más.

Seleccionaremos «Archivos y carpetas» en la biblioteca.

Y añadiremos la acción «Obtener el contenido de la carpeta».

La añadimos sobre la acción «Cambiar tipo de imágenes» para que quede encima de esta.

Y marcamos la opción «Repetir en cada subcarpeta encontrada» para que busque de forma recursiva dentro de las carpetas que añadamos en nuestra carpeta automática.

Y listo, si no hemos seleccionado la carpeta donde queremos que Automator haga su trabajo, la seleccionamos ahora y guardamos la acción.

Lo siguiente es ponerse cómodo y disfrutar de nuestra carpeta automática y que la máquina trabaje para nosotros…

Como decía aquella publicidad de los años 60…
¡Qué trabaje Ruton!

P. D. Probad antes esta acción con pocas imágenes/carpetas por si hubiese algún error con el manejo de los ficheros.