neste guia, vamos ver como instalar e configurar um servidor VNC nos CentOS 7.x sistema operacional para permitir conexões remotas de qualquer cliente de VNC, tais como TightVNC, RealVNC, e outros. Em particular, vamos fazer isso usando o software TigerVNC Server, uma ferramenta livre que permite usar um desktop virtual independente.
introdução
VNC (Virtual Network Computing) é um protocolo cliente-servidor que permite que um computador cliente (executando um cliente VNC) para conectar e controlar um computador remoto (executando em um servidor VNC). O software foi desenvolvido pelo Olivetti & Oracle research lab em Cambridge, Reino Unido, e seu código fonte ainda está atualizado e disponível sob a Licença Pública Geral (GNU).
dependendo do software do servidor, o cliente VNC irá ligar-se ao ecrã activo (por exemplo, como TeamViewer ou programas AnyDesk) ou a um ecrã virtual independente (como o Windows RDP remote desktop protocol). Este último, talvez mais poderoso e seguro, especialmente se você precisar gerenciar o computador do servidor porque cada sessão será um ambiente único, configurado com as permissões e direitos do usuário conectado. É por isso que escolhemos TigerVNC, que executa sessões paralelas do ambiente de trabalho do computador (GNOME, KDE, ou outra GUI): isso significa que um desktop virtual será criado para cada conexão — isso é exatamente o que queremos.
instalando TigerVNC
Agora vamos ver como podemos instalar e configurar TigerVNC em CentOS. A primeira coisa a fazer é instalar o TigerVNC programa de Servidor de abertura de uma sessão de terminal e digitar o seguinte comando com privilégios de root:
$ sudo yum install tigervnc-server
Imediatamente após isso, você precisa criar um separar VNC usuário a partir do qual a conexão será feita (com uma dedicada a senha). Para fazer isso, digite o seguinte:
$ sudo adduser vncuser
$ sudo passwd vncuser
A melhor solução seria deixar o usuário root sem acesso ao VNC e configurar uma conta dedicada com direitos limitados.
Depois de criar vncuser e definir uma senha para o registo, também terá de definir uma senha VNC única para este utilizador. O comando para fazer isso é:
$ su - vncuser
$ vncpasswd
(a primeira linha pode ser omitida se já estamos registrados como vncuser com antecedência).
a próxima coisa a fazer é criar um ficheiro de configuração VNC para vncuser. A maneira mais rápida de fazer isso é cópia compartilhada do VNC arquivo de modelo localizado na pasta /lib/systemd/system/ pasta e, em seguida, alterá-lo:
$ cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
O número 1 que trouxemos para o novo nome do arquivo é o número que irá ser utilizado para a instância específica do serviço. Isto é importante de saber porque ele também irá determinar a porta TCP que será usado pelo nosso servidor VNC, igual a 5900 + número de exibição. O primeiro será 5901, depois 5902 e assim por diante.
imediatamente após a cópia, terá de editar o novo ficheiro usando Vi, Nano ou outro editor de texto, e substituir pelo nome do utilizador criado recentemente (no nosso caso, vncuser). Esta é a forma como o arquivo deve ficar após a atualização (exceto para o longa parte comentada no início):
Description=Remote desktop service (VNC)
After=syslog.target network.target
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l vncuser -c "/usr/bin/vncserver %i -geometry 1280x720"
PIDFile=/home/vncuser/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
WantedBy=multi-user.target
uma Vez que você fizer isso, você pode recarregar o VNC daemon e executar vncserver @ 1 com os seguintes comandos:
$ systemctl daemon-reload
$ systemctl start vncserver@:1
Antes de prosseguir, verifique se o serviço está sendo executado digitando o systemctl status de comando:
$ systemctl status vncserver@:1
e crie um link simbólico para que ele sempre seja executado na inicialização do sistema usando o seguinte comando:
$ systemctl enable vncserver@:1
Outro teste que você pode executar antes de tentar se conectar ao servidor é olhar para o active os sockets de rede usando thesscommand: se tudo funcionar corretamente, você deve ver que o servidor VNC está funcionando e usa a porta tcp 5901. Executar o comando:
$ ss -tulpn| grep vnc
O resultado deve ser o seguinte:
tcp LISTEN 0 5 *:5901 *:* users:(("Xvnc",pid=38344,fd=9))
tcp LISTEN 0 128 *:6001 *:* users:(("Xvnc",pid=38344,fd=6))
tcp LISTEN 0 5 :::5901 :::* users:(("Xvnc",pid=38344,fd=10))
tcp LISTEN 0 128 :::6001 :::* users:(("Xvnc",pid=38344,fd=5))
Se você ver isso, então tudo está configurado corretamente.
configuração da Firewall
Uma vez que o nosso serviço VNC está a ouvir na porta tcp 5901, deve ter a certeza de que essa porta está aberta e acessível a clientes externos. Portanto, se você tem um firewall instalado, você deve criar uma regra apropriada que permita que os clientes de VNC se conectem.
quantas portas abrir irá depender de quantas instâncias do servidor VNC você precisa. Em nosso cenário, fizemos apenas 1, então você só precisa abrir a primeira porta VNC dedicada: TCP 5901, como já dissemos. O comando para abrir este porto no Firewalld:
não será supérfluo mencionar que também poderá restringir este porto a certos grupos, endereços IP, cartões de rede ou outras regras simples ou complexas de firewall.
instalar a interface gráfica do utilizador (GUI)
Se já tiver GNOME, KDE ou outros ambientes de trabalho instalados, poderá ignorar este passo. Caso contrário, você precisa instalar um deles: o servidor TigerVNC iniciará uma instância paralela deste ambiente de trabalho para cada sessão de login, o que significa que devemos ter pelo menos uma interface gráfica.
GNOME
Se quiser uma grande, mas pesada interface GNOME, indique o seguinte::
$ sudo yum groupinstall "GNOME Desktop"
Xfce
Se você precisar de uma alternativa leve, Podemos oferecer Xfce, um ambiente livre e de código aberto para plataformas Unix-like que funcionam muito bem com TigerVNC. GNOME também funciona muito bem, mas é bastante intensivo de recursos: se você quiser salvar recursos em sua máquina de servidor, Xfce pode ser a melhor escolha. Para instalá-lo, indique o seguinte:
$ yum install epel-release
$ yum groupinstall xfce
configurações adicionais para Xfce
Se decidir usar Xfce, também terá de modificar o ficheiro que foi executado quando a sessão VNC foi iniciada. Para fazer isso, edite o arquivo / home / <user>/.vnc/xstartup e alterar o exec entrada (normalmente linha 4) a partir de/etc / X11/xinit/xinitrc para startxfce4, como mostrado abaixo:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
vncserver -kill $DISPLAY
cliente de VNC conexão
Agora que está tudo configurado, podemos tentar ligar para o nosso serviço de VNC usando um cliente VNC, como o TightVNC, UltraVNC ou RealVNC, e ver o que acontece. Lembre-se de especificar a porta tcp 5901 (se você seguiu o nosso guia).
possíveis problemas
Se o seu cliente não conseguir estabelecer uma ligação VNC funcional, terá de verificar o seguinte:
1. Problemas de ligação — configuração de ‘Firewall’: se vir erros de ‘pop-up’ que o cliente não consegue ligar à máquina remota, terá de verificar a configuração da sua rede e ‘firewall’ para se certificar de que não existem problemas de bloqueio que possam impedir o cliente de se ligar à porta do servidor TCP 5901.2. Ecrã preto com o ‘ YUM ‘ de actualização do rato ou a reinstalar a interface gráfica: se você ver um ecrã preto com um cursor do rato a funcionar, provavelmente significa que a sua ligação VNC está a funcionar bem, mas há algo que impede a interface gráfica de começar correctamente no ecrã. Para correção:
- execute yum update para instalar as últimas versões do TigerVNC e da própria interface gráfica. Certifique-se de manter o controle de quaisquer problemas que ocorrem durante a fase de instalação.
- desinstalar e reinstalar a interface gráfica usando o comando yum remove / yum group remove e yum groupinstall novamente. Se ainda nada funcionar, você pode tentar instalar uma interface gráfica diferente.
+1 302 498-83-59
ELE-GRAD NL B. V.
+1 302 498-83-59
ELE-GRAD NL B. V.