¿Cómo ejecutar dos sesiones X al mismo tiempo?

24

Me gustaría ejecutar dos instancias de servidor X al mismo tiempo.

Una sería una sesión interactiva usando el mouse y el teclado conectados a la computadora. La otra sería una sesión 'virtual' a la que luego podría conectarme y usarla a través de una red.

En otras palabras, quiero algo como telnet / ssh que me permita iniciar sesión en mi máquina Ubuntu desde otro lugar. Sin embargo, me gustaría al menos una pantalla gráfica básica cuando inicio sesión.

Nathan Osman
fuente
1
¿Asumo que quieres ejecutar dos usuarios en tu computadora simultáneamente?
richzilla
@rich: Sí, pero ambos deberían tener una pantalla gráfica.
Nathan Osman

Respuestas:

7

Si está ejecutando una sesión X en Ubuntu en la máquina A, aparecerá en la pantalla: 0 ( Ctrl+ Alt+ F7) en A.

Desea ejecutar una sesión X remota desde la máquina B (en su Lan) sin interrumpir su sesión actual en A.

Vaya a la primera pantalla de inicio de sesión de la consola ( Ctrl+ Alt+ F1) en la consola y luego solicite a la Máquina B que envíe una sesión X a la pantalla: en A, de esta manera

u@A:~$  X :1 -query IP-of-B

Xpide una sesión X, :1dice ponerla en la pantalla 1, -querypide la sesión en este caso la dirección IP de B

Encontrará la nueva sesión en pantalla: 1 ( Ctrl+ Alt+ F8).

Esto no es seguro (sin ssh), pero es rápido y fácil para una red doméstica cuando no se requiere sonido a través de la conexión.

Puede usar nxclient / server de nomachine, que está bien pero se ejecuta en su sesión actual en la pantalla A: 0 en su propia ventana. Proporciona soporte para sonido local e impresión local: la última vez que miré, Firefox no se iniciaría si el sonido estuviera habilitado.

Zanna
fuente
Esto definitivamente ayuda.
Nathan Osman
5

ssh -X

La primera y más fácil opción sería "ssh -X", pero esto solo funcionará cuando el sistema desde el que se conecta ya esté ejecutando un servidor X. Supongamos que está ejecutando una máquina Ubuntu y desea conectarse a otra máquina Ubuntu, puede escribir "ssh -X ipaddress" en la consola. Esto lo dejará con una consola, pero cuando inicie cualquier aplicación que use X desde esa consola, se mostrará en su sesión X actual.

XMing

Si ejecuta Windows y desea iniciar una sesión X en una máquina remota de Ubuntu, puede usar XMing. XMing es básicamente un servidor X para ejecutarse en Windows. Está disponible en sourceforge .

Para usar XMing, XDMCP debe estar habilitado en su máquina Ubuntu. Esto se hizo fácilmente en Ubuntu antes de 10.04. Hoy en día, debe actualizar /etc/gdm/custom.conf de la siguiente manera. ¡Asegúrese de hacer una copia de seguridad primero! No quieres estropear GDM con esto;)

[daemon]
User=gdm
Group=gdm


[security]
DisallowTCP=true

[xdmcp]
Enable=true
DisplaysPerHost=2
HonorIndirect=false
MaxPending=4
MaxSessions=16
MaxWait=30
MaxWaitIndirect=30
PingIntervalSeconds=60
Port=177

[greeter]

[chooser]
Multicast=false

[debug]
Enable=false 
W. Goeman
fuente
+1 Gracias por explicar en detalle cómo hacer esto: ¿podrán otras distribuciones de Linux que ejecuten X hacer el truco 'ssh -X'? Por ejemplo, si tengo una caja de Fedora, ¿puedo conectarme a mi máquina Ubuntu y ejecutar aplicaciones en X de esa manera? (Estoy buscando la terminología correcta aquí, pero estoy fallando :))
Nathan Osman
Acabo de probar esto y funciona muy bien.
Nathan Osman
@George: Recuerda que X está un poco al revés. El usuario ejecuta el servidor localmente al que se conectan las aplicaciones individuales (los clientes).
1
@George: Mientras su caja de Fedora esté ejecutando un servidor X, podrá usar ssh -X. Básicamente, ssh hará uso del servidor X en su caja de Fedora para mostrarle las aplicaciones de Ubuntu.
W. Goeman
3

No es una respuesta a tu pregunta, pero ...

Puede ejecutar programas X a través de ssh, a menudo lo uso para darme acceso a servicios protegidos / restringidos en mi LAN cuando estoy fuera. Básicamente, lo que hace es conectar una tubería de su máquina a un servidor ssh y reenviar la pantalla del servidor al cliente, pero la aplicación se está ejecutando en el servidor. De forma predeterminada, el cliente SSH no está configurado para esto, pero se puede habilitar mediante la -Xopción. Ex:

ssh -X user@host firefox

En realidad, así es como funciona LTSP en estos días. Es posible que pueda encontrar más información sobre cómo le está yendo a LTSP cuando usa remotamente una sesión completa en lugar de solo una aplicación.

LassePoulsen
fuente
3

De hecho, descubrí otra forma de lograr esto: con xrdp Instalar xrdp .

xrdpes un servidor de escritorio remoto para Linux que crea una sesión de inicio de sesión separada (con X) a la que se puede acceder con la herramienta de escritorio remoto de Windows o con otras aplicaciones compatibles con RDP.

Nathan Osman
fuente
1

FreeNX también cumplirá su propósito.

De Ubuntu Wiki:

FreeNX es un sistema que le permite acceder a su escritorio desde otra máquina a través de Internet. Puede usar esto para iniciar sesión gráficamente en su escritorio desde una ubicación remota. Un ejemplo de su uso sería tener un servidor FreeNX configurado en la computadora de su casa e iniciar sesión gráficamente en la computadora de la casa desde la computadora de su trabajo, utilizando un equipo FreeNX client.com, utilizando un cliente FreeNX.

https://help.ubuntu.com/community/FreeNX

LFC_fan
fuente
1

Parece que podría estar buscando un paquete de servidor VNC. Hay dos tipos de paquetes de servidor VNC: los que comparten su pantalla X existente y los que administran un escritorio X separado para uso remoto. Este último es el tipo que parece querer. Los ejemplos incluyen vnc4server y tightvncserver / tigervncserver.

Esos paquetes le permiten iniciar pantallas X adicionales en segundo plano. Para verlos, utiliza un visor / cliente VNC. Hay múltiples clientes disponibles para Ubuntu y Windows , sin mencionar Android, PalmOS, etc.

aap
fuente