Script simples de inicialização não está se comportando

0

Então eu tenho um pequeno script que deve lançar duas janelas de terminal na inicialização. Eu adicionei-o aos aplicativos de inicialização e ele está em ~/.local/bin , que existe no meu $PATH . Aqui está o script:

#!/bin/bash

sleep 5 &&

mate-terminal --geometry=87x47+0+0
mate-terminal --geometry=87x47+802+0

Agora, quando eu o executo a partir de um terminal existente ou via Alt + F2 (Ubuntu Mate) ele funciona corretamente (embora as dimensões verticais não ultrapassem 46, apesar de uma entrada de 47). Eu gostaria que ele "fechasse" entre meus painéis superior e inferior, mas está perto o suficiente por enquanto.

A minha principal preocupação é que, quando reinicio, apenas a primeira janela é iniciada. A segunda janela é iniciada apenas depois de eu ter fechado a primeira. Funcionaria se eu enviasse a primeira janela para o segundo plano adicionando um & ?

    
por Arie vW 09.09.2017 / 18:47

1 resposta

2

Seu roteiro é basicamente isto:

sleep 5 && mate-terminal --geometry=87x47+0+0
mate-terminal --geometry=87x47+802+0

Isso significa "espere cinco segundos e, em seguida, inicie o terminal, quando isso for feito, inicie o segundo terminal". "Concluído" significa que o terminal saiu e deu o controle de volta ao script.

O que você provavelmente quer é

sleep 5
xtoolwait mate-terminal --geometry=87x47+0+0
xtoolwait mate-terminal --geometry=87x47+802+0

xtoolwait retornará o controle para o restante do script assim que o cliente X que estiver iniciando (o terminal) tiver mapeado sua janela.

xtoolwait deve ser instalado com o software do seu servidor X, mas se não estiver, ele deve estar disponível como um pacote da sua distribuição comum.

Se isso falhar (parece ter sido removido como um pacote Debian e Ubuntu), você pode usar

sleep 5
mate-terminal --geometry=87x47+0+0 &
mate-terminal --geometry=87x47+802+0 &

para iniciar os terminais como processos em segundo plano, como você mesmo sugeriu.

Quando me preocupei pela última vez com a aparência da área de trabalho, há mais de 15 anos, xtoolwait fazia parte da distribuição X11 padrão, se bem me lembro. Desde então, comecei a executar um aplicativo por área de trabalho virtual e raramente uso nada além de um terminal com tmux e um navegador.

Estou um pouco surpreso ao ver que xtoolwait não faz mais parte do pacote X11 padrão, mas presumo que o mundo continuará sem ele.

Use apenas & no final dos comandos.

    
por 09.09.2017 / 18:52