Reenvío X11 a través de SSH

Reenvío X11 a través de SSH

He estado jugando con el reenvío X11 en las últimas horas y hasta ahora he logrado reenviar el servidor X de mi computadora de escritorio a mi computadora portátil, usando X11VNC como servidor y X2VNC como cliente. X2VNC usa Xinerama para proporcionar un comportamiento similar a una pantalla dual entre mi computadora portátil y mi computadora de escritorio.

¡Es realmente genial!

Sé que la mayoría de los sistemas Linux ejecutan Xorg y entornos de escritorio en TTY7.

Por lo tanto, estaba pensando, ¿es posible de alguna manera tener el túnel VNC vinculado a su propio TTY?

Sería fantástico poder alternar entre dos TTY para elegir qué máquina administrar. Y me gustaría más este enfoque que usar Xinerama o una GUI.

Respuesta1

Supongo que esto no es realmente una respuesta, pero podría ser un punto de partida.

Inicié un montón de servidores X adicionales usando xinit así;

xinit -- :1 tty3   
xinit -- :2    
xinit -- :3 tty5    
xinit -- :4

Parece que incluso puedo iniciar varias sesiones de gnome3 y xfce en diferentes pantallas virtuales

startx -- :2  tty3   
startx -- :3  tty4

Y ahora puedo comenzar cosas en esas sesiones exportando la var DISPLAY export DISPLAY=:3y luego seleccionarla usando Ctrl-Alt-F2, F3, etc.

Sin embargo, no tengo ni idea de lo que estoy haciendo (¿estoy cambiando de PANTALLA, sesión, consola o tty?), es simplemente genial, como dices... ;-)

[tomh@workstation001 ~]$ export DISPLAY=:4
[tomh@workstation001 ~]$ google-chrome

Respuesta2

Sé que esto es viejo pero:

xinit -e ssh -XYC $HOSTTOSSHTO startx -- :1

El único inconveniente que veo es que no puedes cerrar la terminal de inicio de sesión una vez que comienza la sesión. Avanza y retrocede con ++ CTRLcomo se menciona en otras publicaciones. Lo hago con mi Raspberry Pi todo el tiempo y también lo he hecho con servidores y demás en Internet (un poco lento). También puedes intercambiar con , o lo que sea .ALTF#startx/usr/bin/icewmopenboxstartKDE

Respuesta3

Parece que he encontrado una solución adecuada para esto.

Creé un usuario específicamente con el fin de conectarme a mi computadora de escritorio.

Dentro del ~/.xinitrc del usuario en mi computadora portátil tengo la siguiente línea (/home/desktop/.xinitrc):

exec vncviewer 192.168.1.2

192.168.1.2 es la IP de mi computadora de escritorio en mi red.

En mi caso, ahora uso Tiger VNC como cliente y sigo usando X11VNC como servidor en mi PC de escritorio.

Supongo que cualquier cliente servirá.

La forma en que funciona ahora es que ingreso tty2 mediante CTRL+ALT+F2, inicio sesión como nuevo usuario de escritorio y luego inicio x con xinit -- :1. El nuevo servidor x se iniciará en tty8, ya que ya tengo mi servidor x principal ejecutándose en tty7.

vncviewer se ejecuta y se conecta exitosamente a mi computadora de escritorio, proporcionando la pantalla completa más barras de desplazamiento en caso de que la resolución de la computadora de escritorio sea mayor que la de mi computadora portátil.

Ahora puedo cambiar fácilmente entre mi computadora portátil y mi computadora de escritorio con CTRL+ALT+7 y CTRL+ALT+8.

Este es el procedimiento completo suponiendo que utilice Tiger VNC (la única diferencia es exec vncviewer x.x.x.x):

  1. Crear nuevo usuario conadduser desktop
  2. La configuración del nuevo usuario está bien con los valores predeterminados, así que siga presionando Intro hasta que se cree el usuario.
  3. Abra /home/desktop/.xinitrc(recuerde hacerlo como root a menos que haya iniciado sesión como escritorio y también tenga en cuenta los permisos) y borre el archivo (si tiene algún contenido) e ingrese esta línea:exec vncviewer x.x.x.x
  4. Reemplace x.x.x.xcon la dirección IP que desee.
  5. Guarda el archivo.
  6. Ingrese un tty no utilizado usando CTRL+ALT+X donde X es un número del 1 al 9.
  7. Iniciar sesión comodesktop
  8. Inicie un nuevo servidor X con xinit -- :1, puede usar una pantalla diferente si :1 ya está en uso.
  9. Serás enviado al nuevo tty donde se inicia el servidor X y ¡listo! Tiger VNC ahora debería estar conectado a la dirección IP que eligió.

puedetendrá problemas si tiene un entorno de escritorio que se inicia automáticamente cuando inicia X desde cualquier usuario. Así que tenlo en cuenta si las cosas no funcionan como se supone que deben hacerlo.

información relacionada