Como automatizar as instâncias de terminal de partida para tarefas específicas

10

Estou passando por alguns tutoriais de programação e para cada sessão, eu tenho que iniciar pelo menos 3 janelas de terminal (uma para um arquivo de log, uma para testar a saída, uma para executar vários comandos shell etc.)

Agora eu inicio tudo manualmente: clique no ícone Terminal, vá para a pasta correta, digite os comandos e mude o título da janela para algo significativo.

Existe uma maneira de escrever um script ou algo que possa automatizar isso para mim? E se sim, como?

(Eu sou legal em não ter um script completo como resposta. Um ponteiro para começar a ler também funcionaria.)

    
por Adam Lear 18.08.2010 / 04:14

3 respostas

9

Como você está clicando no ícone do Terminal, presumo que esteja usando gnome-terminal .

Eu tenho uma lista de opções usando gnome-terminal --help na linha de comando e lendo de lá.

Com base na resposta da maco, posso sugerir algo assim:

gnome-terminal --window --title=Log -e "tail -f /var/log/syslog" --window --title=Output --working-directory=output --window --active --title=Dev --working-directory=dev/project

Este exemplo inicia três janelas (embora você possa passar --tab para guias) e define os diretórios de trabalho (relativos a home) e os títulos de cada, inicia o comando tail em um e torna a terceira janela ativa. / p>

É claro que você pode preferir usar linhas separadas para iniciar cada janela, especialmente se você tiver muitos argumentos.

Outra coisa útil a fazer, depois de ter as janelas dispostas ao seu gosto, é usar

gnome-terminal --save-config=FILE

Isso cria um arquivo de configuração com informações nas todas janelas e guias do terminal aberto (incluindo os títulos, diretórios de trabalho e assim por diante). Ao iniciar o gnome-terminal com a opção --load-config , você recriará seu layout.

Muitos desenvolvedores que trabalham com vários terminais gostam de usar o Terminator , pois ele adiciona recursos como um layout de grade e teclado atalhos.

    
por jbowtie 18.08.2010 / 05:32
8

Qualquer emulador de terminal que você esteja usando deve ser capaz de aceitar um comando como um argumento. Por exemplo:

gnome-terminal -e "tail -f /var/log/syslog"

Basta adicionar esses comandos à sua inicialização automática no Sistema - > Preferências - > Sessões (Ubuntu) ou configurações do sistema - > Autostart (Kubuntu)

    
por maco 18.08.2010 / 04:38
4

Você também pode automatizar isso usando um script. Eu recomendo ler o Guia de Scripts Avançados do Bash ou o HOWTO de programação do Bash, junto com a página do manual para qualquer terminal que você estiver usando.

Aqui está um exemplo simples:

$ vi your-script
#!/bin/bash
gnome-terminal -e "tail -f /var/log/syslog"
gnome-terminal --working-directory=/foo/bar
gnome-terminal --whatever-else

Depois, torne-o executável:

$ chmod +x your-script
    
por anonymous 18.08.2010 / 05:32