DesktopRemotoPorVNC

Desktop Remoto com VNC

Este tutorial tem o objetivo de ajudar aqueles que desejam compartilhar uma sessão gráfica com outro usuário em um computador remoto usando VNC. O tutorial inclui a configuração e acesso tanto no cliente (que acessa a sessão remota) quanto no servidor (que compartilha a sessão para que o outro acesse).

Instalação e Configuração

Estação Servidora

Para o servidor são necessários dois programas:

  1. vino-server
  2. vino-preferences

Ambos já vem pré-instalados no Ubuntu, e correspondem ao pacote vino. Se por algum motivo este pacote não estiver instalado, você poderá instalá-lo com o seguinte comando:

$ sudo apt-get install vino

Então você poderá configurar o acesso à sua área de trabalho remota na barra de Menu, selecionando:

Sistema->Preferências->Área de Trabalho Remota

Ou com o seguinte comando no terminal gráfico:

$ vino-preferences

Aparecerá uma janela com o título Preferências da Área de Trabalho Remota. Segue uma representação em texto dos elementos que merecem destaque nesta janela:

Compartilhamento:
    [ ] Permitir que os outros usuários vejam sua área de trabalho
        [ ] Permitir que os outros usuários controlem sua área de trabalho

Segurança:
    [ ] Pedir confirmação
    [ ] Exigir que o usuário digite esta senha:
         Senha:  [____________________________________] 

As opções são auto descritivas, mas mesmo assim se você precisar de mais ajuda, ainda pode clicar no botão Ajuda.

Uma boa opção seria deixar a tela da seguinte maneira:

Compartilhamento:
    [*] Permitir que os outros usuários vejam sua área de trabalho
        [*] Permitir que os outros usuários controlem sua área de trabalho

Segurança:
    [*] Pedir confirmação
    [ ] Exigir que o usuário digite esta senha:
         Senha:  [____________________________________] 

Dessa forma, sempre que alguém desejar acessar a sua área de trabalho, aparecerá uma tela de confirmação informando que alguém deseja acessar a sua área de trabalho, e perguntando se você deseja permitir tal acesso, ou não.

Estação Cliente

Para acessar a área de trabalho remota, você precisa de um cliente VNC.

No Ubuntu, este cliente já vem instalado, podendo ser acessado de duas formas:

  1. Direto pela linha de comando, com o xvncviewer, ou
  2. Selecionando o protocolo VNC com o tsclient

Se por algum motivo estes pacotes não estiverem instalado, você poderá instalá-los com o seguinte comando:

$ sudo apt-get install xvncviewer tsclient

Exemplos de Uso

Imagine que você é um técnico de suporte/administrador linux da rede na sua empresa.

Um usuário X deseja instalar uma impressora, e pede a sua ajuda pelo telefone.

Você se conecta na máquina dele por VNC, e instala a impressora solicitada

Para isso, o usuário precisa informá-lo seu endereço IP.

Resumindo, basicamente você precisa saber:

  1. O endereço IP do usuário que está te ligando, e
  2. Conectar-se ao desktop do usuário usando VNC, e finalmente
  3. Instalar a impressora.

Obtendo o endereço IP do usuário

Existem várias maneiras de se obter um endereço IP de um usuário. A mais famosa delas é orientar o usuário a abrir um prompt de comando e orientá-lo a digitar no Terminal:

$ ifconfig eth0

... e procurar o endereço Ip. Mas, e se o usuário não souber reconhecer o endereço IP? E se ele nem souber o que é um prompt de comando? São por essas e outras que você precisa ser prevenido.

O ideal é deixar no desktop do usuário tudo preparado para que ele possa obter o endereço IP sem que seja preciso obrigá-lo a conhecer mais sobre um trabalho que deveria ser seu, apenas para que você possa atendê-lo sem sair da sua cadeira.

Uma maneira de fazer isso, é instalar um gdesklet para mostrar o IP. Existem vários desklets com esta função. Por ser uma estória muito comprida, optaremos por uma solução mais curta - embora gdesklets seja um ótimo brinquedo.

Observe o seguinte script: showifip

# showifip
# Mostrador de IP
# Mostra uma entry dialog contendo o endereço ip da interface selecionada
#
# Exemplo:
# $ showip eth0
#
# Mostra o diálogo:
#
#        #======== Mostrador de IP =======X
#        | O seu endereço ip é:           |
#        | [192.168.0.23________________] |
#        |--------------------------------|
#        |  [Cancelar]       [   OK   ]   |
#        '================================'
#
# 23 é um belo número?

 
INTERFACE=$1                       # eth0  = ethernet 0
                                   # ath0  = wireless 0
                                   # ppp0  = dial 0, etc

APPNAME="Mostrador de IP"          # Nome da barra de título
DISPLAYTEXT="O seu endereço ip é:" #Texto descritivo

ip=`ifconfig $INTERFACE | grep 'inet '`
ip="${ip%%  Bcast*}"
ip="${ip##*:}"

zenity --entry --entry-text="$ip" --title="$APPNAME"  --text="$DISPLAYTEXT"

Copie o arquivo acima para a sua área de transferência, então crie um aquivo executável em /usr/local/bin/showifip

$ sudo gedit /usr/local/bin/showifip
# Copia, salva, fecha o gedit, volta para o prompt
$ sudo chmod a+x /usr/local/bin/showifip
# Testando para ter certeza:
$ showifip eth0

Então crie um lançador na área de trabalho do usuário para mostrar o diálogo acima. Oriente o usuário a clicar nele sempre que precisar saber o ip.

Conectando-se ao desktop do usuário usando VNC

Usando xvncviewer

Apenas execute o comando

$ xvncviewer

A aplicação vai abrir uma janela perguntando a quem deseja se conectar. Apenas siga seus instintos.

Se você preferir tela cheia (fullscreen), execute:

$ xvncviewer -fullscreen

Quando desejar sair da tela cheia, pressione a tecla F8 para mostrar um menu com algumas opções. Dentre estas opções está a opção de sair.

Usando tsclient

Acesse o tsclient pelo comando

$ tsclient

Ou pela barra de menu:

Aplicações->Internet->Cliente do Terminal Server

Abrirá uma janela com o título de Cliente do Terminal Server. A aba Geral deverá estar selecionada.

Geral
  Propriedades do Logon
    Computador:  [_________________]
    Protocolo:   [v|_RDP_________|v]
 (...)
 (...)                  [ Conectar ]

Preencha com o Ip da máquina que você deseja visitar, no caso, a do usuário, selecione o protocolo VNC, e clique em conectar.

Geral
  Propriedades do Logon
    Computador:  [_192.168.0.23____]
    Protocolo:   [v|_VNC_________|v]
 (...)
 (...)                  ]>Conectar<[

Na tela do usuário aparecerá uma caixa de diálogo pedindo confirmação. Caso o usuário permita o seu acesso, você estará no controle.

É muito importante que se exija confirmação de acesso aos terminais dos usuários de uma empresa. Caso contrario eles ficarão em dúvida se estão sendo espionados.

Considerações Finais

Existem outros modos de acessar um terminal remoto, que não por VNC.

O VNC é indicado somente quando é desejado dividir o controle da sessão do usuário remoto com o próprio, pois tudo que for feito por qualquer um dos usuários será exibido nos dois monitores, e isso impede que os dois usuários trabalhem no mesmo computador ao mesmo tempo.

Se o seu desejo é apenas acessar um computador remoto com uma sessão gráfica, experimente o recurso XDMCP do servidor X. Com ele é possível iniciar uma sessão gráfica em um computador e controlá-la em um outro. Assim é possível que vários usuários acessem os recursos de um mesmo computador sem que um atrapalhe o outro.

É muito fácil configurar o acesso por XDMCP no Ubuntu. Basta configurar o GDM para tal. Acesse aqui um tutorial completo de como fazê-lo: [DesktopRemotoPorXDMCP]


CategoryDocumentacao

DesktopRemotoPorVNC (last edited 2011-09-19 23:22:05 by localhost)