¿Cómo usar osascript para abrir la aplicación Terminal en una nueva ventana y asegurarse de que esté en la parte superior de todas las demás ventanas?


3

Encontré una forma de abrir Terminal.app muy útil como:

osascript -e \'tell application "Terminal" to do script "cd myfolder && ./something.sh param1"\'

Si se ejecutó desde una ventana de terminal, entonces todo está bien, al menos para cada caso que pruebo. Sin embargo, ejecuto este comando desde un servidor Node.js porque solo eso puedo activar un script en una ventana de terminal. Pero aquí está el problema: cuando se ejecuta, la ventana de Terminal está detrás de mi navegador Chrome.

¿Cómo se puede establecer esta ventana en la parte superior? Me di cuenta de que la ventana puede estar seguramente encima de otras ventanas de Terminal, pero ¿cómo configurarla encima de todas las demás ventanas?

Por ejemplo, la ventana está debajo de Chrome y es muy difícil de ver:

ingrese la descripción de la imagen aquí

Respuestas:


5

Activar

Use el comando AppleScript Activar para traer la aplicación Terminal.app al frente :

tell application "Terminal"
    activate
end tell

Usar osascriptesto se convierte en:

osascript -e 'tell application "Terminal" to activate'

¿Es posible hacer eso en una línea? Porque tengo que activar esto en una función node.js.
AGamePlayer

He agregado un osascriptequivalente.
Graham Miln

osascript -e 'tell application "Terminal" to activate and to do script "cd myfolder && ./something.sh param1"'¿Es esto correcto?
AGamePlayer

1
La solución más simple es ejecutar osascriptdos veces desde JavaScript. Una vez para iniciar su script y nuevamente para traer Terminal.app al frente.
Graham Miln

1
Una alternativa a correr osascriptdos veces es ejecutarlo una vez con 2 -ecomandos, así:osascript -e 'tell application "Terminal" to activate' -e 'tell application "Terminal" to do script "..."'
Hugues M.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.