1 votos

Bash script o AppleScript para conectar y desconectar una pantalla Airplay en Monterey+.

En Preferencias del Sistema > Pantallas, en la esquina inferior izquierda está "Añadir pantalla". Puedo elegir otro Mac (Monterey+), Apple TV, iPad, posiblemente otras cosas, para que se conviertan efectivamente en una pantalla adicional para mi Mac. Está muy bien.

Quiero automatizar la conexión y desconexión a uno de ellos. Ya sea AppleScript o bash está bien. Realmente preferiría no usar scripts de GUI si es posible, pero si es la única manera lo tomaré por encima de ninguna solución.

¿Alguien puede decir definitivamente si esto es posible, y/o cómo hacerlo?

Gracias.

-1voto

Matt Puntos 3

No creo que una solución puramente en bash sea posible, ya que estamos tratando de interactuar con los eventos internos de las aplicaciones de MacOS. Además, no pude encontrar una referencia directa a AirPlay, Displays o Mirroring dentro del diccionario de script Editor.app (abrir script Editor.app, Archivo → Abrir diccionario...). Pero esto todavía deja la opción de scripting GUI a través de AppleScript, que ofreceré a continuación.

En MacOS 11+, este antiguo ejemplo de sintaxis ejemplifica aquí no funcionará debido a los cambios en la interfaz de usuario que se han realizado desde MacOS 11. En puede ser posible modificarlo para el nuevo elemento de la barra de menús del Centro de Control, como se hizo con éxito para un tipo de selección de casilla de verificación en el segundo ejemplo aquí pero no he podido adaptarlo con éxito para el Screen Mirroring. Otros también lo han intentado.

Mientras tanto, todavía se puede lograr con algunas secuencias de comandos GUI de AppleScript a través de la ruta de Preferencias del Sistema, en lugar de ir a través del Centro de Control de la barra de menús del sistema:

tell application "System Preferences"
    quit
end tell
tell application "System Preferences"
    activate
    set current pane to pane "com.apple.preference.displays"
end tell
tell application "System Events"
    tell application process "System Preferences"
        repeat until exists window "Displays"
        end repeat
        tell pop up button 1 of window 1
            click
            click menu item "Apple TV" of menu 1
            delay 1
        end tell
    end tell
end tell
tell application "System Preferences"
    quit
end tell

Asegúrese de codificar el nombre de su dispositivo en lugar de "Apple TV". Además, puede pasar un argumento para activar la duplicación de AirPlay para dispositivos sobre la marcha con una automatización de Automator adecuada, o si envuelve este script en un script de shell o un alias de bash.

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