Mi esposa está sentada en el escritorio de su casa alpha
, que ejecuta una versión reciente de Ubuntu. Estoy en un autobús, usando ConnectBot en mi teléfono G1, y puedo usar SSH alpha
desde donde estoy.
Por razones complicadas, no puedo usar MI, correo electrónico o el teléfono para contactarla. (Por ejemplo, no quiero despertar al bebé, mi cliente de mensajería instantánea está roto, mi servidor de correo electrónico está inactivo). Mi única opción es ingresar de alpha
forma remota e intentar hacer que algo aparezca en la pantalla. Ella está usando KDE; ¿Cómo puedo hacer que aparezca algo 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 a pesar de que mi sesión SSH no tiene 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"
Respuestas:
Puede indicarle a un programa X qué pantalla usar con la
DISPLAY
variable de entorno, siempre que sepa qué pantallaalpha
se muestra actualmente. Es casi seguro que la única pantalla es:0
, a menos que la haya manipulado manualmente, por lo que si ejecuta:Entonces, cualquier aplicación X que ejecute se mostrará en
alpha
el monitor.xmessage
es una buena opción para mostrar mensajes; También hayxdialog
. Si lo halibnotify
instalado, puede usarlonotify-send
para abrir un mensaje en la esquina de la pantalla:fuente
xauth
o esxhost
necesario aquí también?xhost
para permitir conexiones remotas, pero está enviando SSH a la máquina directamenteComo ilustra Michael Mrozek , puede ejecutar aplicaciones X que se muestran en el escritorio de su esposa. Todo lo que necesita hacer es establecer la
DISPLAY
variable de entorno en el valor correcto (casi siempre:0
) ... y obtener su autorización.Esta solución requiere que tenga permiso para leer los archivos de su esposa. El acceso al servidor X requiere una "cookie" de autenticación , que es una contraseña que se genera aleatoriamente cuando X se inicia y se almacena en un archivo. El archivo es a menudo
~/.Xauthority
; si no es así, debe indicarse en laXAUTHORITY
variable de entorno. En Ubuntu con la configuración predeterminada (usando Gdm), la cookie de sesión de su esposa no está~wife/.Xauthority
en un archivo con un nombre generado automáticamente; ver ssh DISPLAY variable . Consulte también Como root, ¿puedo iniciar un programa gráfico en el escritorio de otro usuario? , Linux: wmctrl no puede abrir la pantalla cuando la sesión se inicia a través de ssh + screen .Si su esposa tiene un terminal de texto abierto, puede usar
write
como lo sugiere el usuario 7440 para escribir algo de texto en su terminal. Eso requiere que el terminal acepte tales notificaciones; puede activar y desactivar esto conmesg y
omesg n
, y no sé cuál es el estado predeterminado en los emuladores de terminal modernos.Un mecanismo más sofisticado que
write
estalk
. El protocolo de conversación es el antepasado de los programas de chat; puede hablar con cualquier persona en una máquina que esté ejecutando un servidor de conversación y cuyo puerto UDP 517 o 518 (hay dos variantes de protocolo) no esté filtrado. Instale talkd Instale talkd http://bit.ly/software-small , un cliente como ytalk Instale ytalk http://bit.ly/software-small , yytalk wife
. También hay un cliente X, xtalk Instalar xtalk http://bit.ly/software-small . Hasta donde sé, la conversación simplemente se ha salido del radar (todos los que se preocupan utilizan uno de los protocolos de chat modernos), y no hay ningún componente del sistema que genere una notificación de KDE de una solicitud de conversación.Si bien dice que no puede ejecutar ningún cliente de mensajería instantánea ... ¿estaría bien un cliente de mensajería instantánea de línea de comandos que se ejecuta en su máquina doméstica a través de SSH? Existen, por ejemplo, weechat Install weechat http://bit.ly/software-small . Seguiría dependiendo de algún servidor para conectarlo con su esposa, pero solo se accedería desde su máquina doméstica, no desde su teléfono.
fuente
finch
es la versión de línea de comandos de pidgin.Si tiene una ventana de terminal abierta (use 'who' para averiguarlo) puede escribir a esa terminal usando 'write'. Esto no funcionará con el terminal principal ya que KDE lo oculta, pero cualquier ventana de terminal debería funcionar (si está en el escritorio actual, no minimizado, lo está mirando ...).
fuente
No estoy 100% seguro de que la configuración
DISPLAY=:0.0
vaya a funcionar. Creo que necesita una forma de obtener autorización para conectarse al servidor X en la PC de su esposa. Las herramientas para hacerlo sonxhost
yxauth
, pero parecen requerir que ya tenga acceso al servidor 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 servidor X, por ejemplo
X :1
, usar , o tal vezchvt
pueda ayudar.Por ejemplo, algo como
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 ejecutarpara asegurarse de que esa pantalla X es la que está visible actualmente.
fuente