Pesquisa de site

Como instalar e configurar o servidor VNC no Ubuntu


Virtual Network Computing (VNC) é um sistema gráfico de compartilhamento de desktop amplamente utilizado que permite que contas de usuários se conectem e controlem remotamente a interface de desktop de um computador a partir de outro computador ou dispositivo móvel. .

Neste artigo, explicaremos como instalar e configurar um servidor VNC em uma edição Ubuntu 18.04 Desktop por meio do programa tigervnc-server.

Ambiente de teste

VNC Server: 192.168.56.108
VNC Client: 192.168.56.2

Instale um ambiente de desktop no Ubuntu

Como eu disse, VNC é um sistema de compartilhamento de desktop, então você precisa ter um ambiente de desktop instalado em seu servidor Ubuntu. Você pode instalar o DE de sua escolha executando os comandos apropriados abaixo. Para os fins deste artigo, instalaremos o Ubuntu Gnome (sabor oficial).

sudo apt-get install ubuntu-desktop		#Default Ubuntu desktop
sudo apt install ubuntu-gnome-desktop	        #Ubuntu Gnome (Official flavor)
sudo apt-get install xfce4			#LXDE
sudo apt-get install lxde			#LXDE
sudo apt-get install kubuntu-desktop		#KDE

Instale e configure um VNC no Ubuntu

Tigervnc-server é um programa VNC multiplataforma e de alta velocidade que executa um servidor Xvnc e inicia sessões paralelas do Gnome ou outro ambiente de desktop no desktop VNC.

Para instalar o servidor TigerVNC e outros pacotes associados no Ubuntu, execute o seguinte comando.

sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension tigervnc-viewer

Agora inicie o servidor VNC executando o comando vncserver como um usuário normal. Esta ação criará a configuração inicial armazenada no diretório $HOME/.vnc e também solicitará que você defina uma senha de login.

Digite uma senha (que deve ter pelo menos seis caracteres) e confirme/verifique-a. Em seguida, defina uma senha somente visualização, se desejar, da seguinte maneira.

vncserver
ls -l ~/.vnc 

A seguir, precisamos configurar o DE para funcionar com o servidor VNC. Portanto, pare o servidor VNC usando o seguinte comando, para realizar algumas configurações.

vncserver -kill :1

Para configurar o GNOME ou qualquer desktop que você tenha instalado, crie um arquivo chamado xstartup no diretório de configurações usando seu editor de texto favorito.

vi ~/.vnc/xstartup

Adicione as seguintes linhas no arquivo. Esses comandos serão executados automaticamente sempre que você iniciar ou reiniciar o servidor TigerVNC. Observe que os comandos podem variar dependendo do DE que você instalou.

#!/bin/sh
exec /etc/vnc/xstartup
xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &

Salve o arquivo e defina a permissão apropriada para que ele possa ser executado.

chmod 700 ~/.vnc/xstartup

Em seguida, inicie o servidor VNC executando o seguinte comando como um usuário normal. Defina seus próprios valores para a geometria de exibição. Além disso, use o sinalizador -localhost para permitir conexões apenas do localhost e, por analogia, apenas de usuários autenticados no servidor.

Além disso, VNC por padrão usa a porta TCP 5900+N, onde N é o número de exibição. Neste caso, :1 significa que o servidor VNC será executado na porta de exibição número 5901.

vncserver :1 -localhost -geometry 1024x768 -depth 32

Para listar as sessões do servidor VNC em seu sistema, execute o seguinte comando.

vncserver -list

Depois que o servidor VNC for iniciado, verifique a porta em que ele está sendo executado com o comando netstat.

netstat -tlnp

Conectando-se ao servidor VNC via cliente VNC

Nesta seção, mostraremos como se conectar ao servidor VNC, mas antes de entrarmos nisso, você precisa saber que por padrão o VNC não é seguro por padrão (não é um protocolo criptografado e pode estar sujeito a detecção de pacotes) . Esse problema pode ser corrigido criando um túnel da conexão do cliente ao servidor por meio de SSH.

Usando o tunelamento SSH, você pode encaminhar com segurança o tráfego da sua máquina local na porta 5901 para o servidor VNC na mesma porta.

Na máquina cliente Linux, abra uma nova janela de terminal e execute o seguinte comando para criar um túnel SSH para o servidor VNC.

ssh -i ~/.ssh/ubuntu18.04 -L 5901:127.0.0.1:5901 -N -f -l tecmint 192.168.56.108

Em seguida, instale o cliente vncviewer, como TigerVNC Viewer conforme a seguir (você pode instalar qualquer outro cliente de sua escolha).

sudo apt install tigervnc-viewer		#Ubuntu/Debian
sudo yum install tigervnc-viewer		#CnetOS/RHEL
sudo yum install tigervnc-viewer		#Fedora 22+
sudo zypper install tigervnc-viewer	        #OpenSUSE
sudo pacman -S tigervnc			#Arch Linux

Assim que a instalação for concluída, execute seu cliente VNC, especifique o endereço localhost:5901 para conectar-se ao display 1 como segue.

vncviewer localhost:5901

Alternativamente, abra-o no menu do sistema, digite o endereço acima e clique em Conectar.

Você será solicitado a inserir a senha de login do VNC criada anteriormente, digite-a e clique em OK para continuar.

Se a senha estiver correta, você acessará a interface de login da sua área de trabalho. Digite sua senha para acessar a área de trabalho.

Atenção: Se você se preocupa com a segurança, deve ter notado que o visualizador VNC está mostrando “conexão não criptografada ” mesmo que tenhamos habilitado Tunelamento SSH.

Isso ocorre porque ele foi projetado para usar esquemas de segurança específicos diferentes do tunelamento SSH ao tentar autenticar com o servidor. No entanto, a conexão será segura depois que você ativar o túnel SSH.

Criando um arquivo de unidade Systemd para o servidor TigerVNC

Para gerenciar o servidor VNC em systemd, ou seja, iniciar, parar e reiniciar o serviço VNC conforme necessário, precisamos criar um arquivo de unidade para ele em Diretório /etc/systemd/system/, com privilégios de root.

sudo vim /etc/systemd/system/[email 

Em seguida, adicione as seguintes linhas no arquivo:

[Unit] 
Description=Remote desktop service (VNC) 
After=syslog.target network.target 

[Service] 
Type=simple 
User=tecmint 
PAMName=login 
PIDFile=/home/%u/.vnc/%H%i.pid 
ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :
ExecStart=/usr/bin/vncserver :%i -localhost no -geometry 1024x768 
ExecStop=/usr/bin/vncserver -kill :%i 

[Install] 
WantedBy=multi-user.target

Salve o arquivo e feche-o.

Em seguida, recarregue a configuração do gerenciador systemd para ler o arquivo de unidade recém-criado, como segue.

sudo systemctl daemon-reload

Em seguida, inicie o serviço VNC, habilite-o para inicialização automática na inicialização do sistema e verifique seu status conforme mostrado.


sudo systemctl start vncserver@1
sudo systemctl enable vncserver@1
sudo systemctl status vncserver@1

Isso é tudo! Neste artigo, explicamos como instalar e configurar o servidor VNC na distribuição Ubuntu Linux. Compartilhe suas dúvidas ou opiniões conosco por meio do formulário de feedback abaixo.