linux_wiki:remote_gui_desktops

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

linux_wiki:remote_gui_desktops [2019/05/25 23:50] (current)
Line 1: Line 1:
 +====== 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 server<code bash>yum install fuse-sshfs x2goserver x2goserver-xsession</code>
 +    * 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<code bash>#- Fix for Atom Crashing: https://github.com/atom/atom/issues/4360 -#
 +X2GO_NXAGENT_DEFAULT_OPTIONS+=" -extension BIG-REQUESTS"</code>
 +
 +**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
 +<code bash>
 +yum install xrdp
 +</code>
 +
 +===== XRDP: Configure =====
 +
 +**Performance Settings**
 +
 +  * Change xrdp bpp to 16 (/etc/xrdp/xrdp.ini)<code bash>sed -i 's/max_bpp=32/max_bpp=16/' /etc/xrdp/xrdp.ini</code>
 +  * Increase Max Sessions (/etc/xrdp/sesman.ini)<code bash>sed -i 's/MaxSessions=10/MaxSessions=50/' /etc/xrdp/sesman.ini</code>
 +
 +**Security Settings**
 +
 +  * Only Allows TLS1.2<code bash>sed -i 's/ssl_protocols=.*/ssl_protocols=TLSv1.2/' /etc/xrdp/xrdp.ini</code>
 +  * Set Ciphers to AES<code bash>sed -i 's/#*tls_ciphers=.*/tls_ciphers=AES/' /etc/xrdp/xrdp.ini</code>
 +
 +**Log Settings**
 +
 +  * Set logging levels to warning instead of debug<code bash>sed -i 's/LogLevel=.*/LogLevel=WARNING/' /etc/xrdp/xrdp.ini
 +sed -i 's/SyslogLevel=.*/SyslogLevel=WARNING/' /etc/xrdp/xrdp.ini</code>
 +
 +**PATH Settings**
 +  * Add 'source /etc/profile' to xrdp's start script to get login PATH settings<code bash>vim /etc/xrdp/startwm.sh
 +
 +if [ -f /etc/X11/xinit/xinitrc ]
 +then
 +    source /etc/profile
 +    . /etc/X11/xinit/xinitrc
 +    exit 0
 +fi</code>
 +
 +Restart and enable xrdp
 +<code bash>
 +systemctl restart xrdp
 +systemctl enable xrdp
 +</code>
 +
 +Ensure we are still starting the server in multi-user (no gui), change if not
 +<code bash>
 +systemctl get-default
 +systemctl set-default multi-user.target
 +</code>
 +
 +----
  
  • linux_wiki/remote_gui_desktops.txt
  • Last modified: 2019/05/25 23:50
  • (external edit)