Quais são as virtudes da multitarefa com o controle de trabalho tradicional vs Tmux / Screen?

4

O tmux e a tela permitem executar diferentes processos (por exemplo, vim, script bash, mysql, psql, etc) em diferentes janelas virtuais. Mas o controle de tarefas tradicionais do Unix (usando CTRL-z, fg, bg e jobs) parece dar a você algumas das mesmas funcionalidades.

Há alguma vantagem de multitarefa usando o controle de trabalho tradicional sobre as maneiras mais recentes via tmux e tela?

    
por dan 26.05.2011 / 17:24

2 respostas

3

Suponha que você acabou de iniciar um programa fora da tela. De repente, você percebe que queria fazer outra coisa naquele terminal. Ctrl+Z .

A tela e o tmux introduzem uma camada de isolamento entre o aplicativo e o terminal. Isso nem sempre é bom. Por exemplo, eu acho a sua rolagem muito menos conveniente do que a do xterm, então raramente uso tela, a menos que eu pretenda (ser capaz) de me conectar a essa sessão remotamente.

Se você configurou variáveis de ambiente, um diretório atual e outros parâmetros em um shell (que podem estar em uma janela de tela), carregando essas configurações para uma nova janela de tela, podem ser trabalhosos. É conveniente poder executar vários programas nesse terminal.

Às vezes, você quer executar um programa em segundo plano e não precisa mais fazer nada: nohup program & disown %- .

Se você tiver um aplicativo GUI que, ocasionalmente, se comporta mal, pode ser conveniente iniciá-lo a partir de um terminal e fg; Ctrl+C ou kill %1 se necessário.

O ecrã e o tmux podem não estar instalados.

    
por 26.05.2011 / 23:27
2

A facilidade de uso seria o principal motivo. É muito mais conveniente alternar entre telas usando atalhos de teclado do que usar os recursos de controle de tarefa. Além disso, com o Screen, todas as janelas são conectadas a um terminal virtual separado, enquanto que, com o controle de tarefas, você precisa suspender o processo ou permitir que ele seja executado no segundo plano do ambiente.

Por último, mas não menos importante, o controle de trabalho tradicional não permite que você se conecte a uma sessão existente nem a compartilhe com outras pessoas.

    
por 26.05.2011 / 21:07