A Vida em Preto e Branco I - Pebrot, MSN em modo texto

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.

[ Hits: 46.947 ]

Por: Fernando de Sá Moreira em 03/01/2007 | Blog: http://lattes.cnpq.br/2269235326367932


Apresentando e instalando o Pebrot



OBS: As condições dos testes foram:
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:
  1. Vontade;
  2. 1 computador;
  3. 1 teclado;
  4. 1 sistema operacional GNU/Linux (embora enfatize o funcionamento no Linux, segundo o desenvolvedor também funciona em outros *nix. Não testei);
  5. o interpretador Python 2.2 ou superior instalado (em geral as distribuições já trazem ele instalado).

Recursos opcionais:
  1. Um editor de textos (para o personalizações);
  2. Conhecimento sobre shell script (verá como pode ser útil);
  3. Gosto por ascii art (não será muito útil, mas é divertido).

Para obter o Pebrot:

$ wget -c http://prdownloads.sourceforge.net/pebrot/pebrot-0.8.8.tar.gz

Há também a possibilidade de baixar através do site oficial do projeto:
(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:
  1. ~/.pebrot/ - é a pasta onde ficam armazenados o arquivo de configuração e os logs de cada usuário particular;
  2. /usr/lib/python?.?/site-packages/pypebrot/ - onde estão armazenados os arquivos principais do Pebrot, onde "?.?" corresponde à versão do Python;
  3. /usr/bin/ - é a pasta onde está o script de execução do Pebrot (que faz uso dos arquivos dispostos na descrição anterior);
  4. /usr/share/doc/pebrot/ - arquivos de documentação do pebrot e utilitários relativos ao Pebrot;
  5. /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.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Apresentando e instalando o Pebrot
   3. Executando o Pebrot
   4. Usando o Pebrot
   5. Configurando o Pebrot
   6. Integrando shell scripts e o Pebrot
   7. Conclusão e links
Outros artigos deste autor

Encarando o DGuitar

Uma geral acerca do WindowMaker

Sucata - Evite gargalos de hardware

Sucata - Dicas de compra

Facilidade X Possibilidades

Leitura recomendada

Minimalismo em ambientes gráficos

Monitorando seu servidor Jabber

Mentis - Reprograme-se

Criando uma agenda com o Lazarus

Kshutdown e suas funções

  
Comentários
[1] Comentário enviado por mbsalgueiro em 03/01/2007 - 09:56h

Muito interesante esse programa Pebrot!!!
nunca tinha ouvido falar!! gostei do artigo esta de parabens!!!!!
e viva o linux!

[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.

[3] Comentário enviado por flipe em 03/01/2007 - 11:11h

o gaim também liberou uma versão para modo texto.

[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

[5] Comentário enviado por tenchi em 03/01/2007 - 17:59h

Insdispensável: Screen.
Cliente msn tem o tmsnc.
Excelente artigo.

[6] Comentário enviado por fsamoreira em 03/01/2007 - 18:13h

do screen eu pretendo falar depois, estou estudando algumas opções avançadas dele

[7] Comentário enviado por birilo em 03/01/2007 - 21:40h

Legal a intenção do artigo, mas muito enrrolado e repetitivo..
recomendo ser mais objetivo nos próximos...

Agora... configuração perfeita não pode faltar o screen... =)

[]'s

Danilo

[8] Comentário enviado por aniltonf em 04/01/2007 - 08:28h

Olá blehhh, fixe o seu artigo, e eu que gosto do preto e branco, aliás, base do linux, e que tenho sempre muitos problemas com o MSN, gostava muito de utilizar este PEBROT, mas;
Não consigo sequer instalar o software. Atenção para o erro.
____________________________________________________
escjpc:/home/afernandes/Desktop/pebrot-0.8.8 # python setup.py install
Traceback (most recent call last):
File "setup.py", line 8, in ?
from distutils.core import setup
ImportError: No module named distutils.core
escjpc:/home/afernandes/Desktop/pebrot-0.8.8 # ll
total 80
-rwxr-xr-x 1 1002 users 327 2005-08-15 18:29 AUTHORS
-rwxr-xr-x 1 1002 users 12836 2006-04-28 23:28 ChangeLog
-rw-r--r-- 1 1002 users 18003 2005-08-15 18:29 COPYING
drwxr-xr-x 5 1002 users 176 2006-04-28 23:42 i18n
-rwxr-xr-x 1 1002 users 779 2005-08-15 18:29 INSTALL
drwxr-xr-x 2 1002 users 128 2006-04-28 23:42 logos
-rwxr-xr-x 1 1002 users 300 2005-08-15 18:29 pebrot
-rwxr-xr-x 1 1002 users 10214 2005-08-15 18:29 pebrotrc
-rw-r--r-- 1 1002 users 256 2006-04-28 23:42 PKG-INFO
drwxr-xr-x 2 1002 users 160 2006-04-28 23:42 pypebrot
-rwxr-xr-x 1 1002 users 8402 2005-08-15 18:29 README
-rwxr-xr-x 1 1002 users 1466 2005-08-15 18:29 setup.py
drwxr-xr-x 3 1002 users 200 2006-04-28 23:42 utils
escjpc:/home/afernandes/Desktop/pebrot-0.8.8 # ____________________________________________________

Tirei este trecho da consola.

Conseguia ajudar-me, a resolver o problema,
posso desabilitar a parte que pede o "distutils.core", mas acho que o soft não funcionava.

[9] Comentário enviado por fsamoreira em 04/01/2007 - 11:14h

não tenho certeza, mas creio que o problema é a versão do python que está usando está desatualizada. use o comando $ python -V para conferir a versão.

procure instalar também um pacote chamado python-setuptools

[10] Comentário enviado por aniltonf em 04/01/2007 - 19:38h

Tenho a certeza que não é isso, o meu python veio com o suse 10.1, e tem versão 2.4...

Acho que o ficheiro "distutils.core" está em falta. Não existe esse ficheiro no pacote do pebrot?

[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.

Link: http://aurelio.net/doc/coluna/

Falows...,

Ah, e eu "disconcordo" inteiramente do título deste artigo. Quem disse que um terminal precisa ser necessáriamente preto-e-branco?? ;)

Eh zoeira...

[13] Comentário enviado por GilsonDeElt em 14/01/2007 - 01:44h

Muito bom!
Valeu!

[14] Comentário enviado por botinha em 15/01/2007 - 20:24h

Amigo muito bom o artigo, acho que você deveria se puder encrementar o artigo, como associar sons e beeps.


Muito bom.......

[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'

Desde ja agradeço!

[16] Comentário enviado por oliviofarias em 23/11/2008 - 15:16h

Me diga uma cosia, como coloco um desenho novo naquela abertura?

[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...

Parabéns pelo artigo.

[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/'


alguem pode mim ajudar???

[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.

[20] Comentário enviado por mactoia em 18/05/2011 - 10:19h

instalei o pebrot mas ele não esta criando o arquivo pebrotrc na pasta ~/.pebrot. ele sempre diz q vai criar mas termina não criando.

[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


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts