como posso abrir um console extra e executar um programa nele com um comando?

1

Então eu sei que se eu digitar gnome-terminal ou xterm, uma nova janela será exibida. Então eu verifiquei a página de manual para estes dois, nada relevante encontrado.

Então notei que no Mac você pode fazer isso com o programa aberto. Mas parece que no Linux não é tão trivial.

Alguém tem experiência?

    
por J.R. 09.11.2017 / 17:17

4 respostas

0

Eu preferiria usar a opção -x que fornece um trabalho mais confiável do que -e :

gnome-terminal -x bash -c "<my command or script>; exec bash"
  • A opção -x significa --execute - o restante da linha de comando dentro do terminal.

  • E nosso comando é bash -c "<commands>" . Isso significa que executamos um novo bash shell, que deve executar alguns -c "<commands>" .

  • Temos dois separados (por semicolon ; == new line ) <commands> .

  • O primeiro comando <my command or script> executará o que queremos.

  • O segundo comando exec bash tem um significado - continue aberto na janela atual gnome-terminal . Existem outras abordagens possíveis para fazer isso. No caso atual, o comando exec irá substituir a imagem do processo atual por uma nova imagem do processo - em outras palavras, "matará" o processo atual e executará um novo ( bash ) sob o atual PID.

Atualização: A sintaxe -x/-e está obsoleta - Ubuntu 18.04. A nova maneira recomendada é:

gnome-terminal -- bash -c "<my command or script>; exec bash"

Mais exemplos de uso deste formato:

por pa4080 09.11.2017 / 18:39
0

gnome-terminal -e cmd abrirá uma janela de terminal e executará cmd dentro dela.

    
por John Anderson 09.11.2017 / 18:10
0

Você pode simplesmente fazer CTRL ALT T e você abrirá um novo terminal.

Experimente gnome-terminal -e "bash -c command;bash"

    
por lapisdecor 09.11.2017 / 18:14
0

Outra abordagem que manterá a janela aberta é usar o xterm:

xterm -hold -e cmd

A opção hold mantém a janela aberta.

    
por John Anderson 09.11.2017 / 18:47