Como iniciar dois aplicativos do Ubuntu de uma só vez?

6

Vamos supor que haja dois arquivos binários, por exemplo, XXX e YYY , no destino /usr/bin/ . Eu quero começar de uma vez, sempre! Em outras palavras, quando eu digito o nome de um dos que estão na unidade, quero fazer ambos começarem. Como eu poderia alterar os arquivos correspondentes no destino /home/username/.local/applications/ para fazer isso? Eu tentei este /usr/bin/XXX;/usr/bin/YYY; no terminal, mas parece que não funciona.

    
por user88349 27.02.2013 / 11:05

4 respostas

7

Pelo que entendi, você precisa editar o arquivo .desktop . Adicione esta linha ao lado de Exec :

sh -c "/usr/bin/XXX & /usr/bin/YYY"

O sinalizador -c informa ao shell que ele deve ler os comandos da string, em vez da entrada padrão.

Se você usar apenas /usr/bin/XXX & /usr/bin/YYY , não funcionará. Apenas para adicionar o motivo pelo qual & não funciona em um ativador, é porque & é um recurso do shell, e o ativador não é um shell, é um ambiente muito mais simples para executar comandos.

    
por efthialex 27.02.2013 / 11:30
2
/usr/bin/app_first & 
/usr/bin/app_second

Uso de '& amp;' você está enviando o processo para o segundo plano.

    
por bluszcz 27.02.2013 / 11:18
1

Você deve usar

/usr/bin/XXX && /usr/bin/YYY;

Observe o uso de && (não é necessário usar & para executar algo em segundo plano).

    
por don.joey 27.02.2013 / 11:19
0

Você precisará adicionar os nomes dos comandos XXX e YYY em um diretório em um ponto anterior no caminho de pesquisa. Para esse comando, o arquivo nomeado executará o XXX e o YYY originais usando os nomes de caminho completos / usr / bin / XXX e / usr / bin / YYY. Isso evita que o script volte a ser executado para sempre em um loop (ou até o computador ficar sem memória). Uma alternativa para isso é substituir os comandos pelo seu script e mover os comandos originais para outro caminho, como / usr / local / bin.

Esse script precisa executar / usr / bin / XXX e / usr / bin / YYY em segundo plano para que eles sejam executados ao mesmo tempo. A maneira clássica de fazer isso é:

/usr/bin/XXX &
/usr/bin/YYY

Como descrito por bluszcz acima. Você também pode querer colocar o "& amp;" no segundo comando também. Uma maneira alternativa de colocar estes comandos mais silenciosamente em segundo plano é a tela, que pode ser codificada no script assim:

screen -dmS XXX /usr/bin/XXX
screen -dmS YYY /usr/bin/YYY

Isso pode ter a vantagem nos casos em que você pode querer ir ver o progresso dos comandos sem fazer logging, bu usando a tela para anexar as sessões que cria.

    
por Skaperen 27.02.2013 / 15:18