Execução de script com terminal via opção de comando

1

Eu implementei a resposta para esta questão e agora a barra de título desapareceu do terminal. Eu achei que o script python decorator.py teve que executar duas vezes para ter o efeito aplicado. Em vez de digitar ./decorator.py duas vezes toda vez que iniciei um novo terminal, criei maximize para executar o script duas vezes. Este script é direcionado para Ctrl-Alt-Y.

Atualmente eu usei

gnome-terminal --maximize -e /home/jason/maximize

gnome-terminal --maximize -x /home/jason/maximize

como argumentos para Ctrl-Alt-T.

A questão é que posso ver o esboço de um novo terminal flash na tela, mas ele não existe por mais de uma fração de segundo. Como posso tornar a nova janela mais persistente?

    
por Jason 05.11.2011 / 15:17

1 resposta

2

A opção -x para gnome-terminal ou, da mesma forma, a opção -e para outro terminal compatível com xterm aplicativos, informe ao emulador de terminal para iniciar o comando seguindo a opção -x / -e e, em seguida, saia. Esta é a razão pela qual você está vendo o contorno do terminal piscar e desaparecer: o terminal inicia, maximiza e depois sai.

Você pode incluir o comando maximize no seu .bashrc ou .profile , para que seja executado sempre que um shell for iniciado.

No entanto, como ele é executado toda vez que um shell é iniciado, você precisa encontrar uma maneira de executá-lo somente quando o shell é iniciado a partir do aplicação do terminal. No meu sistema Ubuntu 11.04, o seguinte faz o truque:

if [ -n "$DISPLAY" ] && [ "$SHLVL" = 1 ]; then
  # the following commands are only executed when
  # the shell runs inside a terminal
  maximize
fi

A parte -n "$DISPLAY" testa se há uma exibição gráfica X11 ativa, e a parte $SHLVL verifica se esta shell é shell de primeiro nível, isto é, um filho direto da aplicação do terminal (um shell pode iniciar outro shell para executar comandos ou script, mas neste caso o O valor $SHLVL será maior que 1).

    
por Riccardo Murri 05.11.2011 / 16:32