18 votos

Abrir una aplicación en pantalla completa a través del Terminal

Me pregunto si es posible abrir un programa en el modo de pantalla completa de Lion a través del Terminal. Quiero escribir un breve script que inicie un grupo de programas en modo de pantalla completa, de modo que sólo tenga que hacer clic una vez para iniciar mi entorno de trabajo.

0 votos

¿Es el modo de pantalla completa de Lion / MTN Lion, o una ventana "ampliada"?

0 votos

El león a pantalla completa

14voto

pasawaya Puntos 1323

Aquí está:

/usr/bin/osascript -e 'decirle a la aplicación "Safari"' -e "activar" -e 'decirle a la aplicación "Eventos del sistema"' -e 'pulsar la tecla "f" usando {control abajo, comando abajo}' -e "terminar de decir" -e "terminar de decir"

Aquí está en una forma más clara (pero no se puede ejecutar de esta manera):

/usr/bin/osascript -e "tell application \"Safari\"" 
-e "activate"
-e "tell application \"System Events\""
-e "keystroke \"f\" using {control down, command down}"
-e "end tell"
-e "end tell"

Y esto es lo que se ha formateado en AppleScript:

tell application "Safari"
    activate
    tell application "System Events"
        keystroke "f" using {control down, command down}
    end tell
end tell

Funciona abriendo primero una ventana de Safari si no hay ninguna abierta. A continuación, simula el Control - Command - F que le dice a la ventana de Safari que se convierta en pantalla completa.

Si quieres que la ventana tenga el máximo tamaño posible sin que se convierta en pantalla completa (es decir, que ocupe todo el espacio debajo de la barra de menús en la parte superior):

tell application "Finder"
    set desktopSize to bounds of window of desktop
end tell

tell application "Safari"
    activate
    set bounds of window 1 to desktopSize
end tell

Que se convertiría en esto en Terminal:

/usr/bin/osascript -e "tell application \"Finder\"" -e "set desktopSize to bounds of window of desktop" -e "end tell" -e "tell application \"Safari\"" -e "activate" -e "set bounds of window 1 to desktopSize" -e "end tell"

Para Chrome, haz esto:

tell application "Google Chrome"
    activate
    make new window
    tell application "System Events"
        keystroke "f" using {control down, command down}
    end tell
end tell

Así que sería esto en Terminal:

/usr/bin/osascript -e "tell application \"Google Chrome\"" -e "activate" -e "make new window" -e "tell application \"System Events\"" -e "keystroke \"f\" using {control down, command down}" -e "end tell" -e "end tell"

Espero que esto ayude.

0 votos

Probado esto, y ayudó un poco. se abre la aplicación, pero la pantalla completa no funciona - jsut me da un sonido de error. tiene que ejecutar el script dos veces para ir a pantalla completa

0 votos

@ABLX Tienes que cambiar la pulsación de la aplicación que quieras a pantalla completa, ¿con qué aplicaciones estás trabajando?

0 votos

@qegal creo que toda la pantalla - mencionó Lion fullscreen en los comentarios de la pregunta.

2voto

Esto no funcionará con las aplicaciones que no utilizan la pantalla completa nativa de Windows, pero debería funcionar con algunas que no utilizan el acceso directo estándar para entrar en pantalla completa. Algunas aplicaciones tienen diferentes nombres de proceso y de aplicación.

set a to "Notes"
set bid to id of application a
tell application a
    reopen -- open a new default window if there are no windows
    activate -- make frontmost
end tell
tell application "System Events" to tell (process 1 where bundle identifier is bid)
    click (button 1 of window 1 where subrole is "AXFullScreenButton")
end tell

0 votos

Esta solución fue efectiva para forzar Polycom RealPresence Desktop en pantalla completa al iniciar sesión en un sistema OS X 10.10.5, ¡gracias!

2voto

Lloyd Puntos 141

Puede utilizar consultar para abrir aplicaciones arbitrarias en modo de pantalla completa.. Instala seis comandos de conveniencia, cuatro de los cuales abrir los navegadores más comunes en pantalla completa :

Inicie Chrome Canary en el modo de presentación:

$ ca

Inicie Chrome en el modo de presentación:

$ ch

Inicie Firefox en modo de pantalla completa:

$ ff

Inicie Safari en modo de pantalla completa:

$ sf

A lanzar cualquier cosa en pantalla completa ejecute el comando ccf (un applescript que envía la combinación de teclas CMD+CTRL+f) después de un open para pasar al modo de pantalla completa:

$ open -a Calendar; ccf

Si una aplicación tiene un modo adicional de pantalla completa con el atajo CMD+Mayúsculas+f (como hace Chrome), úsalo:

$ open -a "Google Chrome"; csf

Consejo . Si una aplicación tarda en cargarse, dale la oportunidad de que se cargue completamente introduciendo una pausa antes de ejecutar el atajo de teclado:

$ open -a "Google Chrome"; sleep 3; csf

1voto

Tom Jacob Puntos 11

Aquí están las instrucciones para Google Chrome. (Esto abrirá una ventana de incógnito a pantalla completa).

Ir a /Applications/Google Chrome.app/Content/MacOS/ . Cambia el nombre del binario de Google Chrome por otro (como chrome-bin ) y crear un bash ejecutable script en su lugar (nombrar el script Google Chrome al igual que el archivo ejecutable original).

#!/bin/bash
open chrome-bin --new --args -incognito

osascript -e "tell application \"Google Chrome\"" -e "tell application \"System Events\"" -e "keystroke \"f\" using {control down, command down}" -e "end tell" -e "end tell"

Ahora, cada vez que inicies Google Chrome se lanzará a pantalla completa en modo Incógnito. Yo uso el modo de incógnito, pero si no quieres eso, simplemente borra el -incognito bandera.

1 votos

El PO no menciona nada sobre Google Chrome.

1 votos

Además, el modo incógnito no ayuda en nada cuando se trata de código malicioso - simplemente no almacena o permite el acceso a las cookies y otros esquemas de persistencia locales (controlados por el navegador). De hecho, los plugins (como Flash) pueden almacenar y acceder a sus propias cookies incluso en modo incógnito.

0 votos

+1 por el bonito hack aunque Chrome no se pidiera en la pregunta

1voto

Johnny Drama Puntos 99

Aquí hay un añadido a la excelente respuesta de @pasawaya. Si quieres ejecutar tu applescript desde la línea de comandos, no necesitas introducir cada línea por separado con el -e opción.

osascript -e 'multi-line-applescript here' también funcionará. Ejemplo:

osascript -e 'tell application "Safari"
activate
  tell application "System Events"
    keystroke "f" using {control down, command down}
  end tell
end tell'

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