Pergunta

Eu estou trabalhando em um projeto do lado do servidor que consiste de vários serviços. Cada serviço é executado no modo interativo (ou seja, não-daemon), este é útil ao desenvolvimento ativo. O projeto está em virtualenv. Assim, a maneira típica para iniciar um serviço é:

$ 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

Seria ok se houvesse 2-3 serviços em tudo. Mas nós temos uma dúzia. E reiniciar todos eles após a reinicialização do computador é uma dor real.

Então, o que eu quero é um script, que, uma vez executado me abre nova janela gnome-terminal com uma dúzia de guias denominadas (um por serviço), com virtualenv activado em cada um e em execução monte de instâncias de serviço em que guias. O melhor resultado que eu tenho até agora é:

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

-. Título e olhares --profile como foram ignoradas e se --command é especificado janela aberta é fechada apenas no momento após aberta

Todas as idéias? Como roteiro ativação fonte, dar um título, eo serviço executado?

P.S. É para fins de desenvolvimento, e não para implantação em servidores reais.

Foi útil?

Solução

As seguintes obras para me e fazer o que você pediu:

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'

Outras dicas

Crie um perfil gnome-terminal chamado "serviço" (Edit> Perfis> New).

Em Edit> Perfil Preferências> Título e Comando> Executar um comando personalizado em vez da minha concha, coloque o comando personalizado a:

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

uso Então gnome-terminal para lançar seus serviços. O comando a seguir inicia duas instâncias do yes em abas em diferentes diretórios. Eu quebrei o comando em três linhas, mas você deve inseri-lo como uma linha.

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"

Em vez de chamar diretamente ativar, você pode querer criar um arquivo para usar como seu comando personalizado:

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

Você também pode adicionar comandos (como o diretório de mudança ou o lançamento de seu serviço). Só cuidado que cada vez que você abrir um terminal com esse perfil, os comandos são executados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top