====== Remote GUI Desktops ====== **General Information** Remote desktop application setup. **Checklist** * Pre-req: [[linux_wiki:gui_desktops|Install a GUI desktop]] on the remote server. ---- ====== X2Go ====== X2Go is "an open source remote desktop software for Linux that uses the NX technology protocol". * Official Site: https://wiki.x2go.org/doku.php \\ ===== X2Go: Install ===== **Desktop Environment Compatibility** * Compatible, No Workarounds * LXDE * XFCE * MATE * Compatible, with Workarounds * KDE 5 (plasma) -> very slow * Cinnamon -> Buggy, requires fallback mode * More Details: https://wiki.x2go.org/doku.php/doc:de-compat ---- ==== X2Go: Install on Servers ==== * **CentOS 6 and 7**: Install x2go serveryum install fuse-sshfs x2goserver x2goserver-xsession * Note: There is no service to start, as the x2go clients connect via ssh and use the NX protocol to forward the graphical display. ---- ==== X2Go: Install on Clients ==== * Download the last client from: https://wiki.x2go.org/doku.php/download:start * Follow online instructions and launch client after install ---- ===== X2Go: Configure ===== Configuring x2go. X2Go config files are located: * /etc/x2go/ **Server: Fix for atom/other text editors crashing connected via X2GoClient** * Edit server side config file (/etc/x2go/x2goagent.options) and append#- Fix for Atom Crashing: https://github.com/atom/atom/issues/4360 -# X2GO_NXAGENT_DEFAULT_OPTIONS+=" -extension BIG-REQUESTS" **Client: Fix for Windows Firewall Messages Popping Up** * Windows Firewall messages pop up about various features being blocked during connection. To make these go away, some X2GoClient session features can be disabled. * X2Go Client Window: Session > Session management... * Select your saved session > click Session preferences * Click the Media tab * Uncheck "Enable sound support" * Uncheck "Client side printing support" * Click "Ok" * On Session Management, Click "Exit" **Client: Performance Settings** * Various performance settings in the X2Go Client * Session Preferences * Connection tab * Connection Speed: Adjust to connection speed * Compression Method and Quality ---- ====== XRDP ====== xrdp runs on a Linux system and allows for native Windows RDP to connect to it. **Note:** xrdp checks only if a session with the same geometry is already opened. It will start a new session if the geometry/resolution doesn't match. This means if you connect using an external monitor initially, and resume with a different monitor with different resolution being sent, you will get a new session. Resolution settings are configurable via the RDP client display settings. (Full screen is the default) ===== XRDP: Install ===== Install xrdp yum install xrdp ===== XRDP: Configure ===== **Performance Settings** * Change xrdp bpp to 16 (/etc/xrdp/xrdp.ini)sed -i 's/max_bpp=32/max_bpp=16/' /etc/xrdp/xrdp.ini * Increase Max Sessions (/etc/xrdp/sesman.ini)sed -i 's/MaxSessions=10/MaxSessions=50/' /etc/xrdp/sesman.ini **Security Settings** * Only Allows TLS1.2sed -i 's/ssl_protocols=.*/ssl_protocols=TLSv1.2/' /etc/xrdp/xrdp.ini * Set Ciphers to AESsed -i 's/#*tls_ciphers=.*/tls_ciphers=AES/' /etc/xrdp/xrdp.ini **Log Settings** * Set logging levels to warning instead of debugsed -i 's/LogLevel=.*/LogLevel=WARNING/' /etc/xrdp/xrdp.ini sed -i 's/SyslogLevel=.*/SyslogLevel=WARNING/' /etc/xrdp/xrdp.ini **PATH Settings** * Add 'source /etc/profile' to xrdp's start script to get login PATH settingsvim /etc/xrdp/startwm.sh if [ -f /etc/X11/xinit/xinitrc ] then source /etc/profile . /etc/X11/xinit/xinitrc exit 0 fi Restart and enable xrdp systemctl restart xrdp systemctl enable xrdp Ensure we are still starting the server in multi-user (no gui), change if not systemctl get-default systemctl set-default multi-user.target ----