XTerm -e com retorno de chamada

0

Se eu executar um programa usando a opção -e para xterm e fechar este programa, então xterm também será fechado, por exemplo

xterm -hold -e "nano"

A janela (i3wm) ainda está lá, mas está vazia e eu não consigo fazer nenhuma entrada. Como executar o xterm como no exemplo acima com um requisito adicional, um callback para xterm se eu fechasse nano?

O que posso fazer é:

xterm -hold -e "nano;bash"

Mas eu não entendo, porque eu tenho que começar uma concha como bash novamente. Eu pensei que xterm já deveria rodar um shell.

    
por Hölderlin 10.05.2017 / 03:50

1 resposta

2

xterm -hold -e cmd executará cmd em uma nova janela xterm e manterá a janela exibida após o comando ter saído (normalmente, ela fecha a janela).

Se você quiser um shell interativo na janela depois de executar um comando inicial,

xterm -e 'cmd; bash'

fará isso. Não há necessidade de -hold , pois a janela não fecha até que a sessão do shell seja encerrada.

xterm pode ser usado para executar qualquer programa. Por padrão, ele executa um shell, mas com -e você altera esse comportamento padrão. xterm -e mutt , por exemplo, executaria o leitor de e-mail mutt em vez de um shell.

    
por 10.05.2017 / 09:36

Tags