Virtual Network Computing (VNC) é um sistema gráfico de compartilhamento de área de trabalho que permite usar o teclado e o mouse para controlar outro computador remotamente. É uma alternativa de código aberto ao protocolo de desktop remoto da Microsoft (RDP).
Este artigo explica como instalar e configurar um servidor VNC no Ubuntu 20.04. Também mostraremos como se conectar com segurança ao servidor VNC por meio de um túnel SSH.
Instalando o Ambiente de Trabalho #
Os servidores Ubuntu são gerenciados a partir da linha de comando e não têm um ambiente de área de trabalho instalado por padrão. Se você executa a versão desktop do Ubuntu, pule esta etapa.
Existem vários ambientes de desktop disponíveis nos repositórios do Ubuntu. Uma opção é instalar o Gnome, que é o ambiente de área de trabalho padrão no Ubuntu 20.04. Outra opção é instalar o Xfce . É um ambiente de área de trabalho rápido, estável e leve, o que o torna ideal para uso em um servidor remoto.
Neste guia, vamos instalar o Xfce. Insira os seguintes comandos como um usuário com privilégios sudo:
atualização do apt sudo
sudo apt install xfce4 xfce4-goodies
Dependendo do seu sistema, baixar e instalar os pacotes do Xfce pode demorar algum tempo.
Instalando o servidor VNC #
Existem vários servidores VNC diferentes disponíveis nos repositórios do Ubuntu, como TightVNC, TigerVNC e x11vnc . Cada servidor VNC tem diferentes pontos fortes e fracos em termos de velocidade e segurança.
Estaremos instalando TigerVNC. É um servidor VNC de alto desempenho com manutenção ativa. Digite o seguinte comando para instalar o pacote:
sudo apt install servidor tigervnc-standalone
Configurando Acesso VNC #
Depois que o servidor VNC estiver instalado, a próxima etapa é criar a configuração inicial do usuário e definir a senha.
Defina a senha do usuário usando o vncpasswd
comando. Não use sudo ao executar o comando abaixo:
vncpasswd
Você será solicitado a inserir e confirmar a senha e se deseja defini-la como uma senha somente para visualização. Se você optar por configurar uma senha somente para visualização, o usuário não será capaz de interagir com a instância VNC com o mouse e o teclado.
Senha: Verificar: você gostaria de inserir uma senha somente para visualização (s / n)? n
O arquivo de senha é armazenado no ~ /.vnc
diretório, que é criado se não estiver presente.
Em seguida, precisamos configurar o TigerVNC para usar o Xfce. Para fazer isso, crie o seguinte arquivo:
~ /.vnc / xstartupnano ~ /.vnc / xstartup
#!/ bin / sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4
Salve e feche o arquivo. Os comandos acima são executados automaticamente sempre que você inicia ou reinicia o servidor TigerVNC.
O ~ /.vnc / xstartup
o arquivo também precisa ter permissões de execução. Use o chmod
comando para definir as permissões do arquivo:
chmod u + x ~ /.vnc / xstartup
Se você precisar passar opções adicionais para o servidor VNC, crie um arquivo chamado config
e adicione uma opção por linha. Aqui está um exemplo:
geometria = 1920x1080 dpi = 96
Agora você pode iniciar o servidor VNC usando o vncserver
comando:
vncserver
Novo 'server2.linuxizar.com: 1 (linuxize) 'desktop em: 1 na máquina servidor2.linuxizar.com Iniciando aplicativos especificados em / home / linuxize /.vnc / xstartup O arquivo de log é / home / linuxize /.vnc / server2.linuxizar.com: 1.log Use xtigervncviewer -SecurityTypes VncAuth -passwd / home / linuxize /.vnc / passwd: 1 para conectar ao servidor VNC.
Note o : 1
após o nome do host na saída acima. Isso indica o número da porta de exibição na qual o servidor vnc está sendo executado. Neste exemplo, o servidor está sendo executado na porta TCP 5901
(5900 + 1). Se você criar uma segunda instância com vncserver
ele será executado na próxima porta livre i.e : 2
, o que significa que o servidor está rodando na porta 5902
(5900 + 2).
O que é importante lembrar é que ao trabalhar com servidores VNC, : X
é uma porta de exibição que se refere a 5900 + X
.
Você pode obter uma lista de todas as sessões VNC em execução digitando:
vncserver -list
Sessões do servidor TigerVNC: X DISPLAY # RFB PORT # PROCESS ID: 1 5901 5710
Antes de continuar com a próxima etapa, pare a instância do VNC usando o vncserver
comando com um -mate
opção e o número do servidor como um argumento. Neste exemplo, o servidor está sendo executado na porta 5901 (: 1
), então vamos parar com:
vncserver -kill: 1
Eliminando o processo Xtigervnc ID 5710 ... sucesso!
Criando um arquivo de unidade Systemd #
Em vez de iniciar manualmente a sessão VNC, vamos criar um arquivo de unidade systemd para que você inicie, pare e reinicie o serviço VNC conforme necessário.
Abra seu editor de texto e copie e cole a seguinte configuração nele. Certifique-se de alterar o nome de usuário na linha 7 para corresponder ao seu nome de usuário.
sudo nano / etc / systemd / system / vncserver @.serviço
/ etc / systemd / system / vncserver @.serviço[Unidade] Descrição = Serviço de área de trabalho remota (VNC) Depois = syslog.rede alvo.target [Service] Type = simple User = linuxize PAMName = login PIDFile = / home /% u /.vnc /% H% i.pid ExecStartPre = / bin / sh -c '/ usr / bin / vncserver -kill:% i> / dev / null 2> & 1 || : 'ExecStart = / usr / bin / vncserver:% i -geometria 1440x900 -alwaysshared -fg ExecStop = / usr / bin / vncserver -kill:% i [Instalar] WantedBy = multiusuário.alvo
Salve e feche o arquivo.
Notifique o systemd que um novo arquivo de unidade foi criado:
sudo systemctl daemon-reload
Habilite o serviço para iniciar na inicialização:
sudo systemctl enable vncserver @ 1.serviço
O número 1
depois de @
sinal define a porta de exibição na qual o serviço VNC será executado. Isso significa que o servidor VNC escutará na porta 5901
, como discutimos na seção anterior.
Inicie o serviço VNC executando:
sudo systemctl start vncserver @ 1.serviço
Verifique se o serviço foi iniciado com sucesso com:
sudo systemctl status vncserver @ 1.serviço
● vncserver @ 1.serviço - Serviço de área de trabalho remota (VNC) Carregado: carregado (/ etc / systemd / system / vncserver @.serviço; ativado; Predefinição do fornecedor: habilitado) Ativo: ativo (em execução) desde Sex. 2021-03-26 20:00:59 UTC; 3s atrás ..
Conectando ao servidor VNC #
VNC não é um protocolo criptografado e pode estar sujeito a farejamento de pacotes. A abordagem recomendada é criar um túnel SSH e encaminhar com segurança o tráfego de sua máquina local na porta 5901 para o servidor na mesma porta.
Configure o encapsulamento SSH no Linux e macOS #
Se você executa Linux, macOS ou qualquer outro sistema operacional baseado em Unix em sua máquina, pode criar facilmente um túnel SSH com o seguinte comando:
ssh -L 5901: 127.0.0.1: 5901 -N -f -l vagabundo 192.168.33.10
Você será solicitado a inserir a senha do usuário.
Certifique-se de substituir nome do usuário
e server_ip_address
com o seu nome de usuário e o endereço IP do seu servidor.
Configurar tunelamento SSH no Windows #
Se você executa o Windows, pode configurar o encapsulamento SSH usando o cliente PuTTY SSH .
Abra o Putty e digite o endereço IP do seu servidor no Nome do host ou endereço IP
campo.
Debaixo de Conexão
menu, caixa, expandir SSH
, e selecione Túneis
. Digite a porta do servidor VNC (5901
) no Porta Fonte
campo e entrar server_ip_address: 5901
no Destino
campo e clique no Adicionar
botão conforme mostrado na imagem abaixo:
Volte para o Sessão
página para salvar as configurações, para que você não precise digitá-las todas as vezes. Para o servidor remoto, selecione a sessão salva e clique no Abrir
botão.
Conectando usando Vncviewer #
Agora que o túnel SSH foi criado, é hora de abrir seu Vncviewer e se conectar ao servidor VNC em localhost: 5901
.
Você pode usar qualquer visualizador VNC, como TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre e VNC Viewer para Google Chrome .
Estaremos usando TigerVNC. Abra o visualizador, digite localhost: 5901
, e clique no Conectar
botão.
Digite sua senha de usuário quando solicitado e você verá a área de trabalho padrão do Xfce. Vai parecer algo assim:
Você pode começar a interagir com o desktop XFCE remoto de sua máquina local usando o teclado e o mouse.
Conclusão #
Mostramos como instalar e configurar um servidor VNC instalado e funcionando, no Ubuntu 20.04.
Para configurar seu servidor VNC para iniciar uma exibição para mais de um usuário, crie a configuração inicial e defina a senha usando o vncpasswd
comando. Você também precisará criar um novo arquivo de serviço usando uma porta diferente.
Sinta-se à vontade para deixar um comentário se tiver alguma dúvida.