LinuxParty
Te explicamos cómo ejecutar aplicaciones gráficas de equipos remotos en tu equipo local, usando distintas técnicas como ssh -X
, X11 forwarding, VNC, RDP y más.
En entornos Linux y Unix, es común administrar servidores remotos a través de la terminal. Sin embargo, a veces es necesario ejecutar aplicaciones gráficas (como editores, herramientas de configuración o navegadores) alojadas en un servidor remoto y verlas localmente. En este artículo exploramos varios métodos para lograrlo, sus ventajas, requisitos y cómo implementarlos.
1. Usar X11 Forwarding con SSH (ssh -X
/ ssh -Y
)
¿Qué es?
X11 Forwarding permite redirigir la salida gráfica de una aplicación desde un servidor remoto hacia tu máquina local mediante una conexión SSH segura.
Requisitos:
- Tener instalado y funcionando un servidor X en la máquina local (como XQuartz en macOS, Xming o VcXsrv en Windows, o el entorno gráfico en Linux).
- El servidor remoto debe tener instalado X11 y permitir el forwarding.
Configuración:
En la máquina local:
No se requiere configuración si estás en Linux con entorno gráfico.
En Windows, puedes usar:
En el servidor remoto:
Edita el archivo /etc/ssh/sshd_config
y asegúrate de tener:
X11Forwarding yes X11DisplayOffset 10 X11UseLocalhost yes
Luego reinicia el servicio SSH:
sudo systemctl restart sshd
Uso:
ssh -X user@ip-del-servidor # o ssh -Y user@ip-del-servidor # -Y es más permisivo en seguridad
Luego puedes ejecutar una aplicación, por ejemplo:
gedit & firefox &
RustDesk.
Tenemos un estupendo artículo que podrás consultar aquí.
Rustdesk [Escritorio remoto]: una alternativa de TeamViewer y AnyDesk para Linux
Es gratis, y de Código Abierto, incluso puedes crear tu propio servidor.
Si vas a utilizar Distintas versiones de Distros o incluso Distros diferentes, algo tan dispar como una obsoleta versión de Fedora con X11, como Fedora 28, una Mac, o un Windows, en un lado y la última versión de Fedora, Ubuntu, etc... con Wayland en el tuyo, tal vez, RustDesk sea la opción más deseable, rápida y fiable de instalar. Es al menos la que yo uso. Además también lo podrás instalar en Android, iOS, Mac, Win, etc, etc.
2. X2Go: Escritorio remoto rápido y eficiente
¿Qué es?
Una alternativa moderna y eficiente a X11. X2Go permite conectarse al entorno gráfico completo o ejecutar aplicaciones individuales remotas.
Requisitos:
- Cliente X2Go en el equipo local
- Servidor X2Go instalado en el servidor remoto
Instalación:
En el servidor:
sudo dnf -y install x2goserver x2goserver-xsession # Fedora/RedHat/Alma sudo apt -y install x2goserver x2goserver-xsession # Debian/Ubuntu
En el cliente:
Para Linux, Con Debian/Ubuntu, busca e instala, por ejemplo:
[root@maria ~]# apt search x2go | grep ^x2go
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
x2gobroker/stable,stable 0.0.4.3-4 all
x2gobroker-agent/stable 0.0.4.3-4 amd64
x2gobroker-authservice/stable,stable 0.0.4.3-4 all
x2gobroker-common/stable,stable 0.0.4.3-4 all
x2gobroker-daemon/stable,stable 0.0.4.3-4 all
x2gobroker-loadchecker/stable,stable 0.0.4.3-4 all
x2gobroker-ssh/stable 0.0.4.3-4 amd64
x2gobroker-wsgi/stable,stable 0.0.4.3-4 all
x2goclient/stable 4.1.2.2-2+b1 amd64
x2godesktopsharing/stable 3.2.0.0-2+b1 amd64
x2goserver/stable 4.1.0.3-7+deb12u1 amd64
x2goserver-common/stable,stable 4.1.0.3-7+deb12u1 all
x2goserver-desktopsharing/stable,stable 4.1.0.3-7+deb12u1 all
x2goserver-extensions/stable,stable 4.1.0.3-7+deb12u1 all
x2goserver-fmbindings/stable,stable 4.1.0.3-7+deb12u1 all
x2goserver-printing/stable,stable 4.1.0.3-7+deb12u1 all
x2goserver-x2goagent/stable 4.1.0.3-7+deb12u1 amd64
x2goserver-xsession/stable,stable 4.1.0.3-7+deb12u1 all
x2gothinclient-cdmanager/stable 1.5.0.1-10 amd64
x2gothinclient-chroot/stable,stable 1.5.0.1-10 all
x2gothinclient-common/stable,stable 1.5.0.1-10 all
x2gothinclient-displaymanager/stable,stable 1.5.0.1-10 all
x2gothinclient-management/stable,stable 1.5.0.1-10 all
x2gothinclient-minidesktop/stable,stable 1.5.0.1-10 all
x2gothinclient-smartcardrules/stable,stable 1.5.0.1-10 all
x2gothinclient-usbmount/stable,stable 1.5.0.1-10 all
[root@maria ~]#
Y luego instalamos con:
apt -y install x2goclient
En distros basadas en RH, como CentOS, AlmaLinux, Fedora, etc. (puedes usar yum o dnf indistintamente)
[javier@LinuxParty 1media]$ yum search x2go
Última comprobación de caducidad de metadatos hecha hace 12 days, 22:34:18, el mié 26 mar 2025 10:21:07.
=========================================================================== Coincidencia en Nombre , Resumen: x2go ============================================================================
cups-x2go.noarch : CUPS backend for printing from X2Go
perl-X2Go-Log.noarch : Perl X2Go::Log package
perl-X2Go-Server.noarch : Perl X2Go::Server package
perl-X2Go-Server-DB.x86_64 : Perl X2Go::Server::DB package
python-x2go-doc.noarch : Python X2Go client API documentation
python3-x2go.noarch : Python module providing X2Go client API
remmina-plugins-x2go.x86_64 : x2go plugin for Remmina Remote Desktop Client
x2goagent.x86_64 : X2Go Server's X2Go Agent Xserver
x2goclient.x86_64 : X2Go Client application
x2godesktopsharing.x86_64 : Share X11 desktops with other users via X2Go
x2gokdriveclient.x86_64 : X2Go KDrive Client application
x2goserver.x86_64 : X2Go Server
x2goserver-common.noarch : X2Go Server (common files)
x2goserver-desktopsharing.x86_64 : X2Go Server (Desktop Sharing support)
x2goserver-fmbindings.x86_64 : X2Go Server file manager bindings
x2goserver-printing.x86_64 : X2Go Server printing support
x2goserver-x2gokdrive.x86_64 : X2Go Server's X2Go KDrive Xserver
x2goserver-xsession.noarch : X2Go Server Xsession runner
x2gowswrapper.x86_64 : Helper utility for X2Go HTML5 client
xorg-x11-server-x2gokdrive.x86_64 : KDrive graphical server backend for X2GoServer
================================================================================ Coincidencia en Resumen: x2go ================================================================================
pyhoca-cli.noarch : Command line X2Go client written in Python
pyhoca-gui.noarch : Graphical X2Go client written in (wx)Python
[javier@LinuxParty 1media]$
Luego instala con:
yum -y install x2goclient
Para Windows:
Descarga desde: https://wiki.x2go.org
Ventajas:
- Usa el protocolo NX, más rápido que X11
- Puedes suspender y retomar sesiones
-
Soporta túneles SSH
3. VNC (Virtual Network Computing)
¿Qué es?
Un sistema de escritorio remoto que permite ver y controlar gráficamente el escritorio de otro equipo.
Requisitos:
- Un servidor VNC (como TigerVNC, x11vnc, RealVNC) en el servidor remoto
-
Un visor VNC en el equipo local
Instalación:
En el servidor:
sudo dnf install tigervnc-server
Configura el archivo ~/.vnc/xstartup
y lanza el servidor con:
vncserver
En el cliente:
Instala un visor como Remmina, VNC Viewer, KRDC, etc.
Consejo:
Para mayor seguridad, túnel VNC a través de SSH:
ssh -L 5901:localhost:5901 user@ip-remota
Luego conéctate a localhost:5901
desde tu visor VNC.
4. RDP (Remote Desktop Protocol)
¿Qué es?
Protocolo de Microsoft, pero soportado también en Linux mediante xrdp
.
Instalación en servidor Linux:
sudo dnf install xrdp sudo systemctl enable --now xrdp
En el firewall:
sudo firewall-cmd --permanent --add-port=3389/tcp sudo firewall-cmd --reload
Si usas IPTABLES:
sudo iptables -A INPUT -p tcp --dport 3389 -j ACCEPT
service iptables save
En la máquina local puedes usar:
-
Remmina
- FreeRDP
- Microsoft Remote Desktop (Windows/macOS)
5. Wayland: ¿y si uso Wayland en vez de X11?
Algunas distros modernas usan Wayland por defecto (como Fedora, GNOME). Sin embargo, ssh -X
no funciona bien con Wayland. Alternativas:
- Iniciar sesión con X11 (desde la pantalla de login)
- Usar X2Go o VNC, que funcionan mejor con Wayland
- Algunas apps como
flatpak
también pueden tener limitaciones
Opciones que puedes elegir:
Si necesitas abrir una aplicación gráfica remota en tu equipo local, hay varias formas de hacerlo. La elección depende de tus necesidades de rendimiento, compatibilidad y seguridad:
Método | Ideal para | Ventajas | Contras |
---|---|---|---|
ssh -X |
Tareas rápidas, scripts | Simple y directo | Lento en redes lentas |
X2Go | Uso regular, trabajo completo | Rápido, sesión persistente | Requiere instalación extra |
VNC | Escritorio completo | Muy flexible | Menor seguridad si no se usa SSH |
RDP | Integración con Windows | Buena experiencia gráfica | Menos nativo en Linux |
