No recuerdo que esto fuera difícil la última vez que usé vnc. Esto es lo que probé (estoy ejecutando Fedora 21)...
En primer lugar, instale un servidor vnc.
sudo yum install tigervnc-server
... y
Ahora a desbloquear el puerto. No estoy seguro si vnc-server
es correcto aquí, peroesta páginadice que lo es. Por cierto, inicialmente lo intenté firewall-config
, pero por mi vida no pude hacerlo funcionar a través de SSH con reenvío 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
Puedo entender por qué muchos se dan por vencidos y sudo service firewalld stop
como último recurso. Ahora para ejecutar el servidor vnc,
> vncpasswd
Password: *
Verify: *
> vncserver
# seems to have started
La conexión remota no funciona. Incluso la conexión local no funciona ( unable connect to socket: Connection refused (111)
, aunque a pesar derechazadoes el mismo mensaje cuando no hay ningún servidor en ejecución, por lo que probablemente significó algo menos como si hubiera encontrado algo con quien hablar en primer lugar).
Por el momento no me importa configurar un servicio para que el servidor se inicie automáticamente. ¿Cómo hago lo básico?
[EDITAR]
Para conectarme, simplemente escribía el nombre de host en RealVNC Viewer en Windows o ejecutaba vncviewer localhost
para probar la conexión local.
Respuesta1
Bien, a diferencia de algunos servidores vnc de Windows que he usado, donde el servidor comparte un escritorio, puede haber muchos escritorios X virtuales. En lugar de tener un único servidor que administre varios escritorios, existen varios servidores y cada uno utiliza un puerto diferente.
- Puerto 5900 (
:0
): pantalla local/inicio de sesión (no estoy seguro de la terminología correcta aquí) - Puerto 5901 (
:1
) - escritorio virtual 1 - Puerto 5902 (
:2
) - escritorio virtual 2 - ...
Supongo que una forma abreviada o fácil de usar para conectarse a estos es agregar :0
o :1
etc. al nombre de host al que se está conectando. Esto agrega un número al puerto antes de conectarse.
Ahora, sin ningún argumento vncserver
, el valor predeterminado es iniciar una pantalla virtual :1
(en el puerto 5901) y de forma predeterminada vncviewer
se conecta al 5900, lo que explica por qué no pude conectarme. Un programa como puede compartir el escritorio x11vnc
principal (p. ej. ), pero tigrevnc se queja si lo intenta .:0
x11vnc -ncache 10 -rfbauth /home/user/.vnc/passwd -display :0
vncserver :0
TLDR:
Debería haberme conectado a la pantalla 1 o haber usado el puerto 5901:
vncviewer localhost:1
vncviewer localhost::5901