Problemas con x2x (unable/can not open display)

Deoxys

Os comento un problema que me surgió ayer y que llevo intensando resolver un porrón de horas:

Tengo 2PCs en mi escritorio, ambos con debian 7.1, con el teclado y ratón conectados a uno de ellos. En ese PC tengo un acceso directo en el escritorio que ejecuta el comando

ssh -x grace x2x -east -to :0

que coloca la pantalla del segundo PC como una extensión del escritorio del primero, permitiendo compartir teclado y ratón y demás.

Ayer a mediodía el segundo PC se congeló por alguna razón (no he conseguido que la gráfica funcione bien y a veces hace cosas raras) y tuve que apagarlo a lo bestia. Al reiniciarlo y ejecutar ese comando en el primer PC, no funcionaba y me devolvía

Invalid MIT-MAGIC-COOKIE-1 key
x2x - error: can not open display localhost:10.0

Buscando soluciones borré el archivo /.Xauthority y utilicé los comandos de export display, lo que eliminó el primer mensaje pero hizo que saliera otro:

DISPLAY '192.168.0.18=10.0' invalid, falling back to fake xauth data                     
Warning: No xauth data; using fake authentication data for X11 forwarding.
Could not find ':' in DISPLAY: 192.168.0.18=0.0
x2x - error: can not open display localhost:0.0

Ayer lo dejé así y me fui a dormir, esta mañana me he puesto a ello otra vez, lo he vuelto a intentar y me ha salido esto:

Warning: No xauth data; using fake authentication data for X11 forwarding.
connect grace port 6000: Connection refused
x2x - error: can not open display localhost:10.0

Estoy bastante desesperado y de bastante mala leche, ya me he cargado dos ratones intentando arreglar con esta mierda y no sé qué más hacer. Me he mirado las primeras 50 páginas de google sobre el problema y cada vez va a peor.

¿Alguna ayuda? Sólo me queda un ratón y necesito arreglar esto cuanto antes.

Edit: La red funciona, todo lo demás funciona bien y no hay nada raro excepto eso. Puedo conectarme por SSH al segundo PC (Y del segundo al primero) y hacer cosas, pero en cuanto meto x2x se va a la mierda y me salen los mensajes de error. He probado a reinstalar x2x (con uninstall --purge), pero los errores son los mismos. Las IPs de todos los PCs son fijas y los archivos hosts y de configuración de red están todos bien.

Get

no te esta abriendo bien el Tunel, el cual se hace con ssh -X y no con -x

Segun su man:
-X Enables X11 forwarding. This can also be specified on a per-host basis in a configuration file.

X11 forwarding should be enabled with caution. Users with the ability to bypass file permissions on the remote host (for the user's X authorization database) can access the local X11 display
through the forwarded connection. An attacker may then be able to perform activities such as keystroke monitoring.

For this reason, X11 forwarding is subjected to X11 SECURITY extension restrictions by default. Please refer to the ssh -Y option and the ForwardX11Trusted directive in ssh_config(5) for more
information.

-x Disables X11 forwarding.

Asi que, para configurar: paciencia y cafe o redbull. un cigarro y a leer.

Lo tuyo ha sido de NO prestar atencion.

Tambien mira que el host ssh remoto tenga activado en la config del sshd X11Forwarding Yes
supongo, vamos, doy por hecho que tienes de tener algo que te levante X11 en tu Equipo, desde el cual te intentas conectar ...

Vamos, que si te conectas desde un Win: precisas Xming
Desde un mac: Xquartz
Desde linux: X11 abierto (el entorno grafico que estes usando en ese momento)

1 respuesta
Deoxys

#2 Lo de -x y -X ha sido al escribirlo de memoria en el foro, he mirado el enlace y lo que he probado por si acaso y he utilizado siempre -X.

Los dos ordenadores tienen el X11 forwarding activado.

Eso, puedo conectarme haciendo SSH normal de A a B y de B a A, pero cuando intento usar x2x no funciona y me devuelve el error ese. Lo de leer... He leído todo lo que he pillado, pero sigo sin tener ni puñetera idea de A) Por qué ha empezado a fallar o B) Cómo hacer que deje de fallar. Llevo 14 horas leyendo cosas que no ayudan en nada, he destrozado dos ratones y tengo la cabeza como un bombo. Ya no sé qué hacer.

Los dos ordenadores usan Debian 7.1. Y todo funcionaba bien hasta ayer :|

Get

haz algo mas sencillo,
conectate a la maquina remota con ssh -X
despues ahi en la terminal remota lanza: xclock
y espera a ver si se te abre el xclock en local ...

si quieres q ssh te de mas log: ssh -X -vvv

Deoxys

Sí, se abre en local y no da ningún error.

Get

pa q sirve -east -to ?
prueba quitando la redireccion forzada, normalmente lo auto-descubre la primera instancia X11 disponible, aunque sea a traves de tunel.

1 respuesta
Deoxys

#6 -east es para que la pantalla remota se adjunte a la izquierda, -to indica el display que se va a adjuntar.

¿A qué te refieres con quitar la redirección forzada? Si no añado el -to me dice que "display names are both localhost:10.0" y si quito el -X "display names are both".

Get

Intenta conectar con ssh -X y ejecuta env para ver que display te asigna, y usa esa variable en -to

Deoxys

Curioso. En la información me sale "DISPLAY=localhost:10.0", y cuando lo utilizo en -to me va el ratón de la pantalla primaria del primer PC a la secundaria, y no a la del otro PC. Pero bueno por lo menos no da error, así que me da que es algo de eso.

Deoxys

Vale, he mirado env en el otro PC y me dice que DISPLAY=:0, así que he vuelto a intentarlo con -to :0 (Vamos, lo que tenía en un principio) y ahora funciona. He probado el acceso directo (No lo he modificado desde antes de que pasara el error) y funciona bien. De la noche a la mañana vamos.

No entiendo nada de nada, ¿Qué ha pasado?

Pr177781
1 respuesta
Deoxys

#11 Eso es lo que pensé yo al principio, quitar xauthority para ver si generaba claves nuevas es lo primero que probé y no solucioné el problema con eso. Ahora he mirado y parece que las claves nuevas están ahí, así que supongo que en parte ha ayudado a arreglar el problema de alguna manera.

Get

Bueno, lo importante, es que funciona :D la proxima vez usa -vvv ahi te dara toooooooda la info :D

1 respuesta
Deoxys

#13 Sí, no sé qué coño hacer la próxima vez que falle, eso sí xD

Gracias :P

Pr177781
16 días después
Deoxys

Bueno, ha vuelto a pasar, así que a ver qué se puede hacer (Y cómo se puede evitar porque es un grano en el culo bastante gordo)

achifaifa@hakko:~$ ssh -X grace x2x -east -to :0
achifaifa@grace's password: 
No protocol specified
x2x - error: can not open display :0
achifaifa@hakko:/etc$ ssh -X grace x2x -east -to :0

Lo del protocolo no lo había visto antes, pero lo de can not open display es lo mismo de antes.

He hecho las mismas pruebas.

ssh -X grace, lanzo xclock, sale todo bien.
He comprobado la información de los displays y sigue igual que antes.
He probado haciendo ssh -X grace x2x -east -to :10 (Que es el monitor local), hace lo mismo que hizo la última vez, mover el ratón de una pantalla a otra. Pero esta vez, al volver a intentarlo con :0 no funciona.

Voy a probar cosas a ver.

Deoxys

Esta vez ejecutando env en el ordenador remoto no aparecía el identificador del display. export display=0, env otra vez y aparece ahí. Salgo, me vuelvo a conectar para ver si funciona y me sale el mismo mensaje de error. Me vuelvo a conectar por SSH, env otra vez y el parámetro ha desaparecido...

Pero qué cojones.

Edit: Esta vez con dos consolas. En una hago login con SSH -X y hago export display 0 tal y cual. env, el display es 0. Me voy a conectar con la otra consola y me dice el mismo puto mensaje de error de los cojones. FFFFFFFFFFFFFFFFFFFFFFFFFFFF

Deoxys

Vale, creo que conectando un teclado y un ratón al PC remoto y logueándose ahí funciona. Es decir, da igual lo que hagas, no puedes conectarte hasta que te logueas "Personalmente" en ese PC. No entiendo nada.

Get

eso son las variables de entorno, debes "setearlas" antes de arrancar...

1 respuesta
Deoxys

#19 Antes podía conectarme con x2x para poder hacer logon con mi usuario, no entiendo por qué de repente tengo que enchufar un teclado para escribir la contraseña... Y digo yo que no tiene mucho sentido configurar el acceso a un equipo remoto si luego para usarlo tienes que ir a donde el equipo remoto y enchufarle un teclado.

Get

cierto, pero las variables de entorno se entregan al establecer la conexion...

Usuarios habituales

  • Get
  • Deoxys
  • Pr177781

Tags