es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo lanzar una aplicación remota de X utilizando X-forwarding y obtener agrupamiento de aplicaciones.

Tengo un archivo de escritorio que me permite lanzar un proceso en un host remoto (en realidad, una máquina virtual) usando ssh -X. Esto se mostrará en mi máquina local.

Lo que no puedo hacer es persuadir a Gnome para que agrupe diferentes ventanas de esta aplicación bajo un solo icono de escritorio. Mi ejemplo es emacs, pero tengo el mismo problema con Pycharm.

Aquí está mi archivo .desktop:

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=MYemacs
Comment=emacs en caja de desarrollo
Exec=ssh -X -T rhost ’emacs’
Icon=/usr/share/icons/hicolor/48×48/apps/emacs.png
Terminal=false

¿Alguien puede aconsejarme sobre lo que me falta, por favor? Gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en tecnología de la información especializado en aplicaciones de escritorio y GNOME, recomiendo lo siguiente:

    • Para agrupar diferentes ventanas de una aplicación lanzada a través de ssh -X bajo un único icono de escritorio, la aplicación debe admitir el reenvío de X11 y la opción ForwardX11Trusted debe establecerse en yes en el archivo sshd_config del host remoto.
    • Una vez que haya confirmado que el reenvío de X11 funciona con su aplicación, puede especificar una clase de ventana única en su archivo .desktop utilizando la clave StartupWMClass. Para hacer esto, puede ejecutar el siguiente comando en una terminal para obtener la clase de ventana de su aplicación:
      xprop | grep WM_CLASS
      

      Esto le dará el cursor. Solo haga clic en la ventana de su aplicación y la salida mostrará la clase.

    • Agregue la clave y el valor StartupWMClass a su archivo .desktop, como:

      [Desktop Entry]
      Type=Application
      Encoding=UTF-8
      Name=MYemacs
      Comment=emacs en caja de desarrollo
      Exec=ssh -X -T rhost 'emacs'
      Icon=/usr/share/icons/hicolor/48x48/apps/emacs.png 
      Terminal=false
      StartupWMClass=emacs
      

      Tenga en cuenta que el valor de la clave StartupWMClass debe establecerse en la clase de ventana de su aplicación, que obtuvo en el paso anterior.

    • Guarde el archivo .desktop y actualice la base de datos del escritorio ejecutando el siguiente comando:

      sudo update-desktop-database
      

    • Una vez que haya completado estos pasos, debería poder lanzar su aplicación a través del icono de escritorio y tener todas las ventanas agrupadas bajo un único icono.

Comments are closed.