Você pode ter acesso ao smaps-plotter pelo endereço: http://sourceforge.net/projects/smaps-plotter/
Pra fazer download é necessário o uso do svn(subversion), digitando o comando:
svn co https://svn.sourceforge.net/svnroot/smaps-plotter smaps-plotter
O Vórtice da Perspectiva Total
$ hcitool scan2. Pegando informações sobre os canais do bluetooth.
Scanning ...
XX:XX:XX:XX:XX:XX Nokia
$ sdptool browse XX:XX:XX:XX:XXVai aparecer um bocado de coisa, então você deve fazer um scroll buscando por um bloco semelhante a este.
Service Name: SyncML ClientNote que marquei com negrito as informações relevantes.
Service RecHandle: 0x1000e
Service Class ID List:
UUID 128: 00000002-0000-1000-8000-0002ee000002
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 11
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
$ sudo aptitude install multisync-tools multisync0.90 opensync-plugin-evolution opensync-plugin-syncml
$ msynctool --addgroup evolution-61252. Configurando a sessão.
$ msynctool --addmember evolution-6125 evo2-sync
$ msynctool --configure evolution-6125 1Um editor de texto aparecerá com o conteúdo abaixo. Não é preciso alterar nada, basta salvar.
<config>3. Adicionando o plugin para sincronizar o telefone via bluetooth
<address_path>default</address_path>
<calendar_path>default</calendar_path>
<tasks_path>default</tasks_path>
</config>
$ msynctool --addmember evolution-6125 syncml-obex-client4. Configurando o plugin de comunicação com o telefone
$ msynctool --configure evolution-6125 2Aqui você insere as informações obtidas no item 2 da seção anterior.
<config>5. Agora é só sincronizar \o/
<bluetooth_address>XX:XX:XX:XX:XX:XX</bluetooth_address>
(...)
<bluetooth_channel>11</bluetooth_channel>
(...)
</config>
$ msynctool --sync evolution-6125
import os
import sys
import pysvn
class DownloadSubversion(object):
def __init__(self, source, dest, username, password):
self.source = source
self.dest = dest
self.username = username
self.password = password
def callback_ssl_server_trust_prompt(self, trust_data):
'''
trust_data: essa e' uma variavel, um dicionario, passado pelo pysvn
contendo informacoes sobre o certificado ssl do servidor.
Por exemplo: data de expiracao do certificado, empresa
certificadora, nome do responsavel, fingerprint e etc.
'''
#for key,value in trust_data.items():
# print '%s: %s' % (key, value)
#print
answer = 't'
#while answer.lower() not in ['p','t','r']:
# sys.stdout.write( '(P)ermanent accept, (T)emporary accept or (R)eject: ' )
# answer = sys.stdin.readline().strip()
if answer.lower() == 'p':
return True, trust_data['failures'], True
if answer.lower() == 't':
return True, trust_data['failures'], False
return False, 0, False
def callback_getLogin(self, realm, username, password, may_save):
'''
realm: essa variavel eh utilizado pelo pysvn pra informar o endereco do
servidor e o nome do servico, deixe ela ai'. Por exemplo:
"Subversion Repository" at http://111.222.333.444
username: usuario do subversion
password: senha do subversion
may_save: salvar ou nao o usuario e senha
'''
if len(username) == 0:
return False, '', '', False
return True, username, password, may_save
def downloadRepos(self):
client = pysvn.Client()
client.exception_style = 1
client.set_default_username(self.username)
client.set_default_password(self.password)
client.callback_get_login = self.callback_getLogin
client.callback_ssl_server_trust_prompt = self.callback_ssl_server_trust_prompt
if os.access(self.dest + '/.svn', os.F_OK):
client.update(self.dest)
else:
client.checkout(self.source, self.dest)
if __name__ == '__main__':
subversion = DownloadSubversion('https://www.com.br/svnroot/', '.', 'usuario', 'senha')
subversion.downloadRepos()
import os
import gtop
def print_maps(v, c, d, name):
if c + d > 0:
print "%d\t%d\t%d\t%s" % (v / 1024, c / 1024, d / 1024, name)
for pid in gtop.proclist(gtop.PROCLIST_KERN_PROC_UID, os.getuid()):
l=gtop.proc_map(pid)
print "SHARED"
print "vmsize\tclean\tdirty\tname"
for x in sorted(l, key=lambda x: x.shared_clean + x.shared_dirty, reverse=True):
print_maps (x.size, x.shared_clean, x.shared_dirty, x.filename)
print ""
print ""
print "PRIVATE"
print "vmsize\tclean\tdirty\tname"
for x in sorted(l, key=lambda x: x.private_clean + x.private_dirty, reverse=True):
print_maps (x.size, x.private_clean, x.private_dirty, x.filename)Você pode ter acesso ao smaps-plotter pelo endereço: http://sourceforge.net/projects/smaps-plotter/
Pra fazer download é necessário o uso do svn(subversion), digitando o comando:
svn co https://svn.sourceforge.net/svnroot/smaps-plotter smaps-plotter
Rodrigo Belem's journal. Powered By Blogger © 2009 Bombeli | Theme Design: ooruc