xpra: Acceso remoto al interfaz gráfico

Normalmente, en sistemas GNU/Linux, solemos usar la terminal para todo tipo de tareas en equipos locales como remotos pero hay ocasiones en las que necesitamos acceso a programas con interfaz gráfico y es aqui cuando tenemos que instalar algun tipo de servicio tipo VNC o privados como TeamViewer.

Para la gente que no quiere instalar un servicio y que este a la escucha en un puerto de la máquina para siempre, con los riesgos que ello puede conllevar, se puede usar una utilidad llamada xpra que sirve para mostrar aplicaciones gráficas o escritorios en máquinas remotas sin tener un servicio ejecutandose.

Esta disponible para varios sistemas operativos e incluso se puede ver desde un navegador ya que instalando websockify podemos ejecutar el servidor con soporte HTML5. La comunicación entre el cliente y el servidor puede ser por SSH, TCP o SSL. Se pueden conectar varios clientes al mismo servidor.

En sistemas Debian su instalación es muy sencilla y el mismo programa hace de cliente y servidor. Un simple apt install xpra nos sirve para instalarlo tanto en el cliente como en el servidor.

En la web de Arch vienen varios ejemplos de uso. Os adelantamos algunos de ellos, todos ejecutados desde el cliente.

Iniciar una terminal de un equipo remoto (192.168.1.1) mediante SSH usando el display 7:

xpra start ssh:user@192.168.1.1:7 --start=xterm

Con CTRL-C (o usando el comando xpra detach ssh:user@192.168.1.1:7) podemos parar el programa en el lado del cliente pero en el servidor seguirá ejecutandose y podemos volvernos a enganchar con:

xpra attach ssh:user@192.168.1.1:7

Para parar el servicio remoto usamos:

xpra stop ssh:user@192.168.1.1:7

Si queremos tener un clonado del escritorio completo podemos usar:

xpra shadow ssh:user@192.168.1.1:7

pero no es muy eficiente en determinados sistemas y puede que nos consuma bastante tiempo de cpu.

Nota: Si os da el fallo “Error: Only console users are allowed to run the X server“, hay que editar el fichero /etc/X11/Xwrapper.config en el servidor y modificar la linea allowed_users=console con allowed_users=anybody

2 Comments

  1. ssh -X va bien para conexiones rapidas, pruebalo con una conexion lenta y veras como instalas xpra

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax