Aplica-se a SUSE Linux Enterprise Desktop 12

5 Acesso remoto com VNC

O VNC (Virtual Network Computing) permite controlar um computador remoto por uma área de trabalho gráfica (ao contrário do acesso remoto a shell). O VNC é independente de plataforma e permite acessar a máquina remota de qualquer sistema operacional.

O SUSE Linux Enterprise Desktop suporta dois tipos diferentes de sessões VNC: sessões únicas, que permanecem ativas enquanto a conexão VNC do cliente está ativada, e sessões persistentes, que permanecem ativas até serem explicitamente terminadas.

Nota
Nota: Tipos de sessão

Uma máquina é capaz de oferecer ambos os tipos de sessões simultaneamente em portas diferentes, mas uma sessão aberta não pode ser convertida de um tipo em outro.

5.1 Sessões VNC únicas

Uma sessão única é iniciada por um cliente remoto. Ela inicia uma tela gráfica de login no servidor. Desse modo, você pode escolher o usuário que inicia a sessão e, se suportado pelo gerenciador de login, o ambiente de área de trabalho. Após terminar a conexão do cliente para essa sessão VNC, todos os aplicativos iniciados nessa sessão também serão terminados. Sessões VNC únicas não podem ser compartilhadas, mas é possível ter várias sessões em um único host ao mesmo tempo.

Procedimento 5.1 Habilitando sessões VNC únicas
  1. Inicie o YaST › Serviços de Rede › Administração Remota (VNC).

  2. Marque Permitir Administração Remota.

  3. Se necessário, marque também Abrir Porta no Firewall (por exemplo, quando a interface de rede estiver configurada para ficar na Zona Externa). Se você tem mais de uma interface de rede, restrinja a abertura de portas no firewall a uma interface específica em Detalhes do Firewall.

  4. Confirme as suas configurações clicando em Concluir.

  5. Caso nem todos os pacotes necessários já estejam disponíveis, aprove a instalação dos pacotes ausentes.

Nota
Nota: Configurações disponíveis

A configuração padrão no SUSE Linux Enterprise Desktop confere às sessões uma resolução de 1024 x 768 pixels com profundidade de cores de 16 bits. As sessões estão disponíveis nas portas 5901 para viewers VNC regulares (equivalente à exibição VNC 1) e na porta 5801 para browsers da Web.

É possível disponibilizar outras configurações em portas diferentes. Pergunte ao administrador do sistema.

Os números de exibição VNC e os números de exibição X são independentes nas sessões únicas. Um número de exibição VNC é atribuído manualmente a todas as configurações suportadas pelo servidor (:1 no exemplo acima). Sempre que uma sessão VNC é iniciada com uma das configurações, ela recebe automaticamente um número de exibição X livre.

5.1.1 Iniciando uma sessão VNC única

Para iniciar uma sessão VNC única, é preciso instalar um viewer VNC na máquina cliente. O viewer padrão dos produtos SUSE Linux é vncviewer, incluído no pacote tigervnc (padrão) ou, alternativamente, no pacote tightvnc. É possível também ver uma sessão VNC pelo browser da Web e por um applet Java.

Para iniciar seu viewer VNC e iniciar uma sessão com a configuração padrão do servidor, use o comando:

vncviewer jupiter.example.com:1

Em vez do número de exibição do VNC, você também pode especificar o número da porta com dois-pontos duplos:

vncviewer jupiter.example.com::5901

Se preferir, use um browser da Web compatível com Java para ver a sessão VNC digitando o seguinte URL: http://jupiter.example.com:5801

5.1.2 Configurando sessões VNC únicas

Você poderá ignorar esta seção se não precisar nem desejar modificar a configuração padrão.

As sessões VNC únicas são iniciadas pelo daemon xinetd. Um arquivo de configuração está localizado em /etc/xinetd.d/vnc. Por padrão, ele oferece seis blocos de configuração: três para viewers VNC (vnc1 a vnc3) e três para atender a um applet Java (vnchttpd1 a vnchttpd3). Por padrão, apenas vnc1 e vnchttpd1 estão ativos.

Para ativar uma configuração, comente a linha disable = yes com o caractere # na primeira coluna ou remova totalmente essa linha. Para desativar uma configuração, remova o comentário ou adicione a linha.

O servidor Xvnc pode ser configurado pela opção server_args. Consulte Xnvc --help para obter a lista de opções.

Ao adicionar configurações padrão, certifique-se de que elas não usem portas já em uso por outras configurações, outros serviços ou sessões VNC persistentes existentes no mesmo host.

Ative as mudanças na configuração digitando o seguinte comando:

sudo rcxinetd reload
Importante
Importante: Firewall e portas VNC

Ao ativar a Administração Remota conforme descrito no Procedimento 5.1, “Habilitando sessões VNC únicas”, as portas 5801 e 5901 são abertas no firewall. Se a interface de rede que atende às sessões VNC for protegida por firewall, será necessário abrir manualmente as respectivas portas ao ativar portas adicionais para as sessões VNC. Consulte o Chapter 15, Masquerading and Firewalls, Security Guide para obter instruções.

5.2 Sessões VNC persistentes

Uma sessão VNC persistente é iniciada no servidor. A sessão e todos os aplicativos iniciados nessa sessão são executados independentemente das conexões do cliente até a sessão ser terminada.

É possível acessar uma sessão persistente de vários clientes ao mesmo tempo. Isso é ideal para fins de demonstração em que um cliente tem acesso total, e todos os outros têm acesso apenas exibição. Outro cenário de uso são treinamentos em que o instrutor pode precisar acessar a área de trabalho do aluno. Mas, na maioria das vezes, você possivelmente não vai querer compartilhar sua sessão VNC.

Ao contrário das sessões únicas que iniciam um gerenciador de exibição, uma sessão persistente inicia uma área de trabalho pronta para funcionar executada como o usuário que iniciou a sessão VNC.

O acesso às sessões persistentes é protegido por dois tipos de senhas possíveis:

  • uma senha regular que permite acesso total ou

  • uma senha opcional apenas exibição que permite acesso não interativo (apenas exibição).

Uma sessão pode ter várias conexões de cliente de ambos os tipos de uma só vez.

Procedimento 5.2 Iniciando uma sessão VNC persistente
  1. Abra um shell e verifique se você está conectado como o usuário proprietário da sessão VNC.

  2. Se a interface de rede que atende às sessões VNC for protegida por firewall, será necessário abrir manualmente a porta usada pela sessão no firewall. Se você iniciar várias sessões, poderá também abrir uma faixa de portas. Consulte o Chapter 15, Masquerading and Firewalls, Security Guide para obter os detalhes sobre como configurar o firewall.

    O vncserver usa as portas 5901 para exibição :1, 5902 para exibição :2, e assim por diante. Para sessões persistentes, a exibição VNC e a exibição X geralmente têm o mesmo número.

  3. Para iniciar uma sessão com resolução de 1024 x 769 pixels e profundidade de cores de 16 bits, digite o seguinte comando:

    vncserver -geometry 1024x768 -depth 16

    O comando vncserver escolhe um número de exibição não usado quando nenhum número é especificado e imprime essa escolha. Consulte man 1 vncserver para ver mais opções.

Quando você executa o vncviewer pela primeira vez, ele pede uma senha para acesso total à sessão. Se necessário, forneça também uma senha de acesso apenas exibição à sessão.

A(s) senha(s) inserida(s) aqui também será(ão) usada(s) em sessões futuras iniciadas pelo mesmo usuário. Elas podem ser modificadas com o comando vncpasswd.

Importante
Importante: Considerações sobre segurança

Verifique se está usando senhas avançadas de tamanho significativo (oito ou mais caracteres). Não compartilhe essas senhas.

As conexões VNC não são criptografadas, portanto, quem conseguir detectar a(s) rede(s) entre as duas máquinas poderá ler a senha quando ela for transferida no início de uma sessão.

Para terminar a sessão, encerre o ambiente de área de trabalho executado na sessão VNC pelo viewer do VNC, da mesma forma que você encerra uma sessão X local regular.

Se preferir terminar a sessão manualmente, abra um shell no servidor VNC e certifique-se de estar conectado como o usuário que possui a sessão VNC que deseja terminar. Execute o seguinte comando para terminar a sessão em execução na exibição :1: vncserver -kill :1

5.2.1 Conectando-se a uma sessão VNC persistente

Para conectar-se a uma sessão VNC persistente, é preciso instalar o viewer do VNC. O viewer padrão dos produtos SUSE Linux é vncviewer, incluído no pacote tigervnc (padrão) ou, alternativamente, no pacote tightvnc. É possível também ver uma sessão VNC pelo browser da Web e por um applet Java.

Para iniciar o viewer do VNC e conectar-se à exibição :1 do servidor VNC, use o comando

vncviewer jupiter.example.com:1

Em vez do número de exibição do VNC, você também pode especificar o número da porta com dois-pontos duplos:

vncviewer jupiter.example.com::5901

Se preferir, use um browser da Web compatível com Java para ver a sessão VNC digitando o seguinte URL: http://jupiter.example.com:5801

5.2.2 Configurando sessões VNC persistentes

É possível configurar as sessões VNC persistentes editando $HOME/.vnc/xstartup. Por padrão, o script shell inicia o mesmo gerenciador de janelas/GUI do qual ele foi iniciado. No SUSE Linux Enterprise Desktop, pode ser o GNOME ou o IceWM. Para iniciar a sessão com um gerenciador de janelas de sua escolha, defina a variável WINDOWMANAGER:

WINDOWMANAGER=gnome vncserver -geometry 1024x768
WINDOWMANAGER=icewm vncserver -geometry 1024x768
Nota
Nota: Uma configuração para cada usuário

Sessões VNC persistentes são configuradas em uma única configuração por usuário. Várias sessões iniciadas pelo mesmo usuário utilizarão todos os mesmos arquivos de inicialização e senha.