¿Cómo conectarse a una sesión X existente sin desbloquear la pantalla física?

16

Por lo general, dejo muchos programas ejecutándose en mi estación de trabajo y, a veces, necesito usarlos de forma remota. Por lo tanto, necesito conectarme a una sesión X existente, mientras mantengo la pantalla física (monitor de la estación de trabajo) bloqueada todo el tiempo.

Intenté vino (vino-server & vinagre como cliente), pero abren una nueva sesión X vacía, por lo que no me da acceso a las aplicaciones en ejecución.

También probé x11vnc pero parece desbloquear la pantalla física y dejarla desbloqueada (!) Cuando el cliente finaliza, así que tenemos un problema de seguridad ...

En ambos extremos hay Ubuntu 12.04 ejecutándose, con GUI predeterminada, por lo que ninguna solución específica de GNOME funcionará (applets, etc.).

La solución ideal debería darme acceso a todos los programas que se ejecutan en ambos monitores y en varios "escritorios virtuales". Que puede necesitar capturar teclas especiales como Crtl + [número] y Alt-TAB.

Alternativamente ... si es posible reenviar la ventana existente (el programa ya se está ejecutando) ssh -Xserá una buena solución.

EDITAR: x1vnc, no "x11server", por supuesto ...

sfp
fuente
Solución parcial que encontré aquí: karlrunge.com/x11vnc/faq.html#faq-gone-lock
sfp
Solución parcial que encontré en la página del autor x11vnc, pero no estoy seguro de si funciona con pantalla LCD. ¿Cómo funciona? Hay un monitor de configuración blockdpy programado en modo apagado DPMS (estándar para monitores CRT; apagado - ahorro de energía) y buscando algunas veces por segundo si cambia. Si es así, ejecuta un comando como "activar protector de pantalla". Por lo tanto, la pantalla debe estar negra o bloqueada (también para usuarios remotos de vnc).
sfp
Tenga en cuenta que puede resolver parcialmente el problema de desbloquear la pantalla simplemente ejecutándose DISPLAY=:0 gnome-screensaver-command -lcuando haya terminado. Sin embargo, la pantalla seguirá desbloqueada durante la sesión.
Michael Mior

Respuestas:

10

Por lo que sé, no es posible reenviar ventanas ya existentes a través de SSH.

Sugeriría ir por x11vnc. Es posible que deba instalarlo primero. Este comando debe habilitar un servidor VNC sin contraseña que solo se use una vez y que comparta su escritorio actual en ejecución (orden de llegada):

x11vnc -noxdamage -display :0 -safer -nopw -once -xrandr

Es posible que deba ajustar la pantalla. También puede obtenerlo mediante programación utilizando la interfaz dbus ConsoleKit, pero eso es demasiado problema y :0está bien la mayor parte del tiempo. Si eso no funciona, solo use :1y así.

Esto es útil, ya que puede ejecutarlo desde una sesión SSH desde otro lugar, solo cuando lo necesite.

Jorge Suárez de Lis
fuente
Intenté x11vnc, solo escribí mal al preparar la pregunta. Corregido De todos modos ... No puedo ver cómo estas opciones me salvan de desbloquear la pantalla.
sfp
2

Debería echar un vistazo a x2go y simplemente conectarse a "Conexión al escritorio local" en lugar de especificar un administrador de ventanas o entorno de escritorio.

Utiliza SSH, por lo que una vez que instale e inicie el servidor en su estación de trabajo, debería poder conectarse a él con el x2goclient si ya puede SSH en él.

Realidad
fuente
No, esto desbloquea el escritorio local.
Robert Pollak
1

Deberías echar un vistazo al X11RDP .

Es realmente una gran actualización de Xrdp, además puedes personalizar el comportamiento según lo necesites. Tuve los mismos problemas que los tuyos antes e instalé x11rdp y edité el archivo xrdp.conf para permitir el inicio de sesión en la sesión anterior ... De todos modos, revisa el sitio y prueba la versión 7. El tipo de "Kevin Cave" es genial y ahora hace algunas actualizaciones para que pueda instalar x11rdp como paquetes Debian.

Maythux
fuente