Como faço para iniciar corretamente um servidor vnc no fedora?

1

Não me lembro de ser difícil na última vez em que usei o vnc. Isso é o que eu tentei (estou executando o fedora 21) ...

Primeiro, instale um servidor vnc.

sudo yum install tigervnc-server
... y

Agora, para desbloquear a porta. Não tenho certeza se vnc-server está correto aqui, mas esta página diz que é. BTW, eu inicialmente tentei firewall-config , mas para a vida de mim não poderia fazê-lo funcionar via SSH com o encaminhamento de X.

> sudo firewall-cmd --permanent --zone=public --add-service vnc-server
> sudo firewall-cmd --list-all
# vnc-server not listed. damn. maybe if I try again, but pressing the keys harder
> sudo firewall-cmd --permanent --zone=public --add-service vnc-server
Warning: ALREADY_ENABLED: vnc-server
# ...? whatever...
> sudo firewall-cmd --zone=public --add-port=5900/tcp
# the port's there, that should do

Eu posso entender por que muitos desistem e sudo service firewalld stop como último recurso. Agora, para executar o servidor vnc,

> vncpasswd
Password: *
Verify: *
> vncserver
# seems to have started

A conexão remota não funciona. Mesmo se conectar localmente não funciona ( unable connect to socket: Connection refused (111) , embora apesar de recusar é a mesma mensagem quando nenhum servidor está rodando, então provavelmente significou algo um pouco menos como encontrar algo para conversar no primeiro lugar).

No momento, não me importo em configurar um serviço para que o servidor inicie automaticamente. Como faço o básico?

[<>> EDIT ]
Para conectar, eu estava simplesmente digitando o nome do host no RealVNC Viewer no Windows ou executando vncviewer localhost para testar a conexão localmente.

    
por jozxyqk 26.01.2015 / 07:21

1 resposta

1

OK, ao contrário de alguns servidores Windows vnc que usei onde o servidor compartilha o mesmo desktop, pode haver muitos desktops X virtuais. Em vez de ter um único servidor que gerencia vários desktops, há vários servidores, cada um usando uma porta diferente.

  • Porta 5900 ( :0 ) - tela / login local (não tenho certeza da terminologia correta aqui)
  • Porta 5901 ( :1 ) - área de trabalho virtual 1
  • Porta 5902 ( :2 ) - área de trabalho virtual 2
  • ...

Eu acho que uma forma abreviada ou talvez fácil de se conectar a eles é adicionar :0 ou :1 etc. ao nome do host ao qual você está se conectando. Isso adiciona um número à porta antes de se conectar.

Agora sem argumentos para vncserver , o padrão é iniciar uma exibição virtual :1 (na porta 5901) e por padrão vncviewer conecta a 5900, o que explica por que não consegui me conectar.  Um programa como x11vnc pode compartilhar a área de trabalho principal :0 (por exemplo, x11vnc -ncache 10 -rfbauth /home/user/.vnc/passwd -display :0 ), mas o tigrevnc reclama se você tentar vncserver :0 .

TLDR:
Eu deveria ter ligado para exibir 1 ou usou a porta 5901:

vncviewer localhost:1
vncviewer localhost::5901
    
por 27.01.2015 / 10:21