Autor: César erro404
Data de criação: 15 de Agosto de 2002.
| 1. Que é VNC? | ||
| 2. Instalação VNC sob FreeBSD | ||
| 3. Configuracion VNC | ||
| 3.1 Script de configuração | ||
| 3.2 VNC como serviço | ||
| 3.3 VNC como demonio | ||
| 4. Conectando através de VNC | ||
VNC, acrónimo de Virtual Network computing, permite usar meios X de máquinas remotas não necessariamente com o mesmo sistema operativo. O protocolo VNC está construído sobre a arquitetura cliente-servo, assim para conectar a uma máquina remota é imprescindível que esta esteja correndo um servo VNC e para conectar a ela precisámos um cliente VNC. Apesar de que existem muitas e muito variadas modificações de VNC descritas no lugar web de VNC, neste documento se descreve como fazer funcionar VNC com vncserver e vncviewer, isto é servo e cliente.
A instalação de VNC não difere da instalação de qualquer outro software que esteja na árvore de ports.
baco# cd /usr/ports/net/vnc baco# make baco# make install baco# make distclean
A traves dos passos de configuração que se explicam a continuação saberemos ademais escolher o meio X que desejemos, como adicioná-lo a nosso inetd.conf se queremos tê-lo como demonio.
O primeiro passo é lançar o servo (desaconsejable como root)
baco$ vncserver
You will require a password to access your desktops. Password: Verify: New 'X' desktop is baco.orangizer.com:1 Creating default startup script /home/usuário/.vnc/xstartup Starting applications specified in /home/usuário/.vnc/xstartup Log file is /home/usuário/.vnc/baco.orangizer.com:1.log
O porque de executar vncserver neste ponto é para que nos crê em nosso home o diretório .vnc com o script de configuracion xstartup, também o podemos fazer a mão, mas ao autor disto lhe pareceu mas cómodo desta maneira. Como se vê no exemplo, se nos pede uma contraseña para aceder ao escritorio, esta contraseña é inerente a cada usuário com permissões para usar vncserver. Podemos mudá-la em qualquer momento mediante o comando vncpasswd, que ao igual que vncserver devesse estar no path, concretamente em usr //X11R6/bin/.
Não esqueçamos matar a sesion que acabámos de lançar antes de seguir adiante com a configuração, para matar uma sessão usaremos.
baco$ vncserver -kill :1.
O 1 é o numero de sessão, uma espécie de pid que lançámos anteriormente como se pode ver na mensagem
New 'X' desktop is baco.orangizer.com:1.
3.1 Script de configuração
O seguinte passo é configurar o script que vncserver criou por defeito, para isso editaremos o arquivo /.vnc/xstartup. Neste ponto entra a personalização de cada qual.
Se queremos que seja kde o escritorio a usar#!/bin/sh exec startkdeSe queremos que seja gnome
#!/bin/sh exec gnome-sessionOu qualquer que seja vosso escritorio favorito.
Uma vez feito isto tão só temos que lançar de novo vncserver, pronto para utilizar, podemos especificar a resolução e a profundidade de tela tal que:baco$ vncserver -geometry 1024x768 -depth 24.Como no primeiro caso vncserver estará correndo.
3.2 VNC como serviço
Chegado este ponto, e se queremos que vncserver corra sempre em nossa máquina temos duas possibilidades, que vncserver corra como serviço ou como demonio. Se queremos que vnc corra como serviço podemos fazer um simples script como este em usr //local/etc/rc.d/ Lhe chamaremos vnc.sh por exemplo
#!/bin/sh # Script de início VNC # Antes de copiar e colar substitui usuário pelo usuário desejado case "$1" in start) # Por se as moscas if %[ -f /tmp/.X1-lock ]; then rm -f /tmp/.X11-unix/X* rm -f /tmp/.X?-lock fi # Comprovámos que não tenha outra sesion correndo if %[ -f /home/usuário/.vnc/*.pid ]; then echo -n 'Já há uma sesion VNC correndo' exit 65 fi # Substitui usuário pelo usuário com o que queiras lançar vncserver. # Lançámos a 1024x768 seu - usuário -c /usr/X11R6/bin/vncserver -geometry 1024x768 -depth 24 & echo -n ' VNCserver' ;; stop) # Substitui /home/usuário pela rota ao home de usuário. if %[ -f /home/usuário/.vnc/*.pid ]; then # Mata VNC killall Xvnc rm -f /home/usuário/.vnc/*.pid # Descomentar a seguinte linea se tambien queremos apagar os log # rm -f /home/usuário/.vnc/*.log echo -n ' VNCserver' fi ;; *) echo "Usage: ${0##*/}: { start | stop }" 2>&1 exit 65 ;; esacNão olvideis fazer a continuação
baco# chmod +x /usr/local/etc/rc.d/vnc.shUma vez feito isto cada vez que iniciemos a máquina estaremos iniciando o servo VNC, tambien podemos iniciá-lo a mão combaco# /usr/local/etc/rc.d/vnc.sh starte pará-lo com
baco# /usr/local/etc/rc.d/vnc.sh stop3.3 VNC como demonio
Outra das maneiras, preferida por muitos é iniciar vnc como demonio, para levar a cabo esta opção tens de editar em primeiro lugar o arquivo /etc/services e adicionar a seguinte linea:
vnc 5950/tcpA continuação edita /etc/inetd.conf e adiciona:
vnc stream tcp nowait root /usr/X11R6/bin/Xvnc Xvnc -inetd -onze -geometry 1024x768 -depth 24.Vnc se iniciará como demonio com inetd.
Como figura no primeiro apartado podemos encontrar um cliente VNC para conectar a nosso servo para vários sistemas operativos, nomearemos o próprio de FreeBSD que foi instalado já ao instalar o servo e o de MS Windows, ambos os podem encontrar-se na seccion download da página de AT&T. Para correr vncviewer, o cliente vnc em FreeBSD temos que ter iniciado uma sessão X e desde um Xterm teclear:
baco# vncviewer host.domínio.com:1.
Onde, lembremos, 1 é o numero de pid de vnc. Desde MS Windows iniciaremos vncviewer.exe e teclearemos o mesmo que no exemplo anterior no campo de texto.
* NOTA O cliente Windows se distribui com o pacote VNC para Windows, apenas são 300Kb e não precisa instalação alguma.
Outra forma de conectar é mediante navegador, VNC lança um servo web no porto 58XX onde XX volta a ser o pid de vnc, deste modo se queremos conectar a nosso escritorio com o navegador abriremos:
http://host.domínio.com:5801.
Este cliente web é um pesado applet java mas pode servir-nos de ajuda em alguma ocasião.