Como manter o terminal aberto (exceto o terminal gnome)?

1

Acho útil o recurso gnome-terminal de editar (e criar) perfis com a opção de manter o terminal aberto após o comando existir.

(Eugostodeusarogerenciadordearquivosdemenudecontextoparaexecutarcomandosparaexibirinformaçõessobreumarquivoemumterminal,paramostrarinformaçõesemumterminalduranteoprocessamento,etc.)

Nãoconseguiencontraromesmorecursoemoutrosterminais,porissoprecisoinstalarognome-terminalmesmoquandonãoéoterminalpadrão.

Existemoutrosemuladoresdeterminalcomesserecurso?Existeumcomandoparaserusadoemumdeterminadoterminalqueteriaomesmoefeito?

Euquero,comumaúnicalinha(aseradicionadacomoentradadomenudecontexto),abriroterminal,executarumcomandoeexibirinformaçõesnajaneladoterminalquepermaneceaberta.Exemplo:emarquivosdepanteão(elementaryos)euadicionoumaentradademenudecontextoparainformaçõesdemídiausandoumarquivodecontratantecomumalinhacomoExec=xterm-hold-e"mediainfo -i %f" (de acordo com um comentário abaixo) ou Exec=gnome-terminal --window-with-profile=new1 -e "mediainfo -i %f" .

    
por cipricus 23.05.2015 / 14:08

4 respostas

5

Você pode conseguir isso em qualquer emulador de terminal pelo simples expediente de organizar o programa para não sair sem a confirmação do usuário. Diga ao terminal para executar o terminal_shell_wrapper , que é um script contendo algo como

#!/bin/sh
if [ $# -eq 0 ]; then "${SHELL:-sh}"; else "$@"; fi
echo "The command exited with status $?. Press Enter to close the terminal."
read line

Se você quiser pressionar qualquer tecla para fechar a alteração do terminal read line para

stty -icanon; dd ibs=1 count=1 >/dev/null 2>&1
    
por 25.05.2015 / 01:28
3

Existem outros terminais que têm opções para manter o terminal aberto, alguns especificando um perfil com essa configuração ativada (assim como no Terminal do Gnome ) e alguns com um argumento específico.

Xterm

xterm -hold

de $ (man xterm):

-hold Ative o recurso suspenso, ou seja, o xterm não destruirá imediatamente sua janela quando o comando do shell for concluído. Ele irá esperar até você usar o gerenciador de janelas para destruir / matar a janela, ou se você usar as entradas do menu que enviam um sinal, por exemplo, HUP ou KILL.

executando xterm --help , uma das linhas é

-/+hold turn on/off logic that retains window after exit

Para ver se outros terminais têm uma opção semelhante, consulte sua ajuda ou página do manual.

Konsole

(padrão no KDE):

konsole --help mostra esta linha:

--hold, --noclose Do not close the initial session automatically when it ends.

Portanto, o comando a ser usado para o Konsole incluirá:

konsole --hold ou konsole --nonclose . Não precisa de aspas. Pode ser algo como:

Exec=konsole --hold -e mediainfo -i %f

Xfce4-terminal

Tab Options:
  -x, --execute; -e, --command=command; -T, --title=title;
  --working-directory=directory; -H, --hold

Então:

xfce4-terminal -H -e '<command>'

Terminator

Tem uma opção semelhante à do Gnome Terminal, você tem que criar um perfil - por exemplo, chamado "hold" - com essa opção ativada.

Para executar o comando e permanecer aberto:

terminator -e '<command>' -p hold .

    
por 26.05.2015 / 03:50
1

por que não tentar o guake? Ele está sempre sendo executado em segundo plano e, quando você quiser usá-lo, pressione a tecla de atalho que será exibida!

Para mais detalhes, clique aqui

    
por 26.05.2015 / 10:26
0
some_command | cat - /dev/tty

... vai funcionar com qualquer coisa, praticamente. Se o ativador que você usa não manipular corretamente pipelines em um comando, você pode querer ...

sh -c 'some_command | cat - /dev/tty'

Você pode enviar uma interrupção com CTRL+C para matar cat e terminar a sessão, ou então apenas feche a janela do terminal quando estiver pronto.

    
por 26.05.2015 / 06:47