Voltar ao blog

Instalando e Configurando o Virtual Network Computing (VNC) no Ubuntu 20.04

Instalando e Configurando o Virtual Network Computing (VNC) no Ubuntu 20.04

O Virtual Network Computing (VNC) é um sistema de compartilhamento de tela usado para acessar interfaces gráficas de usuário remotamente. Ele usa o protocolo remote frame buffer, permitindo que um servidor (lado do usuário) se conecte a outro lado (cliente). O VNC é seguro, protegido e funciona em todos os sistemas operacionais.

RealVNC, UltraVNC, Xfce, TightVNC, para citar alguns, são os clientes VNC mais populares usados hoje. Entre a lista de alternativas disponíveis, você está livre para escolher qualquer VNC de sua preferência. Neste tutorial, vamos orientá-lo nas etapas de instalação e configuração do VNC no Ubuntu 20.04. Nós vamos instalar Xfce por causa de sua velocidade, leveza e excelente desempenho.

Começaremos configurando um servidor VNC em um servidor Ubuntu e estabelecendo uma conexão segura através do túnel SSH. Finalmente, usaremos um programa cliente VNC em nossa máquina local para interagir com o servidor através de um ambiente de desktop gráfico.

Pré-requisitos

Para seguir este tutorial, você precisará de:

Passo 1 — Instalar o Ambiente de Desktop e o Servidor VNC

Ao contrário das versões anteriores do Ubuntu, o Ubuntu 20.04 não vem com um VNC pré-instalado. Como primeiro passo, instalaremos os pacotes necessários a partir do repositório oficial do Ubuntu. Antes de prosseguir, vamos atualizar os pacotes existentes:

Agora instalaremos o Xfce e o pacote xfce4-goodies usando o comando:

Enquanto o seu pacote está sendo instalado, você verá uma tela solicitando que escolha um gerenciador de exibição padrão para o Xfce. Ignore a mensagem ou defina-o como padrão e, em seguida, pressione ENTER.

Um gerenciador de exibição é um programa que permite aos usuários fazer login em um ambiente de desktop por meio de uma interface gráfica. Neste tutorial, usaremos o Xfce ao conectar com um cliente VNC onde estamos logados como um usuário Ubuntu não-root. Portanto, a escolha do gerenciador de exibição não terá nenhum impacto em nossa instalação.

Após a instalação do Xfce, instalaremos o servidor TightVNC:

No próximo passo, use o vncserver comando para definir uma senha de acesso VNC e criar os arquivos de configuração iniciais. Digite o seguinte para iniciar a instância do servidor VNC:

Depois disso, defina uma senha de 6 a 8 caracteres e pressione ENTER. Você verá uma mensagem de prompt:

Depois de verificar a senha, você terá a opção de criar uma senha de apenas visualização. Os usuários que fizerem login usando a senha de apenas visualização ficam restritos de controlar o VNC com o mouse ou teclado. Novamente, isso é apenas recomendado e você pode ativá-lo se precisar, caso contrário, pode ignorá-lo.

No futuro, se desejar alterar sua senha ou adicionar uma senha de apenas visualização, use o comando:

A esta altura, você já terá todas as configurações padrão criadas para o servidor, e uma porta de exibição 5901 iniciada como :1. O VNC pode iniciar múltiplas instâncias em outras portas de exibição como :2, :3, e :4 referindo-se à porta 5902, 5903, e 5904 respectivamente:

Seu servidor VNC está agora instalado e em execução com sucesso. No próximo passo, vamos configurar o servidor para iniciar o Xfce para obter acesso através da interface gráfica.

Passo 2— Configurar o Servidor VNC

No diretório home, você encontrará a .vnc pasta que contém todos os arquivos de configuração chamados startup. Inicialmente, você encontrará o arquivo startup em execução, que foi criado automaticamente quando executamos o comando vncserver no Passo-1. O script de inicialização foi criado quando você executou o vncserver comando no passo anterior. No entanto, agora você criará o seu próprio para iniciar a área de trabalho Xfce. Também teremos que criar nosso próprio servidor para iniciar a área de trabalho Xfce porque a configuração do VNC mudará.

Antes de prosseguir, temos que parar a instância do servidor VNC em execução na porta 5901:

Você verá a saída:

Em vez de 17648, você pode obter um número diferente e tudo bem. Em seguida, vamos modificar o xstartup arquivo. Antes de fazer qualquer modificação no arquivo, vamos fazer o backup do arquivo original:

Em seguida, crie um novo xstartup arquivo e abra-o em qualquer editor de texto. Neste tutorial, estamos usando nano:

Depois de concluído, adicione as seguintes linhas ao arquivo:

Sempre que você iniciar ou reiniciar o servidor VNC, esses comandos serão executados automaticamente. A primeira linha é Shebang que informa o sistema sobre as informações do intérprete para passar o ~/.vnc/xstartup arquivo para execução. A próxima linha xrdb $HOME/. Xresources, informa o framework GUI do VNC a ler o arquivo Xresources do usuário do servidor. Finalmente, a última linha solicita ao servidor que inicie o Xfce. Depois de adicionar essas linhas, salve e feche o arquivo.

Precisamos tornar o arquivo executável para que o servidor VNC possa usar o novo arquivo de inicialização:

Em seguida, reinicie o servidor VNC:

Agora você terá o -localhost opção adicionada aqui. O localhost vincula o servidor VNC à interface de loopback do seu servidor, permitindo conexões apenas de servidores instalados. Em seguida, estabeleceremos um túnel SSH entre nossa máquina local e o servidor. O objetivo é adicionar uma camada extra de segurança ao redor do VNC. Por quê? É porque os usuários que terão acesso serão aqueles que já possuem acesso SSH ao servidor.

Você verá a seguinte saída:

Depois que a configuração estiver definida, estaremos prontos para nos conectar ao servidor VNC a partir da nossa máquina local.

Passo 3 — Conectar-se com segurança ao desktop VNC

Ao se conectar ao servidor, o VNC não usa protocolos seguros. Portanto, precisamos estabelecer um túnel SSH e solicitar que o cliente VNC faça uma conexão usando o túnel, em vez de permitir que ele faça uma conexão direta por conta própria.

Criaremos uma conexão SSH em nosso computador local usando o ssh comando que encaminha para a localhost conexão. Use o comando no terminal para criar uma conexão SSH:

Vamos decifrar o código acima:

  • -L 59000:localhost:5901: O -L parâmetro especifica que a porta fornecida no computador local ( 59000) será direcionada para o host e porta fornecidos no servidor de destino ( localhost:5901). Isso significa que a porta 5901 no servidor de destino será definida como ip_do_seu_servidor). A porta local que você especificar é arbitrária. Desde que a porta não esteja vinculada a outro serviço, você está livre para usá-la como a porta de encaminhamento para o seu túnel.

  • -C: Ativa a compressão, o que ajuda ainda mais a minimizar o consumo de recursos e a acelerar o desempenho.

  • -N: Útil para encaminhamento de portas. Isso informa ssh a não executar nenhum comando remoto.

  • -l cloudsigma your_server_ip: O -l parâmetro permite que você especifique o usuário com o qual deseja fazer login após se conectar ao servidor.

O comando acima é uma maneira mais segura de estabelecer uma conexão segura do que apenas abrir o firewall do seu servidor para permitir conexões com a porta 5901 de qualquer lugar. Assim que você fizer a conexão, o túnel SSH encaminha o conteúdo da porta 5901 no seu VNC para a porta 59000 na sua máquina local através da porta SSH padrão; porta 22.

Você também pode usar PuTTY para conectar ao seu servidor. Abra o PuTTY, vá para o lado esquerdo do terminal do PuTTY e encontre a ramificação Connection para se conectar. Em seguida, expanda a ramificação SSH e clique em Tunnels. Na tela Options controlling SSH port forwarding screen, insira 59000 como a Porta de Origem e localhost:5901 como o Destino:

VNC image 1

Mantenha todas as opções inalteradas, clique em Adicionar, e depois em Aplicar para implementar o túnel. Assim que o túnel iniciar, use um cliente VNC para se conectar a localhost: 59000. Por padrão, você será solicitado a se autenticar usando a senha que criamos no Passo-1. Assim que se conectar, você verá a área de trabalho padrão do Xfce:

VNC 2

Você pode acessar e gerenciar arquivos no diretório home. Além disso, configure seu servidor VNC para ser executado como um serviço do systemd.

Passo 4 — Executar o VNC como um Serviço do Systemd

Configurar o servidor VNC para ser executado como um serviço do systemd permite o gerenciamento do servidor. Você pode iniciar, parar, reiniciar ou encerrar, conforme sua conveniência e necessidades. Sempre que o servidor for inicializado, você poderá usar os comandos de gerenciamento do systemd para verificar se o servidor está LIGADO ou DESLIGADO.

Primeiro, criaremos um novo arquivo de unidade para especificar a porta de exibição VNC que queremos usar ao gerenciar os serviços. Defina um arquivo de unidade:

Você encontrará o @ símbolo no final do nome do arquivo, que permite passar um argumento para usar a configuração do serviço.

Em seguida, adicione o conjunto de linhas ao arquivo de unidade. Renomeie o User, Group, WorkingDirectory, e o nome de usuário no valor de PIDFILE:

Se o VNC já estiver em execução, o ExecStartPre comando irá pará-lo. O ExecStart comando inicia o VNC e define a profundidade de cor para cores de 24 bits com uma resolução de 1280×800. Você pode editar essas opções de inicialização com base nos seus requisitos. Além disso, observe que o ExecStart comando inclui novamente a -localhost opção. Depois de concluído, salve e feche o arquivo de unidade.

Em seguida, apresente o novo arquivo de unidade ao seu sistema:

Ative ON o arquivo de unidade:

O 1 a seguir ao @ sinal indica em qual número de tela o serviço deve aparecer. No nosso caso, é o padrão :1 como foi discutido no Passo-2. Se o VNC ainda estiver em execução, você pode parar a instância atual do servidor VNC usando o comando kill:

Em seguida, inicie-o como faria com qualquer outro serviço systemd:

Você pode verificar se ele foi iniciado com este comando:

Você verá a saída:

Seu servidor VNC já está pronto para ser usado sempre que o seu servidor for inicializado, e você pode gerenciá-lo com systemctl comandos como qualquer outro serviço do systemd. No entanto, você não verá nenhuma diferença no lado do cliente. Para reconectar, inicie o seu SSH túnel usando:

Você pode novamente fazer conexões usando seu cliente VNC para localhost:59000 com o seu servidor.

Conclusão

Inicialmente, configurar um servidor VNC pode parecer desafiador, especialmente quando você está tentando se conectar a um novo computador. Depois de estabelecer uma conexão confiável, trabalhar com um computador remoto será divertido e empolgante. Com um servidor VNC seguro ativo e em execução no seu servidor Ubuntu 20.04, você pode gerenciar facilmente seus recursos, arquivos, softwares e configurações com uma interface gráfica amigável. O uso excessivo de largura de banda é talvez uma desvantagem de usar o VNC. Você pode superar isso usando telas de baixa resolução e em tons de cinza para uma transferência mais rápida.

Boa computação!

author

Shreyas Patil

Autor · CloudSigma

Preslav Dobrev é um designer criativo na CloudSigma, focado na construção de uma identidade empresarial consistente por meio de canais de marketing tradicionais e inovadores. Ele é hábil em combinar a visão artística com o marketing estratégico para criar narrativas de marca impactantes.

Comentários

Nenhum comentário ainda. Seja o primeiro.