¿Cómo puedo abrir múltiples shells de terminales personalizados?

10

¿Cómo puedo personalizar Terminal para que cuando abra la aplicación abra varias pestañas de shell? Si es posible, me gustaría que también ejecute un script de entorno diferente para cada pestaña.

Ejemplo: ejecute este comando, source bin/activateque es un comando de configuración de Python virtualenv.

citadelgrad
fuente

Respuestas:

4

Agregue esto a su ~/.bash_profilesi usa bash o ~/.zshrcsi usa zsh, cambiando el contenido de la COMMANDSmatriz:

function openterms() {
    COMMANDS=("source bin/activate" "add another here" "continue likewise")
    for command in $COMMANDS
        do osascript -e \
        "tell application \"Terminal\" to do script with command \"$command\""
    done
}

Ahora, llamar opentermsa un shell abrirá todos los demás shells que quisieras.

Carmine Paolino
fuente
3

Estoy usando Keyboard Maestro . Una vez grabé una macro que configura Terminal (estoy usando iTerm, pero no importa) de la manera que me gusta e hice que esta macro se activara al iniciar iTerm.

Entonces, cuando inicio, está configurado como quería. Dos ventanas, cinco pestañas en una para diferentes carpetas con cada pestaña nombrada apropiadamente, y otra ventana con dos pestañas conectadas a mi servidor, una de ellas lanza un script de monitoreo. Todo esto se realiza dentro de los 2 segundos posteriores al lanzamiento de la Terminal, lo que anteriormente llevaría un minuto o más.

Ahora no tengo tanto miedo de cerrar iTerm si lo necesito, ya que puedo volver a abrirlo en el mismo estado sin ningún esfuerzo.

Por cierto, Keyboard Maestro también es bueno para muchas otras cosas. Recientemente lo compré con descuento en mupromo.com, donde lo descubrí por primera vez pero, en mi opinión, también vale la pena su precio completo.

Jacob Gorban
fuente
2

Como mencionó Josh K, puede crear un Grupo de ventanas para abrir una o más ventanas con diseños y apariencias específicos. Además, los "perfiles de configuración" (Terminal> Preferencias> Configuración) pueden especificar un comando para ejecutar cuando se crea una terminal con ese perfil. Puede crear un perfil separado para cada comando que desee ejecutar, luego crear ventanas con esos perfiles. Cuando los guarde en un grupo de ventanas y los abra nuevamente, esos comandos se ejecutarán en sus ventanas apropiadas. Incluso puede hacer que Terminal abra un grupo de ventanas específico al inicio.

A partir de Mac OS X Lion 10.7, hay varias mejoras nuevas en esta área:

  1. La reanudación restaurará automáticamente las ventanas que estaban abiertas al salir de Terminal, por lo que usar un grupo de ventanas para esto ya no es estrictamente necesario (aunque le permiten volver a crear una configuración específica si ha cerrado las ventanas).

  2. Si crea un nuevo terminal usando Shell> Nuevo comando, dado que el Terminal sabe qué comando ejecutó, puede restaurarlo ejecutándolo nuevamente. El terminal ahora restaurará automáticamente los comandos "seguros" † cuando se reanude.

  3. Terminal también restaurará estos comandos si guarda este tipo de terminales en un grupo de ventanas. Además, al guardar un grupo de ventanas, hay una opción para restaurar todos los comandos, no solo los "seguros". Por lo tanto, ya no necesita crear un perfil de configuración separado para cada comando que desea ejecutar.

† Los comandos "seguros" incluyen todo lo que aparece en /etc/shellsemacs, vi / vim, nano, pico, top, screen, tmux y cualquier comando creado con Shell> Nueva conexión remota (por ejemplo, sesiones ssh). Tenga en cuenta que solo top se considera "seguro" cuando se usa con argumentos; los otros admiten argumentos que pueden hacer cosas que no querría que hicieran sin la confirmación del usuario, por lo que no se consideran "seguros" para la restauración automática a menos que se invoquen sin argumentos. Puede personalizar la lista de comandos "seguros" con "valores predeterminados" escriba com.apple.Terminal RestorableCommands ". El valor es una lista de cadenas que contienen los nombres de los comandos. Para indicar que los argumentos están permitidos, agregue un asterisco después de un comando. por ejemplo, "top *" hace que top sea seguro cuando se usa con argumentos, pero "top" no.

Chris Page
fuente
1

Alternativamente, también puede usar screenpara abrir varias pestañas en una sola ventana. La pantalla es muy flexible y puede configurarse para ejecutar cualquier script durante el inicio del terminal.

Más información.

karmático
fuente