Para isto é necessário ter instalado o tightvnc ou nas distros baseada em ubuntu os pacotes tightvncserver e xvnc4viewer.
Como usar o tightvnc:
$ vncpasswd (cria a senha de acesso para o seu computador)
$ vncserver (ativa o servidor vnc)
$ vncviewer (cliente para controlar o computador que está rodando o servidor vnc)
Para quem usar o desktop xfce4 para que o mesmo seja mostrado na janela do vnc, seja nas distro ubuntu ou derivadas e de outras distros ou Windows é necessário colocar algumas linhas no arquivo ~/.vnc/xstartup do computador a ser controlado. Caso não seja colocadas as linhas referente ao ambiente xfce4, será exibido uma janela de fundo cinza sem nada e o clique do mouse para tentar exibi algum menu suspenso também não funcionará.
O conteúdo do arquivo ~/.vnc/xstartup deve ter as seguintes linhas para poder visualizar o desktop xfce4, caso faltar alguma delas, alguma coisa não funcionará corretamente dentro da janela do vnc.
unset SESSION_MANAGER (necessário para alguns gerenciadores de janela)
/etc/X11/Xsession (necessário para alguns gerenciadores de janela)
/usr/bin/xfce4-session &
xfwm4 &
Thunar --daemon &
xfsettingsd &
xfce4-panel &
xfdesktop &
startxfce4 &
As linha acimas em azul são todas referente ao desktop xfce4.
Com tudo pronto, agora qualquer computador da sua rede local ou pelo internet poderá acessar o seu remotamente pelo vnc, mesmo que eles usem outros programas de vnc diferentes.
Com o vnc instalado e configurado o ambiente xfce4 no arquivo ~/.vnc/xstartup do computador de nome mesa, para acessar a partir de um outro micro da sua rede local faça:
$ vncviewer mesa:1
Onde vncviewer é o programa que irá visualizar o desktop do computador mesa a ser controlado (o computador que vai ser controlado deve está rodando o servidor vncserver).
Para exibir o menu da janela do vncviewer tecle F8.
Notas:
Computadores com Linux, sempre deve especificar imediatamente após o nome do computador ou IP o número da instância do vncserver (:1), mesmo a partir de um computador rodando Windows.
Acesso pelo IP da rede numa rede local: vncviewer 192.168.1.110:1
O valor 1 após 2 pontos (:1) é obrigatório, e indica o o número da instância, que é fornecido ao executar o vncserver (somente pra computadores com Linux), não tendo nada a ver com o IP.
Caso você tenha apenas um computador você pode acessar o mesmo pelo vnc para saber como é o funcionamento do mesmo e que será idêntico como se fosse a partir de um outro computador e que também servirá para testar as opções configuradas no arquivo ~/.vnc/xstartup sem precisar ter outro computador por perto para fazer o teste.
Toda nova configuração que você fizer no arquivo ~/.vnc/xstartup você deve finalizar o servidor vncserver e iniciar novamente o mesmo para utilizar a nova configuração.
Use o seguinte comando, sendo que o nome do servidor do vncserver varia conforme o tipo do pacote do vnc e da distro usada.
Exemplo para terminar o servidor vncserver.
$ killall Xvnc
$ killall Xtightvnc
As configurações padrão do arquivo ~/.vnc/xstartup podem varia de distro para distro.
Outros gerenciadores de janelas
No arquivo ~/.vnc/xstartup, para poder utilizar outros gerenciadores de janela instalados diferente do padrão da distro é necessário comentar a linha /etc/X11/Xsession e caso você não querer usar o desktop xfce4 remova ou comente todas as linhas referente ao xfce4 ou simplesmente exclua este arquivo, pois quando for executado novamente o vncserver será criado outro arquivo com as opções padrão, caso o mesmo não existir no diretório ~/.vnc.
Exemplo de outro gerenciador de janela no arquivo ~/.vnc/xstartup
wmaker &
Tamanho da janela vncviewer
Quando você executar o servidor vncserver por padrão ele utiliza a resolução utilizada pelo seu desktop para os outros micros que acessar o seu remotamente.
Por exemplo, o micro mesa que executou o vncserver sem parâmetros por padrão usar resolução 1280x1024 então quem acessar a sua maquina remotamente utilizará esta resolução na janela do vncviewer e no caso do micro controlador utilizar a mesma resolução de tela haverá um barra de rolagem, com um espaço pra rolar um pouquinho já que ambos computadores usam a mesma resolução de tela. Se o micro controlador usa uma resolução maior não haverá barra de rolagem na janela do vncviewer.
Caso o micro controlador usa uma resolução inferior ao seu haverá barra de rolagem para rolar a janela com bastante espaço pra rolar a tela, o que é ruim para exibir a barra de programas ou a barra de títulos do programa executado dentro da janela do vnc tendo que está sempre rolando a janela para acessar o item desejado.
Por exemplo o micro que vai controlar o seu usa resolução de 1024x768 e o seu computador que executou o vncserver por padrão usa 1280x1024 de resolução, então você deve especificar uma resolução menor que é usada no micro que vai controlar o seu remotamente para não exibir a barra de rolagem nele, como por exemplo 800x600 que é um tamanho ideal pra o micro que vai controlar o seu remotamente se ele usa resolução 1024x768.
$ vncserver -depth 16 -geometry 800x600
Pronto, agora o computador que irá controlar o seu cujo o desktop do mesmo usa uma resolução de 1024x768, não mais haverá barra de rolagem na janela do vnc já que o desktop remoto aparece por inteiro.
Xfce4 do Slackware 13.1
Já no arquivo ~/.vnc/xstartup da distro Slackware 13.1 a linha exec /etc/X11/xinit/xinitrc devem ser comentada para que funcione a visualização do desktop xfce4.
A linha xfwm4 & usada no Xubuntu sem opções não funciona corretamente as janelas no Slackware, devendo acrescentar as opções --replace --display :1.0 (xfwm4 --replace --display :1.0 & )
Ser não usar a opção --replace --display :1.0 não será exibida a barra de títulos das janelas, não tendo como minimizar, mover ou fechar a janela, tendo que usar o menu Arquivo da aplicação para fechar a mesma).
Outros gerenciadores de janelas no Slackware 13.1
As duas linhas do arquivo ~/.vnc/xstartup abaixo devem ser comentadas (# sustenido na frente), sendo que o padrão é descomentadas.
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
Elas devem está comentadas pois se não tiver não será exibido o desktop wmaker ou qualquer desktop simples de window managers pra o X e sim o desktop padrão do sistema ou conforme uma configuração errada apenas uma tela cinza com o cursor do mouse.
Outras:
Para que computadores Windows também possam ver o desktop do computador Linux é necessário configurar o gerenciador de janela no arquivo ~/.vnc/xstartup, pois senão será apresentado apenas uma janela com fundo cinza sem nada na mesma.