Como executar streamripper e mplayer em um terminal X de tela dividida, por meio de um único script

5

Eu quero executar o streamripper em seu próprio X Terminal (janela), depois dividir o terminal horizontalmente e depois rodar o mplayer na metade inferior.
Isso é simples o suficiente para fazer manualmente, mas não consigo fazer um script fazer isso.

mplayer não pode ser executado imediatamente. Ele precisa esperar por dados de fluxo, portanto, um teste para isso seria melhor que "wait x seconds" (que é efetivamente o que o método manual faz.

Se o terminal for significativo para isso, qualquer coisa servirá, mas atualmente eu instalei o konsole, o gnome-terminal e o terminator (no Ubuntu)

    
por Peter.O 01.07.2011 / 10:15

1 resposta

4

Embora alguns programas de terminal tenham suporte para divisão, você não poderá acessar essa funcionalidade a partir do shell que está sendo executado em uma camada diferente e não tem acesso ao software que o exibe.

O que você pode fazer é usar um multiplexador de terminal, como GNU Screen ou tmux , que permite a execução de vários shells em "painéis" dentro de um console.

A tela existe desde o início dos tempos e funciona, mas ultimamente o projeto caiu em desuso e não está sendo bem mantido. O Tmux é um novo player em cena, mas o código é muito claro e maduro, tem mais algumas características que a tela, e é muito mais fácil de aprender e configurar. Mesmo que eu ainda use a tela fora do vigor, eu recomendo que você use o tmux para isso.

Você deve ser capaz de escrever um script que inicie uma sessão tmux, execute seu código streamripper em um painel, aguarde uma condição, adicione outro painel à mesma sessão, exiba-o como uma tela dividida e execute o mplayer em o novo painel.

    
por 01.07.2011 / 10:23