Pregunta

Estoy trabajando en un servidor del lado del proyecto que consta de varios servicios.Cada servicio se ejecuta en interactivo (es decir,no-daemon) modo, esto es útil, mientras que activa el desarrollo.El proyecto es en el virtualenv.Así que la forma típica para iniciar un servicio es:

$ cd ~/to/vitualenv/subdir/where/service/code/located
$ source ../path/to/virtualenv/bin/activate
$ ./script-to-start-service
+ Set title of terminal to the service name via GUI

Sería aceptable si no eran 2-3 servicios en todo.Pero tenemos una docena.Y reiniciar todo después de que se reinicie la computadora es un verdadero dolor de cabeza.

Así que lo que quiero es un script, que una vez ejecutado abre nuevas gnome-terminal de la ventana con una docena de pestañas con nombre (uno por cada servicio), activado con virtualenv en cada uno y en ejecución montón de instancias de servicio en que fichas.El mejor resultado que he conseguido hasta ahora es:

$ gnome-terminal --working-directory=~/to/vitualenv/subdir --window --tab --tab

--de título y-el perfil se parece a sido ignorados y si --comando se especifica ventana recién abierta, se cierra justo en el momento después de abrir.

Alguna idea?Cómo fuente de activación de la secuencia de comandos, darle un título, y ejecutar el servicio?

P. S.Es para propósitos de desarrollo solamente, no para la implementación de servidores reales.

¿Fue útil?

Solución

Los siguientes obras para mí y no se lo que solicitó:

gnome-terminal --working-directory=/path/to/wd --tab-with-profile=profile1 --title=title1 -e 'bash --rcfile /path/to/rcfile1.sh' --tab-with-profile=profile2 --title=title2 -e 'bash --rcfile /path/to/rcfile2.sh'

Otros consejos

Crear un perfil de gnome-terminal llamado "servicio" (Editar> Perfiles> Nuevo).

Editar> Preferencias> Perfil Título y comandos> Ejecutar un comando personalizado en lugar de mi concha, establecen el comando personalizado a:

bash --rcfile ../path/to/virtualenv/bin/activate

A continuación, utilice gnome-terminal para lanzar sus servicios. El siguiente comando inicia dos instancias de yes en pestañas en diferentes directorios. He roto el comando en tres líneas, pero debe escribirlo como una sola línea.

gnome-terminal
--tab-with-profile=service --working-directory=/home/$USER/data --title="feelgood" --command="yes"
--tab-with-profile=service --working-directory=/code --title="negative" --command="yes no"

En lugar de llamar directamente a activar, es posible que desee crear un archivo para utilizarlo como su comando personalizado:

source ~/.bashrc
source ../path/to/virtualenv/bin/activate

También puede añadir comandos (como el cambio de directorio o el lanzamiento de su servicio). Sólo ten en cuenta que cada vez que abra un terminal con ese perfil, los comandos se ejecutan.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top