quinta-feira, 13 de janeiro de 2011

Usando um smartphone Android como segundo monitor

O post de hoje é bem simples. Algumas pessoas sabem que eu tenho uma fissura em tecnologia, e sinceramente uma das coisas mais legais pra mim é poder controlar remotamente equipamentos eletrônicos.

Pensando nisso, hoje me veio uma idéia na cabeça. Eu estava tentando achar uma forma de acessar meu Milestone do meu computador, quando me veio uma idéia inversa: e se eu acessasse meu computador do meu Milestone?

Sim, a idéia não é nova mas fiquei curioso de experimentar. Continue lendo pra saber mais...




Então, a idéia é simples: Fazer com que o Milestone pudesse exibir o que está se passando na tela. Até aí é fácil, só usar o VNC. Mas, poderíamos ir além ...

E esse foi justamente o diferencial: E se pudéssemos acessar uma área de trabalho específica para o tamanho de tela do Milestone?

Solução? VNC, claro!

Primeiramente, a gente precisa ter instalado o VNC Server. No Ubuntu é fácil:

manutec@manutec:~$ sudo apt-get install vnc4server


Em seguida, vamos criar uma sessão do VNC com o tamanho de nossa tela. No caso do Milestone, a resolução é FWVGA (480 x 854). Então, nosso comando ficará assim:

manutec@manutec:~$ vncserver -geometry 854x480 -alwaysshared


A opção -alwaysshared é necessária mais para frente, já que ela permite que mais de um cliente se conecte à sessão do VNC.

Em seguida, vamos nos conectar no nosso recém criado servidor a partir do android usando o android-vnc-viewer. Para facilitar as coisas, o QR Code para a aplicação está listada aí ao lado.

Bem, até o momento não há nada acontecendo nessa sessão criada pelo VNC server. É agora que a a coisa realmente acontece.

Vamos usar o programa x2vnc para fazer com que o sistema reconheça essa sessão do VNC como um segundo monitor e, com isso, poderemos usar o mouse e o teclado do computador aí dentro. Para isso só precisamos apontar para o programa em qual display ele deverá se conectar:

manutec@manutec:~$ x2vnc localhost:1


Por padrão, o x2vnc coloca a segunda tela à direita do monitor (que nem nas máquinas Windows). Mas, você pode alterar esse comportamento usando as opções -north -south -east e -west para colocar a segunda janela onde você bem entender.


Para abrir aplicações diretamente nessa tela, você pode usar um terminal e criar uma variável que faz com que as aplicações abram na tela do seu dispositivo:

manutec@manutec:~$ export DISPLAY=:1
manutec@manutec:~$ firefox &
[1] 20933



Então, assim você pode usar seu Android Device como uma segunda tela sem precisar gastar muito com isso. Imagine isso com um Galaxy Tab? Não vai ser massa?

Então, é isso! Espero que tenham gostado da dica!