Executar comando em outra (nova) janela do terminal


32

Como executar qualquer comando em outra janela do terminal?

Exemplo: Eu abri uma janela de terminal e, se eu executar o comando como apropos editor, então ele será executado e colocado nessa janela. Mas eu quero executar o mesmo comando em outra janela do terminal (nova janela) em vez da janela atual do primeiro terminal .

Esclarecimentos adicionais :
preciso suggest-command <command>abrir a nova janela do terminal e executar a operação mencionada <command>nessa janela (recém-aberta). (onde suggest-commandé exemplo de sugestão de comando).

Como fazer isso?


1
Clique com o botão direito do mouse no ícone do terminal e clique em "Abrir novo terminal".
Raphael

Desculpe se pareço um lamen, mas foi o que entendi da sua pergunta.
Raphael

terminal gnome certo?
Braiam

Embora abrir um novo terminal possa resolver seu problema, você também pode simplesmente usar nohup, redirecionar a saída e colocar seu editor em segundo plano. nohup apropos editor &> /dev/null &
Panther

Eu também não entendo: por que não abrir um novo terminal?
Josef Klimuk

Respostas:


29

Pode ser o que você pesquisa:

gnome-terminal -e "bash -c \"!!; exec bash\""

ou (em breve):

gnome-terminal -x sh -c "!!; bash"

Ele abre gnome-terminal com o seu último comando ( !!) executada e permanece aberta com a saída do comando no shell, mesmo com um comando interativo como topou less...

No seu caso, é:

gnome-terminal -e "bash -c \"apropos editor; exec bash\""

ou

gnome-terminal -x sh -c "apropos editor; bash"

2
Um pouco menorgnome-terminal -x sh -c "!!; bash"
TuKsn 18/06/2014

10

Inicie outra instância de qualquer terminal que você deseja executar:

xterm -hold -e 'apropos editor' & 

Observe o -hold. A maioria dos terminais sai após executar o comando que você os alimenta. Já existem uma dúzia de perguntas sobre isso no site:

Uma alternativa para isso é usar um aplicativo que precisa ser encerrado. nanopermanecerá aberto por conta própria. Se você está apenas produzindo para a tela, pode inseri-lo em less:

xterm -e 'apropos editor | less' & 

Dito isto, no seu caso (como os outros dois disseram), parece mais fácil você abrir outro terminal e executar seu comando.


Posso usar em gnome-terminalvez de xtermentão Como?
precisa

Estou curioso sobre como fazer isso com o xfce4-terminal (o xfce4-terminal abre um novo processo, enquanto o xterm não - no meu caso, eu realmente não quero um novo processo).
Shule 20/01/16

7

Cada terminal é até um programa que você pode iniciar como qualquer outro programa, &para colocar em segundo plano, fornecendo uma lista de argumentos e assim por diante.

Qual terminal usar depende primeiro da disponibilidade do sistema que você está usando (se estiver instalado ou não), depois da peculiaridade e depois do seu gosto pessoal.

  konsole   --hold -e "ls" &  
  xterm      -hold -e "ls" &  
  gnome-terminal   -e "ls" & ...  

Observe as diferenças entre -holdde xterme --holdde konsole.

Cada realização possui opções diferentes que você precisa verificar com a ajuda. Até a ajuda pode ser invocada de maneira diferente. Você pode descobrir que man konsoleisso não funciona e, portanto, você deve perguntar diretamente ao executável com --help.

Esta é uma lista de terminais que você pode pesquisar em seu sistema

aterm          - AfterStep terminal with transparency support
gnome-terminal - default terminal for GNOME
guake          - A dropdown terminal for GNOME
konsole        - default terminal for KDE
Kuake          - a dropdown terminal for KDE
mrxvt          - Multi-tabbed rxvt clone
rxvt           - for the X Window System (and, in the form of a Cygwin port, 
                 for Windows) 
rxvt-unicode   - rxvt clone with unicode support
xfce4-terminal - default terminal for Xfce desktop 
                 environment with dropdown support
Terminator     - is a GPL terminal emulator. It is available on
                 Microsoft Windows, Mac OS X, Linux and other Unix X11 systems.
Terminology    - enhanced terminal supportive of multimedia 
                 and text manipulation for X11 and Linux framebuffer
tilda          - A drop down terminal
wterm          - It is a fork of rxvt, designed to be lightweight, but still
                 full of features
xterm          - default terminal for the X Window System
Yakuake        - (Yet Another Kuake), a dropdown terminal for KDE

3

Você pode usar a -eopção gnome-terminal da seguinte maneira:

gnome-terminal -e 'sh -c propose editor'

Aqui shestá o shell que o gnome-terminal abre. Observe que isso sairá do terminal assim que o comando for finalizado. Consulte a página de manual do gnome-terminal para obter mais informações.


Como manter o novo terminal aberto, que sai após o comando terminar / terminar?
Pandya

3
  1. Abra dois terminais;
  2. Identificando cada terminal com ttycomando;
  3. Supondo que eles se identificaram com / dev / pts / 0 e / dev / pts / 1;
  4. No terminal pts / 0, redirecionando stdout para pts / 1 com o execcomando:exec 1>/dev/pts/1
  5. Agora, todo comando stdout output do terminal pts / 0 está sendo exibido em pts / 1;
  6. Redirecionando stdout de volta com commad: exec 1>/dev/pts/0
  7. Agora pts / 0 stdout funcionando como antes.

Vídeo do youtube:


1

Depois Ubuntu 18.04 LTS, você pode querer mudar a partir -ede --, ou seja gnome-terminal -ea gnome-terminal --causa -ee -xsão ambos obsoleto.


1

Aqui vão meus 50 centavos com o Terminator:

terminator -x "script.sh; bash"

Isso também funciona, mas não posso dizer a diferença:

terminator -e "script.sh; bash"

Observe que o script também pode ser um comando.

Testado no Ubuntu 18.04 LTS.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.