[Dicas-L] eXtreme Programming com screen
Data de Publicação: 05 de Julho de 2004
O aplicativo screen é um gerenciador de sessões, que permite múltiplas conexões a partir de uma tela de aplicativo (ssh, telnet, etc.).
Eu uso muito em minha casa. A partir de uma janela do xterm, eu me conecto em um computador remoto e crio diversas sessões remotamente, uma lendo email, outro editando um site, e assim por diante.
Ao chegar ao computador remoto, digito screen. Para abrir novas sessões basta digitar <CTRL-A><CTRL-C>. Posso criar desta forma diversas janelas. Para passar de uma para outra, digito <CTRL-A><CTRL-N> e desta forma vou circulando pelas sessões criadas. Para alternar entre duas sessões apenas, digito <CTRL-A><CTRL-A>.
Um uso interessante e pouco explorado é o uso do screen para trabalho colaborativo, algo na linha do eXtreme Programming com seu parceiro a centenas de quilometros de distância.
O trecho a seguir foi traduzido de uma discussão no Slasthdot:
Um dos recursos menos utilizados do screen é a sessão multi-usuário. Eu já usei isto para fazer desenvolvimento de software à maneira do XP com um colega que estava trabalhando a 900 milhas de distância.
Eu fiz assim: abrir o screen com um arquivo de configuração screenrc temporário contendo as seguintes linhas:
addacl other_username
Observe que eu que eu uso a opção detach para o screen. Digite "screen -ls" para obter o nome da sessão (para a outra pessoa), então digite "screen -r" para reconectar (reattach). A outra pessoa faz então uma conexão via ssh para a minha máquina e digita "screen -s nome-da-sessão". É possible criar um script para fazer tudo isto mais fácil.
Nós então conversamos por telefone (headfones altamente recomendados) enquanto digitamos simultaneamente na tela como vi. É divertido porque então começamos a gritar um para o outro "Não, não, deixe EU digitar". Ainda assim, estas sessões estão entre as minhas mais produtivas porque nós podemos pegar os erros uns dos outrso e programar as partes do programa em que temos mais conhecimento.
O programa screen faz parte da maioria das distribuições GNU/Linux. A seguir reproduzo a descrição do pacote: