Esse é o primeiro artigo de uma série que irei escrever sobre o modo texto. A série tem como objetivo principal explorar a possibilidade de usar um computador com Linux sem o uso de um servidor X. Neste artigo será tratado um excelente cliente MSN em modo texto - o Pebrot.
Processador: Pentium 4
Memória: 512 MB
Sistema Operacional: Debian GNU/Linux 4.0
Versão do Pebrot: 0.8.8
Editor de Textos: VIM 7.0.122
Período dos testes: Novembro-Dezembro/2006
Neste artigo vou tratar do Pebrot, que é um cliente MSN em modo texto, registrado na GPL. Ela foi escrito em Python e possui uma interface interativa baseada em curses. Pretendo fornecer as noções mais elementares para o uso dele, já que a documentação é pouca e a interface, a princípio, estranha. Mas, mais importante que isso, e ao que pretendo dar maior destaque, é responder a seguinte pergunta: "Por que usar o Pebrot e não qualquer outro?". Pretendo enfatizar as qualidades um pouco mais avançadas e únicas do software.
Para usar o Pebrot você vai precisar de:
Vontade;
1 computador;
1 teclado;
1 sistema operacional GNU/Linux (embora enfatize o funcionamento no Linux, segundo o desenvolvedor também funciona em outros *nix. Não testei);
o interpretador Python 2.2 ou superior instalado (em geral as distribuições já trazem ele instalado).
Recursos opcionais:
Um editor de textos (para o personalizações);
Conhecimento sobre shell script (verá como pode ser útil);
Gosto por ascii art (não será muito útil, mas é divertido).
(recomendo que verifique se não saiu uma nova versão do programa)
Não se assuste, é um arquivo de apenas 83 KB mesmo!
Para instalar basta descompactar o pacote e executar [como root] o arquivo setup.py passando como parâmetro a opção 'install'. Ou seja:
$ tar -zxvf pebrot-0.8.8.tar.gz
$ cd pebrot-0.8.8
# python setup.py install
Pronto.
Há no README a descrição de como gerar um pacote tgz. Basta substituir o parâmetro 'install' pelo parâmetro 'bdist'. Após, é possível converter o pacote tgz para pacotes nativos de outras distros (rpm e deb) através do alien. Não vou entrar nessa questão.
Os arquivos do Pebrot ficarão espalhados por 5 locais distintos:
~/.pebrot/ - é a pasta onde ficam armazenados o arquivo de configuração e os logs de cada usuário particular;
/usr/lib/python?.?/site-packages/pypebrot/ - onde estão armazenados os arquivos principais do Pebrot, onde "?.?" corresponde à versão do Python;
/usr/bin/ - é a pasta onde está o script de execução do Pebrot (que faz uso dos arquivos dispostos na descrição anterior);
/usr/share/doc/pebrot/ - arquivos de documentação do pebrot e utilitários relativos ao Pebrot;
/usr/share/locale/ - arquivos de tradução do Pebrot. Atualmente o Pebrot suporta o inglês (es), Português de Portugal (pt_PT) e Português do Brasil (pt_BR).
É interessante observar que quase todos os arquivos que o Pebrot faz uso são escritos em Python ou em texto puro, o que permite que o usuário modifique suas configurações e o próprio programa com qualquer editor de textos.
[2] Comentário enviado por removido em 03/01/2007 - 10:00h
recomendo que deem uma olhada no msnp http://msnp.sourceforge.net/ ele é escrito em python e usa curses, é muito bonito e bem feito, levicimo e um forte concorrente.
[4] Comentário enviado por fsamoreira em 03/01/2007 - 12:02h
o problema que eu encontrei no msnp é principalmente o fato de que a última atualização dele é de janeiro de 2004. ou seja, a 3 anos que não mechem nele
[11] Comentário enviado por EdDeAlmeida em 04/01/2007 - 20:21h
Muito bom o pebrot! Gosto de programar no console, mas como tenho de dar assistência a alguns clientes via MSN, acabava ficando preso ao X. Agora posso preogramar em paz, com o pebrot noutro terminal. Vou hackear o código para ver se implemento algumas coisas, como avisos quando chegam mensagens e coisas assim.
Obrigado.
[12] Comentário enviado por tenchi em 07/01/2007 - 18:36h
Ah, você disse que vai escrever sobre o screen. Não sei se você já viu, mas no site do Aurélio tem bastande coisa sobre este programa. Na verdade foi lá que eu aprendi sobre o screen.
[15] Comentário enviado por rafa-ctba em 03/06/2007 - 23:33h
Estou com o seguinte problema ao tentar entrar pelo pebrot:
Traceback (most recent call last):
File "/home/daniel/.pebrot/pebrot", line 16, in <module>
pypebrot.pebrot.main()
File "/home/daniel/Desktop/pebrot-0.8.7/pypebrot/pebrot.py", line 1886, in main
curses.wrapper( gogogo )
File "curses/wrapper.py", line 44, in wrapper
File "/home/daniel/Desktop/pebrot-0.8.7/pypebrot/pebrot.py", line 1848, in gogogo
con.loopInput()
File "/home/daniel/Desktop/pebrot-0.8.7/pypebrot/pebrot.py", line 1524, in loopInput
self.oneStep()
File "/home/daniel/Desktop/pebrot-0.8.7/pypebrot/pebrot.py", line 1454, in oneStep
st= self.Text.getLine( self.handleInput, self.step )
File "/home/daniel/Desktop/pebrot-0.8.7/pypebrot/ui.py", line 250, in getLine
idleFunc()
File "/home/daniel/Desktop/pebrot-0.8.7/pypebrot/MSN.py", line 920, in step
self.processMsgs()
File "/home/daniel/Desktop/pebrot-0.8.7/pypebrot/MSN.py", line 1004, in processMsgs
msg= Msg( res[1] )
File "/home/daniel/Desktop/pebrot-0.8.7/pypebrot/MSN.py", line 512, in __init__
expLen= len( MSGS[self.type] )+1
KeyError: 'NOT'
[17] Comentário enviado por lucaspolo em 21/12/2008 - 21:53h
Realmente é muito interessante esse Pebrot!
Eu ainda li um outro artigo seu sobre páginas antigas e vi sobre máquinas antigas e dicas de como monta-las, dai comecei a juntar as idéias do tico e do teco e agora to pensando em montar uma máquininha só por brincadeira...
[18] Comentário enviado por david fonseca em 13/08/2009 - 22:34h
Amigos aki ta assim quando eu chamo o $ pebrot
david@david-ubuntu:~$ pebrot
/usr/local/lib/python2.6/dist-packages/pypebrot/MSN.py:7: DeprecationWarning: the md5 module is deprecated; use hashlib instead
import md5
Traceback (most recent call last):
File "/usr/local/bin/pebrot", line 16, in <module>
pypebrot.pebrot.main()
File "/usr/local/lib/python2.6/dist-packages/pypebrot/pebrot.py", line 1980, in main
os.mkdir( MAIN_LOG_DIR )
OSError: [Errno 13] Permission denied: '/home/david/.pebrot/logs/'
[19] Comentário enviado por El Camaleon em 08/04/2011 - 00:29h
Sem querer reviver esse tópico .. mas eu queria uma solução para o problema acima afinal ele esta sendo o meu nos dias de hoje. Após seguir todos os passos listados acima sobre instalação depois ter ir e colocar o arquivo pebrotrc na pasta ./pebrot e enfim perceber que o pebrot vai funcionar e ficar a um passo de usá-lo acontece esse erro que o David citou.
Eu consigo entrar com meu usuário ele chega a pedir senha e entra na tela e começa a carregar quando ele esta carregando a tela simplesmente fecha e o que resta é a mensagem:
/usr/local/lib/python2.6/dist-packages/pypebrot/MSN.py:7: DeprecationWarning: the md5 module is deprecated; use hashlib instead
import md5
Traceback (most recent call last):
File "/usr/local/bin/pebrot", line 16, in <module>
pypebrot.pebrot.main()
File "/usr/local/lib/python2.6/dist-packages/pypebrot/pebrot.py", line 1886, in main
curses.wrapper( gogogo )
File "/usr/lib/python2.6/curses/wrapper.py", line 43, in wrapper
return func(stdscr, *args, **kwds)
File "/usr/local/lib/python2.6/dist-packages/pypebrot/pebrot.py", line 1848, in gogogo
con.loopInput()
File "/usr/local/lib/python2.6/dist-packages/pypebrot/pebrot.py", line 1524, in loopInput
self.oneStep()
File "/usr/local/lib/python2.6/dist-packages/pypebrot/pebrot.py", line 1454, in oneStep
st= self.Text.getLine( self.handleInput, self.step )
File "/usr/local/lib/python2.6/dist-packages/pypebrot/ui.py", line 250, in getLine
idleFunc()
File "/usr/local/lib/python2.6/dist-packages/pypebrot/MSN.py", line 920, in step
self.processMsgs()
File "/usr/local/lib/python2.6/dist-packages/pypebrot/MSN.py", line 1004, in processMsgs
msg= Msg( res[1] )
File "/usr/local/lib/python2.6/dist-packages/pypebrot/MSN.py", line 512, in __init__
expLen= len( MSGS[self.type] )+1
KeyError: 'NOT'
Agradeço a ajuda de todos, peço desculpas por estar revivendo esse tópico mas gostaria de ajuda. Mais uma vez obrigado.
[21] Comentário enviado por khyron em 11/05/2012 - 11:37h
bom dia!...
tb estou com esse problema...alguem poderia ajudar ???
$pebrot
/usr/local/lib/python2.6/dist-packages/pypebrot/MSN.py:7: DeprecationWarning: the md5 module is deprecated; use hashlib instead
Traceback (most recent call last):
File "/usr/local/bin/pebrot", line 16, in <module>
pypebrot.pebrot.main()
File "/usr/local/lib/python2.6/dist-packages/pypebrot/pebrot.py", line 1886, in main
File "/usr/lib/python2.6/curses/wrapper.py", line 43, in wrapper
return func(stdscr, *args, **kwds)
File "/usr/local/lib/python2.6/dist-packages/pypebrot/pebrot.py", line 1822, in gogogo
File "/usr/local/lib/python2.6/dist-packages/pypebrot/pebrot.py", line 756, in getPassword
File "/usr/local/lib/python2.6/dist-packages/pypebrot/pebrot.py", line 483, in fatalError