Infelizmente, na filosofia, não existe verdade absoluta. Isso se deve pelo que se tem como verdade. A Verdade é aquilo que, baseando-se em fatos e em evidências, racionalmente nos parece mais correto. No entanto, nossa racionalidade não é muito racional, isso porque não somos máquinas. Computadores encontram verdades, usando cálculos matemáticos e a constante que 2 sempre será 2. Se for aproximadamente 2, ainda não será 2.
Nossa mente funciona de maneira diferente, muito menos verdadeiro/falso e muito mais aproximadamente e sensação.
Desta forma, não coloco nada sobre qualquer um que entrou na discussão sobre Software Livre versos Software Open Source esteja certo ou errado. Fico mais com o meu sentimento e meu conhecimento de mercado corporativo (apenas 16 anos de mercado corporativo e Software Livre).
O mercado não quer e nunca ira querer assumir os riscos. Portanto, nenhum software que traga a informação “Seu uso é por sua conta e risco” entrará no mercado corporativo. Isso é um fato, não uma verdade. Tirem as verdades a partir disso.
O mercado não está interessado em ser justo, em ser correto e em ser estável. O mercado corporativo está interessado em ser lucrativo. Para isso, precisa de uma empresa que dê suporte aos seus sistemas, para o caso de ter problemas e isso causar perda financeira tenha “no de quem colocar”. Por isso o GNU/Linux abriu espaço no mercado corporativo com sistemas “baseados”, como o VMWare, Oracle Rack, etc, e algumas distribuições mais comerciais do que alinhadas com o Software Livre, como SuSE e Red Hat.
Esperar que o mercado assimile a identidade do Software Livre, os conceitos das liberdades, a ideia de retornar à comunidade o que se tira dela, é uma utopia. Serve como sonho, como objetivo que devemos lutar para alcançar, mesmo sabendo ser inatingível, mesmo sabendo que, neste momento, isso “nunca” acontecerá.
No entanto, gosto da frase que diz: “Esqueceram de informar-lhe que seu objetivo era inalcançável e ele foi lá e o fez acontecer”.
Precisamos no mundo dos “distraídos” que esquecem que seu objetivo é inalcançável, assim como precisamos de profissionais “pé no chão” que vão abrindo caminho devagarzinho… Nos complementamos assim, e viva o Software Livre.
A Associação Software Livre (ASL.Org) iniciou nesta quinta-feira (4) uma campanha de arrecadação de fundos para a continuidade de seus trabalhos, entre eles a organização da 17ª edição do Fórum Internacional Software Livre (FISL17), que acontece de 13 a 16 de julho em Porto Alegre.
A instituição existe há 12 anos e, além do FISL, é responsável por operacionalizar iniciativas como o Projeto Software Livre Brasil, Conexões Globais, Oficina de Inclusão Digital e Participação Social (OID) e Rádio e TV Software Livre.
A ASL também faz a representação legal e formal de diversas comunidades e coletivos que precisam de uma personalidade jurídica para realizar atividades que promovam o conhecimento livre.
O objetivo da campanha é atingir mil doações para a manutenção das ações e projetos da entidade. Para estimular as contribuições, as pessoas que contribuírem com R$170 recebem uma camiseta oficial do FISL e um ingresso de cortesia para o evento. É possível também destinar o ticket para um fundo voltado a estudantes de escolas públicas.
A um tempo atrás estava falando das vantagens do Android 4.0 (ICS) para o Defy+ neste post, mas com o tempo e o uso fui identificando diversas falhas, bugs (como o da bateria), e pequenas coisas bem irritantes que ocorriam com meu telefone que não me permitiam usá-lo de forma efetiva e, mais, eficiente. Por exemplo, pelo menos uma vez por dia eu era obrigado a desligar o aparelho, retirar a bateria e esperar ele esfriar (a bateria chegava a 40ºC), colocar a bateria e iniciar novamente.
Foi então que percebi uma grande mudança no desenvolvimento que o “Quarx” está fazendo para portar o Android 4.1 (Jelly Bean – ou JB, apenas -) e resolvi testar.
Em um primeiro momento meio que me decepcionei, pois os mesmos problemas continuavam ocorrendo. Mas o Fórum de usuários XDA me ajudou, pois coloquei uma inscrição a respeito dos problemas que estavam me alarmando e a resposta foi direta: “Não existem esses bugs pois todos já foram corrigidos! Comece o processo do zero novamente e confira.” E foi o que fiz, e o resultado é impressionante. Vejam:
O sistema ficou muito mais estável, não pendura ou tem lentidão (claro que não conto aqui a lentidão clássica do 3G do Brasil), ficou mais bonito ainda e evoluído em alguns softwares, abre portas para uso dos softwares mais atuais do Google (como o Google Now, o Google Music Play e o mais novo Maps) e o melhor: a bateria do meu celular passou a durar mais de 15 horas com o uso comum que faço (mesmo com a ROM original não chegava às 12 horas de uso) e aquele velho problema da drenagem da bateria em conjunto com o aquecimento não ocorre mais.
Vejam algumas imagens interessantes:
Iniciando o processo:
Para iniciar o processo foi necessário retornar ao início da vida do meu Defy+ (faça backup de tudo antes, pois tudo será apagado na memória do celular – o cartão de memória fica intacto). Se você nunca trocou a ROM de seu celular, basta fazer um “Factory Reset” ou nas configurações acessar a opção “Voltar às configurações de fábrica”.
Agora, se você já trocou a ROM do seu Defy+ alguma vez, o processo é um pouquinho maior, pois é de suma importância que ele esteja em estado “de fábrica” para iníciar processo. Para isso, usa-se um “programete” chamado sbf_flash para Linux ou o RsdLite para Windows e uma das imagens da ROM original do Defy+. O sbf_flash está disponível aqui, mas o RsdLite não testei (não uso drogas viciantes como Windows 😛 ).
Esses passos só são necessários se seu Defy+ já está com uma ROM personalizada:
Reinicie seu celular e entre no BootMenu;
Vá em “Recovery” e em seguida em “Custom recovery”;
Execute o “Format data/Factory reset”;
Vá em “Advanced” e selecione “Clear Dalvik Cache”;
Desligue seu celular;
Ligue seu celular e mantenha o botão “Volume up” pressionado;
Conecte o cabo USB no celular e no computador;
Execute o comando: sbf_flash SBF_FILE
SBF_FILE é o nome do arquivo retirado de um dos arquivos compactados DFL abaixo:
Aguarde o término do processo. Seu celular voltará às configurações de fábrica.
Pronto, agora tem em suas mãos seu Defy+ como saído da caixa. Pule a configuração inicial (ela será perdida de qualquer forma) e continue como se nunca tivesse colocado outra ROM em seu aparelho.
Rooteando e instalando o BootMenu:
Quarkx (a pessoa por trás do desenvolvimento do Jelly Bean para Defy e Defy+) criou um pacote que torna simples o processo de Rootear e instalar o BootMenu. Em cima deste pacote, portei o processo para GNU/Linux e empacotei novamente, portanto o pacote root.and.bootmenu.defy.v1.1.5.rar serve para as duas plataformas.
Baixe o arquivo e descompacte-o. Dentro do diretório recém criado execute o script “runme.bat” se você utiliza RWindows ou “./runme.sh” se você usa GNU/Linux. O processo roda todo sozinho, aguardando a conexão do aparelho, instalando os arquivos necessários, acertando permissões e deixando pronto para que você possa instalar qualquer ROM personalizada.
Instalando a nova ROM no Defy+:
Para iniciar esse processo, tenha certeza de ter 70% ou mais da bateria de seu Defy+ disponível ou mantenha-o conectado na tomada ou na USB de seu computador durante todo o processo. Caso a bateria acabe no meio do caminho terás que iniciar o processo do começo novamente (inclusive os passos para quem já usa uma ROM personalizada). O processo leva, ao todo, em torno de 40 minutos, mas até ter seu celular totalmente configurado como gosta de usá-lo, com todos os contatos, todas as contas, todos os Apps, etc, pode levar muito mais tempo.
Para começar, baixe a imagem da ROM que será instalada daqui. A imagem que instalei inicialmente foi a do dia 18/11/2012. Caso seja corajoso, use a versão mais recente de todas (eu costumo esperar um ou dois dias para ver se não aparece outra imagem logo em seguida – o que significa que a anterior tinha algum problema grave). Não esqueça de verificar se o arquivo chegou corretamente, baixando o arquivo com mesmo nome seguido de “.md5sum” e usando o comando “md5sum -c NOME_DA_ROM.zip.md5sum” (no GNU/Linux, no Windows terás que baixar um testador de md5sum – boa sorte na busca no Google) o retorno deve ser algo como “NOME_DA_ROM.zip: SUCESSO”. Isso garante que a imagem não foi danificada durante o download.
Baixe, também, os Aplicativos Google mais recentes para Jelly Bean. Eu estou usando e recomento esse arquivo aqui, os arquivos podem ser baixados diretamente do site do Goo.im. Pode ser muito tentador pegar a versão do dia 28/12/2012 e o novo aplicativo de galeria e Camera do arquivo de extras, mas eu garanto, existem bugs e a camera/galeria vai sugar sua bateria aquecendo ela acima dos 40º.
Agora coloque esses dois (ou três) arquivos no cartão SD do seu celular em uma pasta específica (só para que fique claro onde estão os arquivos, facilitando a localização dos mesmos). Como exemplo, usaremos o /JB.
Reinicie o celular;
Assim que acender um LED AZUL, pressione o botão de volume para baixo;
No BootMenu as teclas de volume trocam a seleção de opção e a tecla Liga/Desliga funciona para selecionar a opção;
Selecione a opção “Recovery” e em seguida “Custom Recovery”;
Novamente limpe o diretório “data” e o cache, escolhendo a opção “Wipe data/factory reset”;
Selecione “Install zip from sdcard” e em seguida “choose a zip from sdcard”;
Selecione a pasta onde esta o zip (em nosso exemplo “JB/”) e em seguida a imagem ROM que você baixou;
Navegue pelas opções até o “Yes – Install NOME_DA_ROM.zip” e confirme;
Em seguida, selecione novamente “choose zip from sdcard”, volte à pasta JB/ e selecione o arquivo gapps-jb-4.2.1-DATE-signed.zip;
Navegue pelas opções até o “Yes – Install gapps-jb-DATE-signed.zip” e confirme;
Repita os passos 8 e 9 com o arquivo gapps-jb-4.2.1-extra-signed.zip caso queira;
Selecione a opção “+++++Go Back+++++” duas vezes;
Selecione “Reboot”;
Agora o logo animado da CyanogenMod aparecerá depois do logo da Motorola. O sistema está se instalando, o que significa que muitas alterações devem ser feitas antes dele estar pronto para uso. Aguarde pacientemente, pois pode levar até 20 minutos. Assim como as versões anteriores, coisas estranhas podem acontecer durante esse processo (o celular reiniciar sozinho ou até mesmo travamentos). Caso leve mais de 20 minutos para que ele esteja pronto para usar, desligue o celular retirando a bateria e aguardando cerca de 30 segundos antes de retorná-la. Ligue-o novamente e aguarde os 20 minutos de novo.
Pronto, é só configurá-lo, deixá-lo com sua cara e curtir o novo Android 4.1 em seu Defy+.
Depois desse processo, as atualizações para imagens mais recentes do CM10 dispensam a limpeza do data (ou seja, não há necessidade de reconfigurar tudo a cada atualização) e o processo se torna mais rápido. Atualmente estou usando a imagem do dia 28/11/2012 e a atualização foi bem tranquila, só que não se usa mais o “Defy ROM Updater”.
Deixem seus comentários e dúvidas abaixo. Caso tenha alguma dúvida, verifique antes se já não foi respondido a outro internauta antes de perguntar novamente.
A pouco tempo disponibilizei um passo a passo para que as pessoas conseguissem atualizar seus Defy+ para o mais novo sistema Android estável (a versão 4.0 chamada Ice Cream Sandwiche, ou ICS). Aqueles que o seguiram tiveram a mesma sensação boa que eu tive, mas quando fi carregar o celular teve uma péssima surpresa: a bateria não carrega totalmente, parando nos 84%, mesmo deixando o dia todo carregando. Esse artigo pretende mostrar como pode ser instalado uma pequena correção que diminui essa sensação ruim.
Explicando o problema
Mas antes, gostaria de explicar por que isso acontece. A ROM do ICS para o Defy+ é preparada para celulares americanos, apesar de trazer embutido todo o cadastro de operadoras do mundo. Portanto não tem problema nenhum utilizá-lo aqui no Brasil, no entanto, algumas diferenças de hardware acontecem dependendo de onde o celular foi fabricado. No caso dos Defy+ Brasileiros, eles vem com a bateria do Defy (isso mesmo, a bateria do MB526 no Brasil é a mesma do MB525), mas o processador é diferente.
Assim, nós que compramos nossos Defy+ no Brasil, temos uma bateria que dura cerca de 16% menos… Coincidência, não? O fato é que a ROM do ICS para Defy+ que indiquei no artigo anterior espera que a bateria tenha 4,35V (4,5V nominal) quando carregada completamente, mas ela não passa dos 3,65V (verifique, que está escrito na bateria o valor nominal de 3,8V). Faça as contas e encontrará que 3,654V é 84% dos 4,35V da versão americana. Portanto, não há nenhum bug ou qualquer coisa de errado com a ROM, mas sim com a esperteza da Motorola do Brasil.
Bom, tendo essa explicação em mente, o que vamos fazer? Simples, pegaremos o software que controla o carregamento de bateria da versão do Android original do Defy americano (2.3.5, ou a versão CyanogenMod 7) e colocá-lo para rodar no ICS, claro que com correções que se fizeram necessárias (lembro que não fui eu que fiz a correção, pois não sou programador).
2.) Reinicie o Motorola Defy+ e, assim que piscar uma luz azul (aquele mesmo led que fica piscando quando a bateria está fraca, mas aqui piscará azul) pressione o botão de baixar o volume. Um menu de inicialização será apresentado. Para escolher a opção, use os botões de volume e para selecionar, use o botão de liga/desliga do aparelho;
3.) Vá à opção “Recovery”;
4.) Selecione “Install zip from sdcard”, selecione o ZIP do diretório ICS do cartão;
5.) Quando terminar, dirija-se de volta ao menu anterior e selecione “Advanced”;
6.) Vá na opção “Wipe battery stats”, isso evitará que alguma sujeira da versão anterior atrapalhe a nova versão;
7.) Reinicie o celular.
Agora pode testar se funcionou. pegue seu carregador e deixe-o carregando até que o apareça 100% da bateria carregada (aparecerá a palavra “Carregado” no espaço onde aparecia a porcentagem de carga).
Ficou feliz? Conta aí em baixo comentando esse post.
Nesta semana decidi vencer o medo e atualizar o sistema operacional Android do meu Motorola Defy+ para uma ROM não oficial CyanogenMod. O processo foi simples e rápido, apesar de que precisei de uma estação de trabalho com o sistema da Microsoft para “rotear” o celular.
O que me levou a fazer a alteração:
O Motorola Defy+ é um celular muito bom, resistente, com boa capacidade e versatilidade. O hardware em si impressiona: Processador de 1GHz, 1GB de memória interna, GPS, WiFi, Rádio FM, Câmera de 5 MP e o que mais chama a atenção, é resistente à água. O Android que vem nele é estável, bonito e com funções bem legais como o Motoblur (agrega todas as contas em uma área na nuvem e permite gerenciar seu celular a partir de um site da Motorola), o MotoCast (para quem tem Windows ou MacOS), a integração de redes sociais, entre muitos outros. No entanto peca, e muito, no consumo de recursos, o que o torna lento a ponto de irritar um usuário HardLevel, como eu.
Desde que o comprei, percebo essa lentidão irritante (coisa que não incomoda minha esposa, por exemplo), e comecei a acompanhar o desenvolvimento do Android 4.0 (Ice Cream Sandwich – ICS), e vi que estava ficando muito bom: rápido, bonito, com funções e gráficos aprimorados. Então um colega, proprietário de um Defy, apareceu com a ROM de ICS e me mostrou… Achei incrível como estava melhor. E nesse meio tempo, ainda tive o desprazer de ter meu celular travado com a ROM original por duas vezes.
O processo de atualização:
O processo tem início dando acesso à área de sistema operacional do celular. Pois é, seu celular com Android tem um GNU/Linux por baixo, e para ter acesso à essa área do sistema é necessário “ativar” o superusuário (root) e poder dar acesso a que o usuário de sistema (user) tome os direitos de superusuário.
Complicado? Não precisa se desesperar, se você tiver uma máquina com sistema operacional Windows será mais fácil, mas tem como fazer pelo sistema operacional Linux e MacOS também.
“Rootear” seu celular – adquirir permissões de superusuário
Tentei fazer através do meu Notebook com Debian, mas os artigos que encontrei na internet sempre barravam em um ponto: Funcionavam para o Defy, mas não para o Defy+. Parece o mesmo modelo, é cara de um fucinho do outro, mudam apenas um número (o Defy é MB525 e o Defy+ é MB526), mas o sistema por baixo é totalmente diferente, desde o Kernel. Assim, o processo é um pouco diferente.
No fim das contas, usei a máquina de trabalho (com Rwindows) para usar o SuperOneClick que, como grande atrativo, funciona com grande parte dos celulares Android, detectando-o e colocando as coisas onde tem que ser. É um facilitador, pois além de fazer o processo de rootear, ainda instala o bootmenu.
Instalando a nova ROM
Primeiramente será necessário ter em mãos (ou no HD) uma imagem do novo Android. Eu recomendo pegar a mais nova das “Nightly Builds“, que não são lançadas todas as noites, mas até tem uma certa frequência. De posse do arquivo, monte o cartão de memória do celular em seu computador (seja pelo cabo USB ou retiranco do celular e usando um adaptador para teu notebook).
Crie uma pasta chamada ICS, e coloque nela o arquivo CM9-NIGHTLY-XXXXXX-Defy+.zip (onde XXXXXX é a data da build em formato AAMMDD), Baixe também os Aplicativos Google, que não vêm instalados na ROM. Para facilitar, segue um passo a passo dos comandos (considerando que o sistema já montou o cartão em /media/MOT):
cd /media/MOT
mkdir ICS
cd ICS
wget http://defy-cm.net/defy_plus-cm9-nightly/CM9-NIGHTLY-120613-Defy+.zip
wget http://goo.im/gapps/gapps-ics-20120429-signed.zip
cd
umount /media/MOT
Reinicie o Motorola Defy+ e, assim que piscar uma luz azul (aquele mesmo led que fica piscando quando a bateria está fraca, mas aqui piscará azul) pressione o botão de baixar o volume. Um menu de inicialização será apresentado. Para escolher a opção, use os botões de volume e para selecionar, use o botão de liga/desliga do aparelho. então faça o seguinte processo:
Vá à opção “Recovery”;
Selecione a opção “Wipe data/Factory reset”, você precisará clicar várias vezes para baixo para selecionar “Yes”;
Quando terminar, selecione “Install zip from sdcard”, selecione o ZIP do CM9 que está na pasta ICS;
Quando terminar, selecione novamente “Install zip from sdcard”, selecionando o ZIP do GAPPS que está na pasta ICS;
Depois de terminar essa instalação, selecione “Wipe cache partition”;
Agora selecione “Wipe Dalvik cache”;
Selecione “+++ Go Back +++” até chegar na tela iniciar do bootmenu e selecione “Reboot now”.
Pronto, o processo de instalação definitiva teve início. Aguarde por cerca de, no mínimo, 15 minutos. Se demorar mais de 30 minutos, retire a bateria para desligá-lo totalmente (não é raro o processo de instalação travar), coloque a bateria de novo, ligue-o e aguarde os 15 a 20 minutos da instalação.
Bom, você já segue meu blog, tem um Notebook conversível em Tablet, como o meu ThinkPad X200T, e seguiu algumas das minhas dicas de configuração aqui e curtiu meu script aqui. Agradeço o reconhecimento, mas ainda tem mais coisas que talvez você se sinta perdido (como eu já me senti) e voltou ao meu blog pois está procurando alguns programas e não encontrou. Portanto decidi fazer minha lista de programas imperdíveis para um tablet e programas bem legais.
Programas Imperdíveis
Xournal – Esse é um programa bem legal para fazer notas à mão (o caderno da faculdade). Não sei quanto à vocês, mas estudiosos já falaram que fazer as notas de estudo à mão aumenta exponencialmente a capacidade de memorização. No RWindows 7 existe algo parecido, chamado “Diário do Windows” (em inglês “Windows Journal”);
Avant Windows Navegator – Essa barra de tarefas com estilo MacOS é genial para criar um local para os lançadores de programas. Sua aparência e sua simplicidade no uso e configuração a colocam nessa lista de imperdíveis;
Stellarium – Um planetário de código aberto para o seu computador. Ele mostra um céu realista em três dimensões igual ao que se vê a olho nu, com binóculos ou telescópio. Ele também tem sido usado em projetores de planetários. Basta ajustar as coordenadas geográficas e começar a observar o céu!
CellWriter – Uma grade de painel de entrada natural de escrita (escrita à mão). Conforme você escrever caracteres para as células, a sua escrita é instantaneamente reconhecida. Quando você pressionar Enter no painel, a entrada que você inseriu é enviado para a aplicação como se tivesse digitado no teclado. Apesar de muito chato para “ensinar” sua escrita para ele, depois dessa aprendizagem funciona de maneira incrível.
Para diversão, sugiro:
Pingus – As pessoas com mais de 25 anos de idade e que tiveram uma infância informática como eu devem se lembrar do jogo dos Lemmings. Esse é um clone superdivertido, que utiliza pinguins no lugar dos famosos Lemmings.
Paciência AisleRiot – Diversos jogos de paciência (Solitaire) em um mesmo jogo. Freecel, Spider, MonteCarlo, entre outras tantas opções. Além disso, um visual super legal nas cartas.
A um tempo atrás, postei uma reportagem de como deixar o ThinkPad X200 Tablet funcionando com GNU/Linux (no meu caso Debian), com a maioria das funções funcionando. Esse post pode ser lido aqui. Mas não estava completo, porque ainda faltava fazer com que uma das funções mais legais (a transformação em tablet, girando a tela, e a rotação automática da tela conforme se gira o tablet), ainda não estava funcionando.
Passaram-se, então, 3 meses de pesquisa (tá certo, não foi uma pesquisa muito intensa, pois estava concentrado em minha nova empreitada profissional) e tentativasde aplicação de diversas sugestões de blogs, wikis, vídeos, usuários de Ubuntu, CentOS e outras tantas distribuições. Nenhuma efetiva, mas muito aprendizado foi possível.
Descobri que os módulos que esses dispositivos precisavam criavam diversos dispositivos no /sys/devices/platform, e comecei a colocar a cabeça para trabalhar. Percebi que seria necessário criar algo, que não seria trivial, mas que teria grandes chances de funcionar como eu queria. E mais, percebi que só conseguiria que funcionasse como eu queria se eu desenvolvesse algo para isso.
Como todos sabem, não sou programador, sou um mero administrador de sistemas GNU/Linux (com toda a modéstia que Deus me deu, posso dizer que sou pouco mais que bom no que faço). Portanto, de programação o que seu fazer é automatização de tarefas com Shell Scripts.
Nesta última semana espantei a preguiça e decidi fazer o script para automatizar essa tarefa. Já estava cansado de toda vez que transformava o note em tablet ou decidisse girar o tablet tivesse que apertar um botão. Ficou simples e de fácil compreensão, no entanto, consumia muito processamento, pois o encadeamento de condições que foi necessário estava sendo executado em tempo de processador. Um bug, resolvido facilmente com um sleep de meio segundo.
Vejam só que script interessante. Se quiserem desenvolver algo mais, a partir daqui, fiquem á vontade, só peço que se siga a GPL 3.
#!/bin/bash
## Created by: Luiz Guaraldo <guaraldo@universolivre.com.br>
## Created at: Tru Jan 24 22:15:35 BRST 2012
## Last Update: Tru Feb 8 09:30:15 BRST 2012
## Default screen mode for Swivel Down and Swivel Up [normal|right|inverted|left] and default VIDEO output
XRANDUP="normal"
XRANDDN="right"
VIDEO="LVDS1"
## Personal configuration can be put on home folder in .tablet.conf file.
if [ -f ~/.tablet.conf ]; then
. ~/.tablet.conf
fi
## Get XSetWacom by XrandR rotation. Important to mantain toutch syncronization
case "$XRANDUP" in
inverted)
XSWUP="half"
;;
normal)
XSWUP="none"
;;
left)
XSWUP="ccw"
;;
right)
XSWUP="cw"
;;
*)
XRANDUP="normal"
XSWUP="none"
;;
esac
case "$XRANDDN" in
inverted)
XSWDN="half"
;;
normal)
XSWDN="none"
;;
left)
XSWDN="ccw"
;;
right)
XSWDN="cw"
;;
*)
XRANDDN="right"
XSWDN="cw"
;;
esac
## Starting position of Swivel (remember that this script just act when Swivel is DOWN)
last=0 # Tablet mode off
lastpos="$XRANDDN" #When on tablet mode this will be default screen rotation
position="$XRANDDN"
## Starting infinite loop
while :; do
## This file is 0 when Swivel UP and 1 when Swivel DOWN (tablet mode)
now=`cat /sys/devices/platform/thinkpad_acpi/hotkey_tablet_mode`
if [ $last != $now ]; then
## Turn on or off tablet mode
if [ $now == 1 ]; then
## Turn on tablet mode
/usr/bin/xrandr --output $VIDEO --rotate $XRANDDN
xsetwacom set "stylus" Rotate $XSWDN
xsetwacom set "cursor" Rotate $XSWDN
xsetwacom set "eraser" Rotate $XSWDN
else
## Turn off tablet mode
/usr/bin/xrandr --output $VIDEO --rotate $XRANDUP
xsetwacom set "stylus" Rotate $XSWUP
xsetwacom set "cursor" Rotate $XSWUP
xsetwacom set "eraser" Rotate $XSWUP
fi
## Mark present mode
last=$now
fi
## Autorotation of screen when on tablet mode
## This file contain HDAPS position (indicates notebook rotation)
position1=`cat /sys/devices/platform/hdaps/position | cut -d, -f1 | cut -d'(' -f2`
position2=`cat /sys/devices/platform/hdaps/position | cut -d, -f2 | cut -d')' -f1`
# This is a coordenate (rotation on X and Y axis)
if [ $now == 1 ]; then ## On tablet mode?
if [ $position1 -gt 350 ] && [ $position1 -lt 400 ] && [ $position2 -gt -525 ] && [ $position2 -lt -475 ]; then
position="right"
elif [ $position1 -gt 475 ] && [ $position1 -lt 525 ] && [ $position2 -gt -400 ] && [ $position2 -lt -350 ]; then
position="inverted"
elif [ $position1 -gt 625 ] && [ $position1 -lt 675 ] && [ $position2 -gt -525 ] && [ $position2 -lt -475 ]; then
position="left"
elif [ $position1 -gt 475 ] && [ $position1 -lt 525 ] && [ $position2 -gt -675 ] && [ $position2 -lt -625 ]; then
position="normal"
fi
## Just act when possition changed
if [ "$position" != "$lastpos" ]; then
## Get XSetWacom syncronization
case "$position" in
inverted)
wpos="half"
;;
normal)
wpos="none"
;;
left)
wpos="ccw"
;;
right)
wpos="cw"
;;
esac
xrandr --output $VIDEO --rotate $position
xsetwacom set "stylus" Rotate $wpos
xsetwacom set "cursor" Rotate $wpos
xsetwacom set "eraser" Rotate $wpos
## Mark new position
lastpos=$position
fi
fi
## Processor got hudge ocupation. 70% lass processor ocupation after sleep.
sleep 0.5
done
Claro que criar o script foi só o primeiro passo. Agora precisava clocar para rodar automaticamente. Para isso, usei o início automático do GNOME (que é o gerenciador de janelas que eu uso), mas pode ser feito em qualquer gerenciador de janelas.
Para alterar o padrão de entrada e saída do tablet mode, basta criar um arquivo .tablet.conf no diretório home do usuário com duas linhas:
XRANDUP="normal"
XRANDDN="inverted"
Assim, ai iniciar uma nova sessão do gerenciador de janelas já estava tudo funcionando como eu queria… A rotação automática da tela só ocorre quando em Tablet Mode, ao entrar nesse modo a tela se vira da forma como eu queria (e não da forma padrão do script – que fiz seguindo o padrão que o software da Lenovo para RWindows tinha), enfim, cmo não existia o que eu queria, tratei de criar…
Espero que seja útil para todos. Postem comentários, por favor. Basta autenticarem com o Twitter.
Não é novidade para ninguém que tenho meu blog pessoal separado deste blog aqui. Também não é novidade que sou um usuário fervoroso de Debian e, nesse, da interface gráfica Gnome. Não é novidade, ainda, que gosto de criar um Desktop que chame a atenção de usuários daquele sistema lento e também dos usuários GNU/Linux (que muitas vezes até reconhecem as ferramentas que estou usando). Diante disso, desde que instalei o Debian no meu Notebook, tenho feito diversas melhorias.
Uma das melhorias que fiz foi aumentar a capacidade do disco. 160 GB em um notebook não é pouco espaço, levando em conta que um sistema operacional (por mais gordo e lento que seja) não ocupa mais de 50GB e que normalmente é o computador móvel e, portanto, secundário. Mas no meu caso, meu notebook se tornou meu computador principal, pois meus filhos tomaram posse do Desktop de casa,e começou a ficar meio apertado para os 40GB de música e outros 200GB de filmes que mantenho em meu disco.
Não apenas aumentei a capacidade de armazenamento, mas como o disco tem uma capacidade de cache que é o dobro do anterior, também se tornou mais rápido e ágil. Ainda mais com um sistema realmente 64 bits.
Bom, daí em diante foi apenas algumas coisinhas que já usava e alguma pesquisa por imagens na Internet e meu Desktop ficou com essa cara aí em baixo. Isso mesmo, a imagem de fundo fica trocando automaticamente. Muitos podem dizer: “grande novidade, eu fazia isso nos idos anos 1990 com um script em bash muito simples…” Outros podem dizer: “No Windows basta eu selecionar uma pasta de imagens para serem meu papel de parede… facinho!” E eu posso dizer que ambos estão corretos. O dos anos 1990 bem hutz, enquanto o do sistema lento é bem prático.
Mas o que tem de novidade aqui é que o sistema que estou usando para trocar o papel de parede é interno do GNOME, e depende de um arquivo XML simples com 5 tags, como mostrado abaixo:
Claro que nesse GIF animado que coloquei aqui o tempo de apresentação de cada imagem foi acelerado para 3 segundos. No exemplo de arquivo de configuração acima, o tempo de cada imagem é de 10 minutos (claro, tira-se 5 segundos para colocar na transição).
Fiquei muito feliz com minha área de trabalho, espero que gostem também.
<background>
<starttime>
<year>2011</year>
<month>04</month>
<day>06</day>
<hour>21</hour>
<minute>59</minute>
<second>54</second>
</starttime>
<!– This animation will start at midnight. –>
Deixando meu ThinkPad X200 Tablet com Debian Squeeze
Realmente não há nada que um pouco de tempo não lhe permita fazer em cima de Debian. Esse é um dos motivos para eu usar e recomendar essa maravilhosa distribuição para todos que conheço. A um tempo atrás, vocês devem se lembrar da minha matéria desistindo de usar Debian no meu notebook devido a algumas questões pendentes. Como explicado, estava sem tempo e sem paciência para fazer o que precisava.
Nesta última semana fiquei boa parte do tempo em casa, trabalhando em meu notebook com a intensão de torná-lo livre. Nessa jornada, muita navegação e muita pesquisa foi necessária, mas trabalho manual foi muito pouco. Decidi, então, colaborar com outros detentores deste equipamento incrível a terem seu sistema livre e com todas as funções importantes funcionando.
É verdade, nem tudo foi flores… O dispositivo de autenticação por impressão digital (AuthenTec, Inc. AES2810) não tem driver para Linux e não deve ter um driver tão cedo. No entanto, em minhas pesquisas encontrei alguns textos falando da falsa sensação de segurança que esses dispositivos dão aos usuários, quando, na verdade, tornam a autenticação mais fácil de ser burlada. Deixei de lado esse dispositivo.
Após a instalação do Debian Squeeze, a maioria dos dispositivos já funcionava perfeitamente (Webcam, auto configuração de vídeo, algumas teclas ACPI, WiFi, Bluetooth, etc) outros nem tanto (proteção contra choques do HD, outras teclas ACPI, o minimodem 3G, etc). Parti então para as pesquisas e localizei grandes avanços.
O que segue agora pode ser tido como um passo a passo para quem quer usar qualquer distro, precisando apenas algumas poucas adaptações. Vale lembrar que todas as edições de arquivos devem ser feitas usando um terminal autenticado como usuário “root”.
Teclado
Grande parte do que fiz com o teclado tirei do Wiki dos usuário de ThinkPad, o ThinkWiki. Vale uma visita para entender melhor…
O teclado que mais se adequou ao sistema no Xorg foi a disposição “IBM ThinkPad R60/T60/R61/T61″. Apenas não se conseguia, nesse ponto, que o botão de MUTE fosse executado tanto para ativar como desativar o modo silencioso. Para corrigir isso foi uma coisa bem simples: Editando o arquivo de configuração do GRUB2 (/etc/default/grub), incluí na parte GRUB_CMDLINE_LINUX_DEFAULT a inscrição acpi_osi=”Linux”, como mostrado abaixo:
# vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi_osi="Linux""
Para terminar a configuração, executa-se o comando para que o grub re-construa o arquivo de configuração:
# update-grub2
Na reinicialização seguinte o botão MUTE deve funcionar como esperado.
Já as teclas de Tablet são um pouco mais complicadas. Isso porque tive que identificá-las junto ao ACPI e ainda fazer alterações nas teclas de atalho do GNOME. Para isso é preciso ser um pouco mais “rutz”, como se diz aqui no sul, pelo menos da maneira que fiz, pois quis também aproveitar e deixar as teclas mais “do meu jeito”. No entanto tem formas mais simples, como a instalação do pacote tbp do repositório Debian, o qual instalei também.
Nas minhas configurações alterei um script do ACPI chamado rotatescreen.sh como mostrado abaixo:
$ cat /etc/acpi/rotatescreen.sh
#!/bin/sh
#
# This script rotates the display in TabletPCs when screen is changed from
# laptop to tablet mode, or when rotation button is pressed
test -f /usr/share/acpi-support/key-constants || exit 0
. /usr/share/acpi-support/power-funcs
if [ -f /var/lib/acpi-support/screen-rotation ] ; then
ROTATION=`cat /var/lib/acpi-support/screen-rotation`
fi
case "$ROTATION" in
right)
NEW_ROTATION="inverted"
WACOM="half"
;;
normal)
NEW_ROTATION="right"
WACOM="cw"
;;
left)
NEW_ROTATION="normal"
WACOM="none"
;;
inverted)
NEW_ROTATION="left"
WACOM="ccw"
;;
*)
NEW_ROTATION="normal"
;;
esac
for x in /tmp/.X11-unix/*; do
displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
getXconsole;
if [ x"$XAUTHORITY" != x"" ]; then
#export DISPLAY=":$displaynum"
if [ -f "$XAUTHORITY" ]; then
export XAUTHORITY
export DISPLAY=:0
user=$_user
home=$_home
fi
/usr/bin/xrandr -o $NEW_ROTATION && echo $NEW_ROTATION > /var/lib/acpi-support/screen-rotation
xsetwacom set "stylus" Rotate $WACOM
xsetwacom set "eraser" Rotate $WACOM
xsetwacom set "touch" Rotate $WACOM
fi
done
Também criei um arquivo chamado /var/lib/acpi-support/screen-rotation com permissões de leitura e escrita por todos.
Em seguida, abri o software de edição de teclas de atalho do GNOME e acrescentei uma ação (Screen Rotation), direcionando para esse script e acionado pelo botão com uma flecha circular (que fazia as funções de Ctrl+Alt+Del no Windows). Para mim é uma função legal, cada vez que aperto o botão a tela gira em sentido horário (como a flecha).
Outra coisa interessante é o botão Preview e Next, que ficam junto às teclas direcionais. essas teclas não estavam funcionando, mas com uma configuração simples é possível colocá-las para funcionar. Isso é configurado por usuário, mas como estamos falando de um notebook, não vejo problemas. Veja abaixo:
$ cat ~/.Xmodmap
! Botão com dois retangulos girando:
keycode 161 = XF86LaunchA
! Botão com a seta circular:
keycode 162 = XF86LaunchB
! Botão com o símbolo retangulo e a fecha
keycode 149 = XF86LaunchC
! Botão de Preview
keycode 233 = XF86Back
! Botão de Next
keycode 234 = XF86Forward
Faz parte da inicialização do X a execução do xmodmap em cima deste arquivo, mas para ativá-las imediatamente, basta executar o comando abaixo:
$ xmodmap ~/.Xmodmap
Pronto, tanto as teclas de função como as teclas de atalhos estão configuradas e funcionando perfeitamente.
Minimodem 3G
Bom, essa parte depende muito mais de qual modem 3G você tem do que qual distro você pretende usar. Na maioria das distros, a maioria dos minimodems são detectados prontamente, infelizmente não é o meu caso, pois possuo um minimodem da Nokia, modelo CS-11. Um dispositivo muito bom, mas com um driver proprietário. Felizmente, existe uma versão para Linux, mas o arquivo .deb tem uma falha que faz com que não seja possível instalá-lo. Usando de outro blog (agora não me lembro, pois isso fiz a um bom tempo atrás), criei um pacote corrigido, que guardo comigo. Não é x64, mas funciona perfeitamente.
Pronto, seu minimodem será reconhecido, agora basta seguir o tutorial para conectar.
Proteção do HD (HDAPS)
Essa é uma das funções mais legais na minha opinião, o que a Lenovo do Brasil traduziu como “Air Bag” do disco rígido. Trata-se na verdade de um pequeno acelerômetro que informa ao computador quando está ocorrendo uma movimentação. Um software monitora isso e desativa o HD temporariamente, evitando que ocorram danos às cabeças de leitura. Essa função não está no HD, mas sim na placa mãe (ou na controladora de disco, não estou bem certo), e a prova é que troquei o HD do meu notebook para preservar as informações que estavam nele e a função continua funcionando.
Na verdade, o dispositivo, teoricamente, já está funcionando, pois o driver para ele já está disponível no próprio kernel do Debian Squeeze. No entanto, nada está sendo feito com as informações, pois não está instalado o software de monitoramento. Execute o comando abaixo:
# aptitude install hdapsd
Esse sisteminha vai fazer exatamente o que o software da Lenovo faz: interromper a leitura e escrita do HD caso o notebook se movimente bruscamente. No entanto você não vê isso acontecendo… Quer ver? É possível sim… Existem dois applets para isso. Um deles fica no painel do GNOME, outro é um pequeno software que abre uma janela com o desenho do notebook se movimentando junto com o acelerômetro.
No site da SourceForge referente ao Projeto HDAPS é possível baixar ambos os códigos fonte. Aí vem a parte meio “rutz”. Primeiro baixe os arquivos hdapsgl-applet e o hdaps-gl em suas últimas versões. Em seguida, você precisará dos pacotes de desenvolvimento do Python-GTK e do Glut. Para isso execute:
Em seguida desempacote o primeiro deles: hdapsgl-applet.
# tar xvzf hdapsgl-applet-XXXX.tar.gz
Onde XXXX é a versão do applet. Entre no diretório e siga o padrão “./configure && make install”
Pronto, já tem um dos applets instalado.
Agora desempacote o hdaps-gl:
# tar xvzf hdaps-gl-XXXX.tar.gz
Esse não precisa nem usar o ./configure. Apenas entre no diretório e rode o comando make. Terás um executável que pode ser copiado para o /usr/local/bin. Ao executá-lo uma janela será aberta com o desenho do notebook se mexendo conforme o notebook real mexer. Bem legal!
Synaptics e TrackPoint
O ThinkPad X200 Tablet não tem Synaptics, também conhecido como TouchPad, no entanto tem o inconfundível TrackPoint exclusivo dos computadores da linha ThinkPad. Esse dispositivo lembra muito os TrackBalls, no entanto não é uma bolinha, mas um botão que pode ser direcionado em qualquer posição. Esse dispositivo funciona relativamente bem, no entanto o botão do meio, por padrão, é “emulado”, o que não permite a emulação da roda do mause no botão central, como ocorre com o driver do Windows.
Para corrigir isso é mais simples do que parece. Basta instalar o pacote gpointing-device-settings, e usar a interface de configuração do GNOME para configurá-lo como quiser. No meu caso, ficou assim:
Desta forma o “Scroll” funciona tanto na vertical como na horizontal.
Até aqui a função de precionar o botão do TrackPoint e funcionar como um click com o botão esquerdo ainda não funciona, mas isso tambem é simples. Como root, edite o arquivo /etc/gdm3/Init/Default e vá até a última linha. Na linha logo antes desta (exit 0), inclua a linha abaixo:
Pronto, a função tap está ativa na inicialização do GDM. Para a ativação imediata, simplesmente execute a linha como root. Veja também essa página do ThinkWiki para mais informações.
Caneta de toque de tela
Esse dispositivo não é novo, e provavelmente já estará funcionando, no entanto o botão da caneta não funcionará como esperado (como botão direito), para isso é necessário configurar com os seguintes comandos:
xsetwacom set stylus Button1 1
xsetwacom set stylus Button2 3
xsetwacom set stylus Button3 3
Para automatizar isso, você pode colocar 3 linhas a mais no arquivo padrão do Debian /usr/share/X11/xorg.conf.d/20-wacom.conf, como segue:
$ cat /usr/share/X11/xorg.conf.d/20-wacom.conf
Section "InputClass"
Identifier "Wacom class"
# WALTOP needs a patched kernel driver, that isn't in mainline lk yet,
# so for now just let it fall through and be picked up by evdev instead.
# MatchProduct "Wacom|WALTOP|WACOM"
MatchProduct "Wacom|WACOM"
MatchDevicePath "/dev/input/event*"
Driver "wacom"
Option "Button2" "3"
Option "Button3" "2"
EndSection
Section "InputClass"
Identifier "Wacom serial class"
MatchProduct "Serial Wacom Tablet"
Driver "wacom"
Option "ForceDevice" "ISDV4"
EndSection
# N-Trig Duosense Electromagnetic Digitizer
Section "InputClass"
Identifier "Wacom N-Trig class"
MatchProduct "HID 1b96:0001"
MatchDevicePath "/dev/input/event*"
Driver "wacom"
EndSection
Na verdade, as únicas 2 linhas inseridas foram:
Option "Button2" "3"
Option "Button3" "2"
Dessa forma os botões já serão configurados como esperado.
xsetwacom set stylus Button1 1
xsetwacom set stylus Button2 3
xsetwacom set stylus Button3 3