Aba programaticamente aberta no gnome-terminal, execute o comando e mantenha a aba aberta

12

Estou tentando escrever um comando que iniciará algumas guias de terminal, executará algo em cada guia e fará com que cada guia permaneça aberta após o comando terminar, para que eu possa ver a saída e digitar mais comandos em cada guia

algo como isto:

gnome-terminal --tab -e "ls -a" --tab -e "ls"

mas o problema é que as guias fecham assim que os comandos "ls" terminam. Alguém sabe como manter as guias abertas?

    
por Mark 04.08.2010 / 01:57

2 respostas

11

O Gnome-terminal pode executar um comando ou abrir um shell, mas não ambos.

Existe uma solução para fazer as duas coisas, encapsulando o comando e a subsequente invocação do shell em um único comando.

$ gnome-terminal -e "bash -c \"echo foo; echo bar; exec bash\""

Para mais alternativas, leia a minha resposta a uma pergunta semelhante sobre estouro de pilha: link

    
por 21.08.2010 / 02:29
10

Se você tiver xdotool e wmctrl instalado, o seguinte script de shell poderá funcionar:

#!/usr/bin/env bash

window="$(xdotool search --class gnome-terminal | head -1)"
xdotool windowfocus $window
xdotool key ctrl+shift+t
xdotool type "$*"
xdotool key Return

Eu uso assim:

$ run-in-new-tab 'ls -l'

Eu encontrei essa ideia no Blog da Trustin Lee .

    
por 04.08.2010 / 05:59