Cuando inicio sesión en mi Mac, quiero abrir automáticamente una nueva ventana de Terminal.app con un perfil determinado, por ejemplo Monitor
, que tiene un comando de inicio y varias configuraciones de apariencia. Pensé que sería muy fácil hacer esto desde AppleScript o la línea de comandos (a través de osascript
), por lo que puedo agregar un script a mis elementos de inicio de sesión, pero resulta que esto no es tan trivial después de varios intentos.
Mi mejor manera actual es el siguiente AppleScript:
tell application "Terminal"
set origSettings to default settings
set default settings to settings set "Monitor"
activate
tell application "System Events" to keystroke "n" using command down
set default settings to origSettings
end tell
Sin embargo, quiero saber si hay una forma más sencilla de hacer esto sin depender de las secuencias de comandos de la interfaz de usuario (con eventos del sistema) o jugar con mi terminal default settings
.
applescript (osascript) para cambiar el perfil de Terminal.app parecía prometedor, pero es para cuando ya hay una ventana de Terminal abierta. No tengo idea de cómo crear una nueva pestaña o ventana de Terminal con su current settings
especificación. El do script
comando, que crea una nueva ventana, lamentablemente ignora el comando de inicio establecido en el perfil, lo que me hace recurrir a las secuencias de comandos de la interfaz de usuario.
También encontré este script: http://blog.azizlight.me/have-fun-with-applescript-and-terminal-app/ que nuevamente se basa en scripts de interfaz de usuario. Debido a que algunas de mis máquinas usan una configuración regional que no está en inglés, prefiero ceñirme a las pulsaciones de teclas en lugar de las etiquetas de menú.
Es posible que me esté perdiendo el punto, pero ¿no puede exportar el perfil como un .terminal
archivo y agregarlo a sus elementos de inicio de sesión?
Exportar:
Agregue el archivo exportado a Elementos de inicio de sesión:
¿Puede simplemente ejecutar el comando de inicio con do script
?
tell application "Terminal"
do script "emacs"
set current settings of selected tab of window 1 to settings set "Grass"
end tell
Si alguien más no necesita ejecutar ningún comando de inicio, puede usar do script ""
para abrir una nueva ventana:
tell application "Terminal"
do script ""
set current settings of selected tab of window 1 to settings set "Grass"
end tell
O también podría usar do script ""
al cambiar default settings
:
tell application "Terminal"
set old to default settings
set default settings to settings set "Grass"
do script ""
set default settings to old
activate
end tell
do script ""
es que ignora el comando de inicio ya ingresado en el perfil. Por cierto, porque do script
devuelve la pestaña que creó, podríamos acortarla aún más a algo como: set newTab to do script ...
luegoset current settings of newTab to ...
netj
beroe
Darrell Golliher