El problema
La mayoría de las personas desean conectarse a un servidor a través de ssh con la opción "-X" para ejecutar programas GUI en el host remoto utilizando la pantalla del cliente. Me gustaría ejecutar programas GUI en el monitor físico conectado al servidor. Es posible ? Déjame ser más específico:
Mi situación es la siguiente: tengo una estación de trabajo sin teclado o mouse, pero tiene un monitor conectado. Me gustaría usar SSH con mi computadora portátil y poder iniciar algún programa gráfico, como xeyes o ssvnc y que aparezca en el monitor de la estación de trabajo.
[xapple@laptop ~]$ ssh workstation
Last login: Mon Sep 26 20:03:35 2011 from laptop
[xapple@workstation ~]$ export DISPLAY=:0
[xapple@workstation ~]$ xeyes
No protocol specified
Error: Can't open display: :0
Editar: información adicional
Quizás debería explicar algunas cosas más claramente:
- Tengo acceso a sudo en la estación de trabajo, puedo instalar cualquier cosa si es necesario.
- La estación de trabajo ejecuta la interfaz de usuario de GNOME.
- Antes de desconectar el teclado y el mouse de la estación de trabajo, inicié sesión en una sesión de GNOME. Por lo tanto, uno puede ver mi escritorio GNOME en el monitor de la estación de trabajo actualmente.
- No deseo ejecutar programas desde mi computadora portátil en la estación de trabajo. Me gustaría ejecutar programas de estación de trabajo en la estación de trabajo. Los xeyes o cualquier ejecutable se encuentran en el servidor remoto y deben ejecutarse en el monitor del servidor remoto
- Entiendo que realizar esto me dejará en una situación en la que mi cursor no estará conectado a la interfaz. No puedo hacer clic en las cosas. Está bien.
Cualquier ayuda muy apreciada!
xhost +
en tu servidor?Respuestas:
cualquier aplicación xlib debe conectarse a un servidor x. tienes que decirle a la aplicación la conexión al servidor por:
-display
el primer servidor x generalmente se puede alcanzar mediante la cadena de conexión ': 0'. entonces, intenta esto:
o esto
fuente
XAUTHORITY
también será necesaria la configuración , ya que el servidor X11 utilizará un archivo Xauthority temporal.¿Esta estación de trabajo ejecuta un servidor X Windows? Sin eso, todo esto es discutible.
Necesita ALGO para procesar los datos en gráficos, píxeles, colores y ubicaciones. Un 'monitor' es inútil sin algún tipo de software para ejecutarlo.
Suponiendo que lo sea. (pero del texto, seguro suena lo contrario)
Dados los nombres de host (y la resolución DNS adecuada a través de / etc / hosts o DNS o lo que sea) de 'estación de trabajo' y 'computadora portátil' ... si no, reemplace los nombres de host de la máquina con las direcciones IP apropiadas.
entonces puede cerrar sesión en la estación de trabajo en este punto, ya que esto establece los permisos en el servidor X de la estación de trabajo para permitir que se conecte la 'computadora portátil'.
si inicia sus programas con el conjunto DISPLAY env adecuadamente, puede hacer que las aplicaciones se muestren en la estación de trabajo, mientras se ejecutan en su computadora portátil.
-o-
cualquiera de los métodos funcionará, el último hace que todo lo relacionado con X11 se muestre en la estación de trabajo cuando se inicia desde ese shell. (espero que tenga sentido)
La línea 'xhost' es para permitir el permiso de la computadora portátil para conectarse al servidor X de la estación de trabajo. Sin él, se le denegará el permiso, a menos que inicie el servidor X sin permisos, lo cual no se recomienda realmente. La protección 'xhost' todavía es poco convincente, ya que los datos se envían en 'texto plano' entre la computadora portátil y la estación de trabajo y pueden ser rastreados, pero es una solución fácil.
Si desea privacidad, necesitaría configurar algún tipo de túnel encriptado entre su computadora portátil y la estación de trabajo (puerto 6000 para pantalla: 0). Sí, se pone raro en este punto.
Si se encuentra en un entorno controlado, será suficiente usar el comando 'xhost + laptop', si abandona la parte 'laptop' de ese comando 'xhost +', entonces CUALQUIERA puede conectarse al servidor X y mostrar cosas.
Recuerde, su mouse NO está 'conectado' a la estación de trabajo Xserver, y NO podrá manipular ventanas o hacer clic en cosas.
Si desea que el mouse esté conectado, le recomendaría algo como x2x, sinergia, vnc o una aplicación para compartir pantalla basada en X Windows.
fuente