vnc – ¿Cuál es la forma correcta de eliminar una sesión virtual en Linux?

Pregunta:

Cuando ejecuto el siguiente comando en mi cuadro linux remoto al que me conecto desde mi computadora portátil con windows 7 través de VNC , obtengo lo siguiente:

 [subhrcho@slc04lyo ~]$ ps -ef|grep vnc
subhrcho 20113 19804  0 21:40 pts/8    00:00:00 grep vnc
subhrcho 27486     1  0 Jan28 ?        00:05:35 Xvnc :1 -desktop slc04lyo:1 (subhrcho) -httpd /usr/share/vnc/classes -auth /home/subhrcho/.Xauthority -geometry 1680x1050 -depth 16 -rfbwait 30000 -rfbauth /home/subhrcho/.vnc/passwd -rfbport 5901 -pn
subhrcho 27493     1  0 Jan28 ?        00:00:00 vncconfig -iconic

¿Cómo puedo matar esta sesión con elegancia? Sé que kill -9 <pid> lo haría, pero creo que es una limpieza contundente y podría dar lugar a archivos corruptos.

PD: También leí de esta fuente para usar la opción de eliminación de vncserver, pero no estoy seguro de cómo averiguar la pantalla #.

Respuesta:

Como notó, del man vncserver :

  -kill :display#
          This kills a VNC desktop previously started with vncserver. It does
          this by killing the Xvnc process, whose process ID is stored in the
          file "$HOME/.vnc/host:display#.pid". It actually ignores anything
          preceding a ":" in its argument. This can be useful so you can write
          "vncserver -kill $DISPLAY", for example at the end of your xstartup
          file after a particular application exits.

El número de pantalla está conectado al número de puerto de la pantalla si uno no lo ha configurado manualmente (y de manera diferente), donde

Display number = (Port number) ‒ 5900

por ejemplo, puerto 5901 → pantalla: 1. Esta información se puede encontrar en man Xvnc ( vncserver es solo un script contenedor que llama a esta herramienta) donde dice:

   -rfbport port
          Specifies the TCP port on which Xvnc listens for connections from
          viewers (the protocol used in VNC is called RFB - "remote
          framebuffer").  The default is 5900 plus the display number.

Si no sabe el número de memoria (pero necesita saberlo si va a conectarse al servidor de todos modos), puede comprobar, por ejemplo, ps ax | grep vnc para obtener información. Si hago eso localmente, veo los procesos

25697 ?        S     55:38 Xvnc4 :1 [...]
[...]
30481 ?        S     17:57 Xvnc4 :2 [...]

y, por lo tanto, sé que representan servidores VNC con números de pantalla :1 y :2 respectivamente, y pueden ser eliminados por

vncserver -kill :1
vncserver -kill :2

En su caso, verá que el número de pantalla es :1 para el servidor listado en su salida ps .

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım