En mi máquina principal, tengo un escritorio de Ubuntu abierto e conectado. Luego, también estoy iniciando sesión en esta máquina desde una computadora remota, usando X2go que crea una nueva sesión X. Tengo un archivo de libreoffice abierto en la sesión original . Quiero guardar este archivo y cerrarlo, ¡pero desde la máquina remota! (Ambas sesiones tienen el mismo usuario conectado; puedo sudo si es necesario)
He intentado usar xdotool search
pero esto no puede encontrar la ventana. ¿Hay alguna manera de hacer lo que quiero de esta segunda sesión? Puedo ver el proceso con ps -A
¡Incluso puedo ver el archivo abierto con lsof
! ¿Cómo puedo hacer un "guardar y cerrar" en él?
DISPLAY=:0
(o cualquier pantalla en la que se encuentre su otra cuenta) y luego inicie el servidor y acceda al mismo desde el cliente. Pero eso podría ser excesivo. LibreOffice podría tener un protocolo de mensaje: no estoy muy familiarizado con él porque uso Google Docs o archivos de texto sin formato en Vim (incluido LaTex) ...DISPLAY:1
luego inicie cualquier programa X (xeyes para prueba) y se ejecutará bajo el VNC. Lo mismo se aplica a los servidores remotos vncs. SSH en la máquina y luego simplemente ejecute export DISPLAY: 1 antes de usar.Respuestas:
Suponiendo la configuración predeterminada, xdpyinfo en "original" mostrará una pantalla de ": 0.0", p. Ej.
Si su variable de entorno DISPLAY en "x2go" es ": 1.0", entonces debería ser así.
Desde una terminal en "x2go" Intenta encontrar el id de la ventana:
Es posible que el control de acceso esté configurado para que no funcione, pero creo que debería hacerlo si tiene el mismo ID de usuario en el mismo host (es decir, acceso a ~ / .Xauthority). Verifique la salida de "lista de xauth" si no hay acceso.
Si funciona, utilice su herramienta favorita para controlarlo. Agregue "-int" al xwininfo anterior para imprimir el windowid en decimal si su herramienta así lo requiere, xdotool no:
o podría tener mejor suerte con estos en lugar de "ctrl + s" / "ctrl + q"
Es posible que necesite "alt +" en lugar de "meta +", tengo meta / alt / supermapeos no estándar. Meta funciona para mí, probado usando un Xnest. Supongo que el diseño del menú en inglés y los aceleradores no se alteran.
Es posible que haya una ventana emergente en su camino, en cuyo caso vale la pena intentarlo:
unas cuantas veces, luego vuelve a intentar guardar y cerrar. Recuerde que xdotool es quisquilloso con el caso exacto de los nombres "clave".
Debería poder probar todo esto iniciando libreoffice en x2go y NO modificando su DISPLAY. Debe guardar los comandos en un archivo de script de shell para que los cambios de foco no lo arruinen.
lsof debería mostrar que el archivo ya no está abierto si funciona :-)
fuente
xdotool key "Escape"
sobre los nombres, pero no probé nombres largos: DParece que hay un par de posibles requisitos. aparentemente el host debe estar en el archivo xhosts (se marcó como respuesta) y se exportó el valor DISPLAY apropiado. Esta publicación aquí debería ayudarlo a hacerlo de la manera que desea, permitiendo que xdotool encuentre la ventana remota x11 .
fuente