De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Inicializando múltiplos servidores VNC no Ubuntu

Colaboração: Juan Carlos Castro y Castro

Data de Publicação: 02 de Outubro de 2006

As distros Red Hat e Fedora (e suas muitas derivadas) vêm com um script de inicialização muito interessante. Ele permite que vários usuários comuns definam seus servidores VNC independentemente e o administrador da máquina escolhe quais devem ser carregados no boot, qual o "número de tela" virtual que cada um vai ter, e até atributos como resolução e número de cores. Nessas distros esse arquivo é /etc/sysconfig/vncservers e o script de inicialização é /etc/init.d/vncserver -- faz parte dos chamados "System V style init scripts".

O Ubuntu, pelo menos na versão Dapper Drake, não tem esse script. Apresento aqui uma versão modificada do /etc/init.d/vncserver que pode ser instalada no Ubuntu (e muito provavelmente na maioria das distros derivadas do Debian) e provê as mesmas facilidades.

Passo 1: Habilitar o repositório Universe do Ubuntu.

Passo 2: Instalar os pacotes necessários:

  apt-get install vnc4server vnc4-common sysv-rc-conf twm

Passo 3: Baixar o script de inicialização:

  cd /etc/init.d
  wget http://users.vialink.com.br/jcastro/vncserver
  chmod a+x vncserver

Passo 4: Transformar o script em um "serviço":

  update-rc.d vncserver defaults 91 35

Passo 5: Configurar os VNC servers da rapaziada. Para cada conta em questão, logue-se como esse usuário e rode o seguinte comando para definir a senha de VNC que ele terá:

  vncpasswd

E crie também um arquivo ~/.vnc/xstartup com o seguinte conteúdo:

  #!/bin/sh
  
  # Uncomment the following two lines for normal desktop:
  #unset SESSION_MANAGER
  #exec /etc/X11/Xsession
  
  [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
  [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
  xsetroot -solid grey
  vncconfig -iconic &
  xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
  twm &

Não esqueça de dar permissão de execução:

  chmod a+x ~/.vnc/xstartup

Esse arquivo fará com que a tela virtual desse usuário use uma GUI "minimalista", com o econômico gerenciador de janelas twm. Para que, em vez disso, apareça o GNOME, basta descomentar as linhas que começam com "unset" e "exec".

Passo 6: Definir os VNC servers que serão carregados no boot. Crie o arquivo /etc/vncservers da exata maneira que você criaria o /etc/sysconfig/vncservers no Red Hat. O exemplo abaixo carrega dois VNC servers para os usuários Zé e Mané, com tamanhos de tela diferentes:

  VNCSERVERS="1:ze 2:mane"
  VNCSERVERARGS[1]="-geometry 896x672"
  VNCSERVERARGS[2]="-geometry 640x480"

Passo 7: Dê reboot no seu Ubuntu para se certificar que os init scripts estão rodando. De outra máquina Linux ou Windows, você pode acessar as GUIs dos dois usuários passando "endereço_da_máquina:1" ou "endereço_da_máquina:2" para o VNC Viewer.

Adendo: Para definir quais serviços serão iniciados no boot, pode-se usar o utilitário "sysv-rc-conf", que é muito similar ao "ntsysv" do Red Hat.

Adendo do Adendo: Vale a pena ler também esta dica anterior sobre uma maneira alternativa de usar o VNC: http://www.dicas-l.com.br/dicas-l/20050614.php

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Juan Carlos Castro y Castro