Como automatizar o início de instâncias de terminal para tarefas específicas
10
Estou passando por alguns tutoriais de programação e, para cada sessão, tenho que iniciar pelo menos três janelas de terminal (uma para o final do arquivo de log, outra para testar a saída, outra para executar vários comandos do shell, etc.)
No momento, inicio todos eles manualmente: clique no ícone Terminal, CD na pasta da direita, digite os comandos e altere o título da janela para algo significativo.
Existe uma maneira de escrever um script ou algo que automatize isso para mim? E se sim, como?
(Eu sou legal em não obter um script completo como resposta. Um indicador de onde começar a ler também funcionaria.)
Este exemplo inicia três janelas (embora você possa passar --tabpor guias) e define os diretórios de trabalho (relativos à página inicial) e os títulos de cada um, inicia o tailcomando em uma e ativa a terceira janela.
Claro que você pode preferir usar linhas separadas para iniciar cada janela, principalmente se você tiver muitos argumentos.
Outra coisa útil a se fazer, depois de organizar suas janelas ao seu gosto, é usar
gnome-terminal --save-config=FILE
Isso cria um arquivo de configuração com informações em todas as janelas e guias abertas do terminal (incluindo os títulos, diretórios de trabalho etc.). Iniciar o terminal gnome com a --load-configopção recriará seu layout.
Muitos desenvolvedores que trabalham com vários terminais gostam de usar o Terminator , pois adiciona recursos como layout de grade e atalhos de teclado.
Fazer dessa maneira com o sinalizador -e fará com que a janela seja fechada assim que o comando for executado? E se sim, é possível fazer com que a janela permaneça aberta?
emf
8
Qualquer que seja o emulador de terminal que você esteja usando, poderá aceitar um comando como argumento. Por exemplo:
gnome-terminal -e "tail -f /var/log/syslog"
Basta adicionar esses comandos à sua inicialização automática em Sistema -> Preferências -> Sessões (Ubuntu) ou Configurações do Sistema -> Inicialização Automática (Kubuntu)
Você também pode automatizar isso usando um script. Eu recomendo a leitura do Advanced Bash Scripting Guide ou do Bash Programming HOWTO, junto com a página de manual do terminal que você estiver usando.
Qualquer que seja o emulador de terminal que você esteja usando, poderá aceitar um comando como argumento. Por exemplo:
Basta adicionar esses comandos à sua inicialização automática em Sistema -> Preferências -> Sessões (Ubuntu) ou Configurações do Sistema -> Inicialização Automática (Kubuntu)
fonte
Você também pode automatizar isso usando um script. Eu recomendo a leitura do Advanced Bash Scripting Guide ou do Bash Programming HOWTO, junto com a página de manual do terminal que você estiver usando.
Aqui está um exemplo simples:
Em seguida, apenas torne-o executável:
fonte
exec
tudo isso?