Iniciar gnome-terminal com várias abas e serviços VIRTUALENV, pré-intitulado
-
19-09-2019 - |
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 ??p>
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.
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.