Eu sei que gnome-terminal
abrirá uma nova janela, gostaria de saber se existe uma maneira de abrir uma nova guia, não apenas uma nova janela?
Depois disso, existe uma maneira de passar um comando para a nova janela, por exemplo
gnome-terminal && cd /
O que resultará em
- Abre Novo Terminal
- Novo Terminal então é executado
cd /
[Editar] Será que essas respostas vão dizer como passar cmds para outro terminal, não responde como abrir uma nova TAB . Que é o que estou procurando, não quero mais de um terminal aberto.
GNOME Terminal
não oferece nenhuma solução de linha de comando genérica para abrir uma nova guia em uma janela já existente.(Por quê? Porque pode ter várias janelas abertas e não saberia em qual abrir a nova guia. Você pode dizer que só tem uma janela, mas se tal recurso fosse implementado, o software precisaria ser consistente e precisa fazer algo razoável quando tinha várias janelas, o que realmente não poderia fazer.)
Hacks, como simular o usuário pressionando uma tecla, existem de acordo com uma resposta já arquivada, mas funcionam apenas no X.Org, não no Wayland.
A partir da próxima versão 3.28, o comando
gnome-terminal --tab
abrirá uma nova guia na janela do Terminal GNOME de onde este comando é executado, se este comando for executado de dentro do Terminal GNOME.(Como ele sabe em qual janela abrir a nova guia neste caso? Ele sabe definindo uma determinada variável de ambiente antecipadamente com um valor diferente em cada um dos terminais que abre. Essa variável de ambiente permite localizar a janela desejada.)
Então, para o seu caso particular, você poderia fazer:
Dessa forma, você obtém um shell em execução na nova guia assim que o
cd /
estiver concluído. Se você acabou de fazer issognome-terminal --tab -- some command
, a guia será fechada imediatamente após asome command
saída. Ao usarbash -c 'some command; exec bash'
em vez disso, a guia terá umbash
processo em execução assim que forsome command
concluída.Você deve simular pressionando shift+ ctrl+ Tno terminal. Existem programas para fazer isso:
Se você quiser fazer isso na linha de comando
Por exemplo, você pode usar
xdotool
- um programa que permite simular a entrada do teclado.depois digite no terminal:
Isso simulará o pressionamento da combinação de teclas.