¿Hay alguna forma de comunicarse con alguien en su escritorio?

Mi esposa está sentada en el escritorio de su casa, alpha , que está ejecutando una versión reciente de Ubuntu. Estoy en un autobús, usando ConnectBot en mi teléfono G1, y puedo convertir SSH en alpha desde donde sea que esté.

Por razones complicadas, no puedo usar la postría instantánea, el correo electrónico ni el teléfono para ponerme en contacto con ella. (Por ejemplo, no quiero despertar al bebé, mi cliente de postría instantánea está roto, mi server de correo electrónico está inactivo). Mi única opción es conectar ssh en forma remota e intentar hacer que algo aparezca en la pantalla. Ella está usando KDE; ¿Cómo puedo hacer que algo salte para llamar su atención y hacerle saber que estoy tratando de comunicarme con ella? Pensé que era posible activar remotamente algo (como xmessage) para que aparezca en su pantalla aunque mi session SSH no tenga una pantalla X.

EDITAR: para aclarar, mi teléfono no tiene ningún sabor de X, por lo que X-over-ssh no es posible. ¿Funcionaría lo siguiente?

 $ export DISPLAY=:0 $ xmessage "test" 

Puede indicar a un progtwig X qué pantalla usar con la variable de entorno DISPLAY , siempre que sepa qué pantalla alpha se muestra actualmente. Casi con certeza, la única pantalla es :0 , a less que haya manipulado manualmente con ella, por lo que si ejecuta:

 $ export DISPLAY=:0 

Entonces, todas las aplicaciones X que ejecute se mostrarán en el monitor alpha . xmessage es una buena opción para mostrar posts; también hay xdialog . Si tiene instalado libnotify , puede usar libnotify notify-send para mostrar un post en la esquina de la pantalla:

Ejemplo

Como lo ilustra Michael Mrozek , puede ejecutar aplicaciones X que se muestran en el escritorio de su esposa. Todo lo que necesita hacer es configurar la variable de entorno DISPLAY al valor correcto (casi siempre :0 ) … y get autorización.

Esta solución requiere que tenga permiso para leer los files de su esposa. El acceso al server X requiere una "cookie" de authentication, que es una contraseña que se genera random cuando X se inicia y se almacena en un file. El file suele ser ~/.Xauthority ; si no es así, debe indicarse en la variable de entorno XAUTHORITY . Bajo Ubuntu con la configuration pnetworkingeterminada (usando Gdm), la cookie de session de su esposa no está en ~wife/.Xauthority sino en un file con un nombre generado automáticamente; ver la variable ssh DISPLAY . Consulte también ¿ Como root puedo iniciar un progtwig gráfico en el escritorio de otro usuario? , Linux: wmctrl no puede abrir la pantalla cuando la session se inicia a través de la pantalla ssh + .

Si su esposa tiene un terminal de text abierto, puede usar write como lo sugirió el usuario7440 para escribir text en su terminal. Eso requiere que el terminal acepte tales notifications; puede activarlo y desactivarlo con mesg y o mesg n , y no sé cuál es el estado pnetworkingeterminado en los emuladores de terminal modernos.

Un mecanismo más sofisticado que se write es talk . El protocolo de conversación es el antecesor de los progtwigs de chat; puede hablar con cualquier persona en una máquina que ejecuta un server de conversación y cuyo puerto UDP 517 o 518 (hay dos variantes de protocolo) no se filtra. Por lo tanto, instale talkd Install install http://bit.ly/software-small , un cliente como ytalk Install ytalk http://bit.ly/software-small , y ytalk wife . También hay un cliente X, xtalk Install xtalk http://bit.ly/software-small . Hasta donde yo sé, las conversaciones simplemente se han salido del radar (todos los que se preocupan usan uno de los procotols de chat modernos), y no hay ningún componente del sistema que genere una notificación de KDE de una request de conversación.

Mientras dice que no puede ejecutar ningún cliente de postría instantánea … ¿sería correcto un cliente de postría instantánea en línea ejecutado en su máquina doméstica a través de SSH? Hay tales, por ejemplo weechat Install weechat http://bit.ly/software-small . Aún dependería de algún server para conectarlo con su esposa, pero solo se accedería desde su máquina doméstica, no desde su teléfono.

Si ella tiene una window de terminal abierta (use 'quién' para averiguarlo) puede escribir en esa terminal usando 'escribir'. Esto no funcionará con el terminal principal ya que KDE lo oculta, pero cualquier window de terminal debería funcionar (si está en el escritorio actual, no está minimizada, lo está mirando …).

No estoy 100% seguro de configurar DISPLAY=:0.0 va a funcionar. Creo que necesitas una forma de get autorización para conectarte al server X en la PC de tu esposa. Las herramientas para hacerlo son xhost y xauth , pero parecen requerir que ya tenga acceso al server X, por lo que, presumiblemente, solo su esposa podría ejecutarlas. (Problema de pollo y huevo)

De lo contrario, es posible que pueda iniciar un segundo server X, por ejemplo, utilizando X :1 , o tal vez chvt puede ayudar.

Por ejemplo, algo así como

 # X :1 # export DISPLAY=:1.0 # xmessage 'hello' 

parece funcionar en mi sistema si lo ejecuto como root.

X :1 se inició en vt7 en mi sistema, por lo que también podría ejecutar

 # chvt 7 

para estar seguro de que esa pantalla X es la que está actualmente visible.