Invocar gnome-terminaltres veces y unir los comandos con && no funcionará, y las pestañas no aparecerán en el mismo terminal, y de hecho, tendrá que salir del primer terminal para que aparezca el siguiente.
La forma de asegurarse de que todas las pestañas se abran en una instancia de gnome-terminaltodas al mismo tiempo es usar el --tab-with-profile=PROFILENAMEinterruptor. En el siguiente comando, puede dejar el primer comando como gnome-terminal --tabsi fuera la primera ventana que se generará; ahora todo lo que necesita saber es qué perfil está utilizando y puede usar --tab-with-profile=YourProfilepara invocar los otros comandos y todos aparecerán a la vez en el terminal original abierto.
Aquí está tu comando modificado:
gnome-terminal --tab --title="rails s" -e "rails s" --tab-with-profile=Default --title="spork" -e "spork" --tab-with-profile=Default --title="autotest" -e "autotest"
(Para futuros lectores: sustituya los nombres de programa dados después -epara probar la línea de comando que se muestra aquí; recuerde que sus objetivos -edeben estar instalados y dentro $PATH; para cosas que no están en $PATHuso, una ruta absoluta como, por ejemplo, /opt/mike/program)
Recuerde especificar el perfil real que está utilizando para los --tab-with-profileconmutadores. La primera invocación de gnome-terminalmust use --taby todo lo demás --tab-with-profile. Con este método debería ser posible abrir una gran cantidad de pestañas, todo en la misma instancia de gnome-terminal.
Encuentra el perfil que estás usando actualmente haciendo clic derecho gnome-terminaly mira los perfiles y habrá un marcador en el que estás usando actualmente:

Vaya a Preferencias de perfil para obtener más información y verificar el nombre del perfil.
Para obtener más información, consulte man gnome-terminallas páginas de manual de Ubuntu en línea .
Nota :
Si tiene problemas para iniciar sus programas gnome-terminal, agregue la ubicación $PATHo cree un enlace simbólico y colóquelo en una $PATHubicación, o (lo que fue muy útil aquí): cree un script de envoltura bash simple y llame a eso en la gnome-terminallínea de comando anterior. (Debe llamarlo con una ruta absoluta: es decir, /location/of/scripty no solo con el nombre).
Como ejemplo:
#!/bin/bash
cd $HOME/.rvm/gems/ruby-2.0.0-p0/bin
spork
exit 0
Luego nombra el script, hazlo ejecutable y llámalo en la gnome-terminallínea de comando anterior. Haga esto para todos los programas no repositorios que sean problemáticos.
$PATH; especifica la ubicaciónsporky los demás con una ruta absoluta.$PATH. El método en la respuesta es el que uso para iniciar todos los programas de línea de comandos instalados en el repositorio en diferentes pestañas en la mismagnome-terminalventana, y siempre funciona, ya que esos otros programas están en $ PATH.gnome-terminal --tab -- sh -c "python3 'test.py' ; bash"este código abre una nueva pestaña en la terminal que ejecuta un script de Python y cuando termina, esta nueva pestaña no se cerrará, porque agregué 'bash' al final de este código ...
si lo quieres varias veces, ponlo en un ciclo while en tu script bash
fuente