Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouRachel Isabel Alterado mais de 10 anos atrás
1
Trabalho de Formatura - MAC499 Bruno Takahashi C. de Oliveira http://www.linux.ime.usp.br/~btco Projeto: Omnitty http://omnitty.sf.net Orientador: Prof. Arnaldo Mandel 2005-11-15
2
Objetivo Interagir com várias máquinas ao mesmo tempo via SSH Poder interagir com cada máquina individualmente Poder interagir com várias máquinas simultaneamente (replicar digitações para todas) Visualizar o que cada máquina está fazendo público alvo: administradores de redes parcial ou totalmente homogêneas; power-users
3
Problema a solucionar admin
4
Problema a solucionar admin root# _ terminal
5
Problema a solucionar admin ssh foo máquina foo terminal
6
Problema a solucionar admin ssh foo máquina foo terminal ssh bar máquina bar terminal
7
Problema a solucionar admin ssh foo máquina foo terminal ssh bar máquina bar terminal ssh qux máquina qux terminal
8
Problema a solucionar Para algumas poucas máquinas, esse método funciona. Mas com 50 máquinas (Rede Linux), isso se torna ineficiente: – Como abrir os terminais (script?) – Como alternar entre os terminais (tela cogestionada) – Como saber, com uma olhada rápida, o que as máquinas estão fazendo? – Como mandar uma mesma digitação para 26 máquinas?
9
Solução adotada pelo Omnitty admin
10
Solução adotada pelo Omnitty admin omnitty terminal
11
Solução adotada pelo Omnitty admin omnitty terminal ptysshptysshptyssh
12
Solução adotada pelo Omnitty admin omnitty máquina foo terminal máquina bar máquina qux ptysshptysshptyssh
13
Histórico - Predecessores script espalha da Rede Linux (bash) – não interativo (precisava-se programar um script para rodar nas máquinas) – serial, só uma máquina da rede trabalhava de cada vez – precisava de atenção constante do admin espalha reloaded (perl) – paralelizável: scripts rodavam em todas as máquinas simultaneamente; a demora de uma não impedia as outras – porém, ainda não era interativo
14
Histórico - Predecessores tentativa: usar o expect – muito complicado e dispendioso elaborar um script expect para tarefa – imprevistos acontecem tentativa: GtkEspalha, usando Vte Term Widget – precisaria do X para rodar; é comum não haver X em servidores – precisaria do Gtk2, Pango, ATK, etc, etc - indisponíveis na época no Debian stable
15
Conceitos Unix envolvidos fork, exec tratamento de SIGCHLD, monitoramento de processos filhos pseudo-tty (terminais virtuais) emulação de terminal ***
16
Emulação de Terminal ptyssh \x1B[1;25H\x1B[1;32m \x1B[KHello\x1B[2;25H \x1B[1;33mworld\x1B[0m ??? Hello world
17
Emulação de Terminal \x1B[1;25H\x1B[1;32m \x1B[KHello\x1B[2;25H \x1B[1;33mworld\x1B[0m Hello world biblioteca ROTE http://rote.sf.net
18
Por que uma biblioteca nova? essa funcionalidade é implementada pelo console linux, pelo xterm, pelo rxvt, pelo gnome-terminal, etc. Por que reinventar a roda? – porque em nenhum desses programas a funcionalidade de emulação está isolada; está encrustrada nos programas/drivers/widgets por que não usar termcap/terminfo? – eles são bons para converter o que quero fazer em sequências de escape, não sequências de escape em o que isso faz, que é o que precisamos.
19
Situação atual ambos: Omnitty e ROTE estão no SourceForge omnitty: http://omnitty.sf.net – total de 460 downloads desde novembro/2004 rote: http://rote.sf.net – total 1366 downloads desde novembro/2004 rote está sendo usada no projeto AnyTerm http://anyterm.org ambos vêm recebendo contribuições na forma de feature requests, sugestões e patches.
20
FIM
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.