Guacamole - VNC no navegador

Publicado por Willian Oliveira em 01/02/2011

[ Hits: 12.087 ]

 


Guacamole - VNC no navegador



Olá,

Já faz um certo tempo, eu estava procurando uma solução VNC para utilizar no navegador e achei um aplicativo que faz justamente isso. Quebrei a cabeça para configurar e entender o que estava acontecendo (os erros), mas agora eu aqui para compartilhar com todos a minha experiência.

Primeiramente eu vou apresentar o site oficial:
Depois no próprio site oficial tem um guia para instalação:
Porém eu não sei utilizar o servidor para rodar a aplicação (Tomcat - Apache com Java) e aí que vieram as perguntas, "Como usa? Como funciona? E agora?".

Aí veio o santo Google, que me ajudou a achar esse site:
E me deu uma luz. =D

Eu até montei um script para "auto configurar", fazer todo o trabalho "sujo"...

#!/bin/bash

#Variáveis
dir_download="/guacamole"
dir_tomcat="/etc/tomcat6"
#Senha do usuário para entrar no sistema
senha="guacamole"
#Configurações do servidor VNC
porta="5900"
servidor="localhost"
#Descomente a linha para habilitar
senha_vnc=""

#Baixa os arquivos necessarios
apt-get install tomcat6 x11vnc apache2

#Com o XINETD
#apt-get install xinetd

#Cria o diretório do download
mkdir $dir_download
#Olha a gambiarra =P
cd $dir_download

#Baixa o Guacamole
wget http://downloads.sourceforge.net/project/guacamole/guacamole-0.2.6.tar.gz

#Comandos fixos
tar -xvf $dir_download/guacamole-0.2.6.tar.gz

#Cria o diretório da biblioteca
mkdir -p /var/lib/guacamole

#Copia os arquivos
cp $dir_download/guacamole-0.2.6/guacamole.war /var/lib/guacamole
cp $dir_download/guacamole-0.2.6/guacamole-users.xml /etc/tomcat6/
cp $dir_download/guacamole-0.2.6/guacamole.xml /etc/tomcat6/Catalina/localhost/

#Arquivo dos usuários
echo "<?xml version='1.0' encoding='utf-8'?>

<tomcat-users>
  <role rolename="guacamole"/>
  <user username="guacamole" password="$senha" roles="guacamole"/>
</tomcat-users>" > $dir_tomcat/guacamole-users.xml

#Configuração do servidor

echo "<?xml version="1.0" encoding="UTF-8"?>

<Context antiJARLocking="true" path="/guacamole" docBase="/var/lib/guacamole/guacamole.war">

    <!-- Change the lines below to match your VNC server -->
    <Parameter name="host" value="$servidor"/>
    <Parameter name="port" value="$porta"/>


    <!-- Senha (VNC Autenticação) -->

    <!--
    <Parameter name="password" value="$senha_vnc"/>
    -->


    <!-- Bits-per-pixel

         This parameter controls what color depth should be
         requested from the VNC server.

         Valid values are "8", "16", or "24". -->

    <!--
    <Parameter name="bpp" value="24"/>
    -->


    <!-- Saida de cores (pro cliente web ) bits-per-pixel.

         Valid values are "8" or "24". -->


    <Parameter name="output-bpp" value="24"/>


    <Realm className="org.apache.catalina.realm.MemoryRealm" pathname="conf/guacamole-users.xml"/>
</Context>
" > /etc/tomcat6/Catalina/localhost/guacamole.xml

#Extra
#x11vnc configuração no XINETD

#touch /etc/xinetd.d/x11vnc
#echo "service x11vnc
#{
#    port        = 5900
#    only_from   = localhost
#    type        = UNLISTED
#    socket_type = stream
#   protocol    = tcp
#    wait        = no
#    user        = root
#    server      = /usr/bin/x11vnc
#    server_args = -inetd -display :0 -o /var/log/x11vnc.log -24to32 -scr always -xkb
#    disable     = no
#}" > /etc/xinetd.d/x11vnc

#Inicia o servidor
x11vnc -forever &

Como eu fiz os testes no Ubuntu, eu utilizei o VNC Server que já vem instalado, ativando em:

Sistema -> Preferências -> Área de trabalho remota

Porém você pode utilizar qualquer outro.

ATENÇÃO! Os testes foram realizados no Ubuntu 10.10, em outras distribuições eu acho que pode mudar a pasta do Tomcat, então é bom saber onde fica o diretório antes de rodar o script (se for rodar).

É só isso mesmo, Se você leu até aqui, muito obrigado pela paciência.

Até a próxima.

Willian Oliveira

Outras dicas deste autor

Daemon Tools no Linux?

Linux também tem jogos

Do Windows para o Linux

Leitura recomendada

Bloqueando requisições ICMP (ping)

Flash sem áudio - Slackware Linux 12.2

Autenticação automática no IG

Compartilhar a internet

Madwifi - Wireless sem complicação

  

Comentários
[1] Comentário enviado por projeto_cem em 02/02/2011 - 00:53h

Uma pequena correção no Script.

#!/bin/bash


#Variáveis

dir_download="/guacamole"
dir_tomcat="/etc/tomcat6"
#Senha do usuário para entrar no sistema
senha="guacamole"
#Configurações do servidor VNC
porta="5900"
servidor="localhost"
#Descomente a linha para habilitar
senha_vnc=""

#Baixa os arquivos necessarios
apt-get install tomcat6 x11vnc apache2

#Com o XINETD
#apt-get install xinetd

#Cria o diretório do download
mkdir $dir_download
#Olha a gambiarra =P
cd $dir_download

#Baixa o Guacamole
wget http://downloads.sourceforge.net/project/guacamole/guacamole-0.2.6.tar.gz

#Comandos fixos
tar -xvf $dir_download/guacamole-0.2.6.tar.gz

#Cria o diretório da biblioteca
mkdir -p /var/lib/guacamole

#Copia os arquivos
cp $dir_download/guacamole-0.2.6/guacamole.war /var/lib/guacamole
cp $dir_download/guacamole-0.2.6/guacamole-users.xml /etc/tomcat6/
cp $dir_download/guacamole-0.2.6/guacamole.xml /etc/tomcat6/Catalina/localhost/


#Arquivo dos usuários
echo "<?xml version='1.0' encoding='utf-8'?>

<tomcat-users>
<role rolename="guacamole"/>
<user username="guacamole" password="$senha" roles="guacamole"/>
</tomcat-users>" > $dir_tomcat/guacamole-users.xml

#Configuração do servidor

echo "<?xml version="1.0" encoding="UTF-8"?>

<Context antiJARLocking="true" path="/guacamole" docBase="/var/lib/guacamole/guacamole.war">

<!-- Change the lines below to match your VNC server -->
<Parameter name="host" value="$servidor"/>
<Parameter name="port" value="$porta"/>


<!-- Senha (VNC Autenticação) -->

<!--
<Parameter name="password" value="$senha_vnc"/>
-->


<!-- Bits-per-pixel

This parameter controls what color depth should be
requested from the VNC server.

Valid values are "8", "16", or "24". -->

<!--
<Parameter name="bpp" value="24"/>
-->


<!-- Saida de cores (pro cliente web ) bits-per-pixel.

Valid values are "8" or "24". -->


<Parameter name="output-bpp" value="24"/>


<Realm className="org.apache.catalina.realm.MemoryRealm" pathname="conf/guacamole-users.xml"/>
</Context>
" > $dir_tomcat/Catalina/localhost/guacamole.xml

#Extra
#x11vnc configuração no XINETD

#touch /etc/xinetd.d/x11vnc
#echo "service x11vnc
#{
# port = 5900
# only_from = localhost
# type = UNLISTED
# socket_type = stream
# protocol = tcp
# wait = no
# user = root
# server = /usr/bin/x11vnc
# server_args = -inetd -display :0 -o /var/log/x11vnc.log -24to32 -scr always -xkb
# disable = no
#}" > /etc/xinetd.d/x11vnc

#Reiniciar o tomcat6
invoke-rc.d tomcat6 restart
#Inicia o servidor
x11vnc -forever &



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts