Mi Magic Mouse 2 murieron hoy y pensé que sería genial si pudiera usar el bloqueo de la pantalla como un disparador para enviar una notificación de inserción a mi iPhone que me recuerdan a conectar mi ratón para la carga.
Me puse a investigar un poco. Hay una app llamada EventScripts que tiene un protector de pantalla gatillo. He probado la demo, pero es demasiado lento.
También me enteré de que me puede enviar notificaciones de inserción a través de la secuencia de comandos desde mi Mac a mi iPhone usando Acechar/Gruñido.
Y me encontré con que uno de los registros del sistema (/var/log/DiagnosticMessages/*
) contiene activeScreenSaver
eventos que muestran inmediatamente cuando veo a la consola. Sería genial si me podría enviar una acecho de notificación de inserción cuando activeScreenSaver
aparece en dicho registro., Yo sé cómo se envía el comando, sin embargo todos los archivos en /var/log/DiagnosticMessages
son binarias. Puedo grep ellos para activeScreenSaver
y ver que hay coincidencias, pero no tengo un archivo en ASCII que puedo aplicar tail -f
a y de la tubería a una secuencia de comandos que los relojes para activeScreenSaver
ocurrencias y envía el empuje... ¿alguien sabe cómo puedo ver los archivos de activeScreenSaver
apariciones? He escrito similares de registro de analizadores para otro texto sin formato de los registros de antes, pero no sé por dónde empezar cuando estoy tratando con archivos binarios que cambian cada tan a menudo.
Por CIERTO, he intentado usar un iBeacon para recordatorios, pero al momento de llegar la notificación, soy demasiado perezoso para ir de regreso a mi escritorio para conectar el ratón. Así que me gustaría obtener la notificación de inserción a la derecha después de que me bloqueo la pantalla... al menos hasta que se convierta en un hábito.
ACTUALIZACIÓN:
A través de más buscando en google, descubrí que podía hacer esto:
cat 2019.05.17.asl | strings - -o | grep activeScreenSaver
290676 (com.apple.ScreenSaver.activeScreenSaver
452746 (com.apple.ScreenSaver.activeScreenSaver
481785 (com.apple.ScreenSaver.activeScreenSaver
Nota, yo solía -o
a mostrar la coincidencia de número de línea así que podría decir que los eventos de qué eran.
Sin embargo, que no incluyen a todos los de mi pantalla de bloqueo de la prueba de los eventos de hoy. He buscado a través de las primas de las cadenas de salida y descubrí que si yo lo hice esta vez, tengo todos los eventos de hoy en día (cuando se lo comparó con lo que yo veo en la aplicación de Consola cuando se busca activeScreenSaver):
cat 2019.05.17.asl | strings - -o | grep "QuartzCore,ScreenSaver"
290278 nAppKit,GLEngine,Flurry,QuartzCore,ScreenSaver,libdispatch.dylib,CoreFoundation,HIToolbox,Direct,libdyld.dylib
443512 nAppKit,GLEngine,Flurry,QuartzCore,ScreenSaver,libdispatch.dylib,CoreFoundation,HIToolbox,Direct,libdyld.dylib
481387 nAppKit,GLEngine,Flurry,QuartzCore,ScreenSaver,libdispatch.dylib,CoreFoundation,HIToolbox,Direct,libdyld.dylib
482889 nAppKit,GLEngine,Flurry,QuartzCore,ScreenSaver,libdispatch.dylib,CoreFoundation,HIToolbox,Direct,libdyld.dylib
486926 nAppKit,GLEngine,Flurry,QuartzCore,ScreenSaver,libdispatch.dylib,CoreFoundation,HIToolbox,Direct,libdyld.dylib
488824 nAppKit,GLEngine,Flurry,QuartzCore,ScreenSaver,libdispatch.dylib,CoreFoundation,HIToolbox,Direct,libdyld.dylib
501148 nAppKit,GLEngine,Flurry,QuartzCore,ScreenSaver,libdispatch.dylib,CoreFoundation,HIToolbox,Direct,libdyld.dylib
504036 nAppKit,GLEngine,Flurry,QuartzCore,ScreenSaver,libdispatch.dylib,CoreFoundation,HIToolbox,Direct,libdyld.dylib
Pensé que era bueno para ir, pero cuando traté tail -f
en lugar de cat
, el resultado se trunca:
tail -c +1 -f 2019.05.17.asl | strings - -o | grep "QuartzCore,ScreenSaver"
290278 nAppKit,GLEngine,Flurry,QuartzCore,ScreenSaver,libdispatch.dylib,CoreFoundation,HIToolbox,Direct,libdyld.dylib
443512 nAppKit,GLEngine,Flurry,QuartzCore,ScreenSaver,libdispatch.dylib,CoreFoundation,HIToolbox,Direct,libdyld.dylib
No estoy seguro de por qué, tail -f
se detiene en el medio del archivo... Además, yo todavía tiene que averiguar cómo actualizar la cola cuando el archivo de cambios...
tail -F
me pone más lejos - hasta el final actual del archivo, pero las nuevas entradas que se agrega al archivo no escupa.
También, he intentado un par de homebrew versiones de cola, que yo esperaba que permitan el seguimiento de varios archivos, pero ninguno de ellos era capaz de manejar los archivos binarios...
Curiosamente, si no me la tubería de la salida de strings
a nada, puedo ver en vivo los mensajes vienen continuamente. Pero si me tubo a grep de un perl en línea, la corriente muere a mitad de camino a través de.