This is an old revision of the document!
For those who want to find reasons for certain behavious of X2Go, read here: How To Debug or Troubleshoot your X2Go installation
No. It is not possible to use NX client to log on to an X2Go server and vice versa.
X2Go does use the same libraries for graphics, keyboard/mouse input, and clipboard sharing. However, X2Go aims for an even greater integration into the Linux environment. Therefore, X2Go performs session handling in an incompatible manner.
X2Go also performs SSH authentication in a different manner than NoMachine does.
Yes - the NX libraries of X2Go are actually the most recent versions of NXv3 libs available (including our own patch set). NoMachine is about to drop the NXv3 development branch completely and NXv4 will be released as closed source only .
Due to these circumstances in the future the X2Go project will be upstream source for NXv3 libs for quite some distributions like Debian or Ubuntu.
In former times the NX libs shipped with X2Go installed into an X2Go'ish location so that they would not interfere with the original NX libraries.
Nowadays the NX libs shipped with X2Go work as a replacement for the NXv3 that are not maintained by NoMachine anymore.
(This FAQ article has been written by Mike Gabriel, if someone does not agree with the given information on NoMachine, please be so kind to contact me, so that we can discuss it and possibly correct errors in the given information).
Note that originally, “nx-libs” was not a single git repo. Instead, it was 7 separate tarballs:
Only the 1st 3 are libraries.
Having separate tarballs made maintenance more difficult, so they were combined into one as the X2Go project started redistributing them.
You are probably referring to the LBX post-mortem
It is true that X11 forwarding's performance can be improved by SSH's zlib compression and by the use of XCB rather than xlib.
However, nx-libs performs 3 additional performance improvements:
The 1st 2 performance improvements also reduce bandwidth usage; which has the effect of improving performance when other users are sharing the same WAN link.
The simple answer is that the OpenSSH server treats the connection differently (in such a way that degrades nx-libs performance) unless X11 forwarding is enabled.
LTSP requires a high bandwidth on your network. It can efficiently be used in Local Area Networks (LANs) only.
However, X2Go is not a mere solution for local area networks, but it also allows for the integration of a mobile network into the system. Nomachine’s NX libraries - used by X2Go - enable the transport of whole desktop sessions over a narrow bandwith connection through the internet.
Further bonuses of X2Go are that you can pause a desktop session and take it to a different thin client for further use.
Both packages (
x2goserver-one) are obsolete as of April 2011. They have been removed from the current .deb repositories and they should not be used anymore (in fact they break your system). On .deb based system they will automatically be uninstalled with an update of the
X2go Server currently does neither have any group membership restrictions any more as former versions had. This may well be re-introduced, though, if someone picks up work on that.
x2goserver-home package added all known users on the server system to the group
x2gousers which made some people nervous when testing X2Go on production systems . For this reason we have dropped the auto-adding of users to groups in Apr 2011.
No. The postgres database is only needed if you are planing to use more than one connected server (server array). By default X2Go Server installs with SQLite3 support enabled. To set up X2Go with PostgreSQL as DB backend you have to edit the X2Go Server's configuration in /etc/x2go.
Probably because the server does not listen to client connections. Check whether the file
/etc/pulse/default.pa on the client contains the line:
load-module module-native-protocol-tcp auth-cookie=".pulse-cookie"
If not, add it. Alternatively you can load the module at runtime:
pactl load-module module-native-protocol-tcp 'auth-cookie=".pulse-cookie"'
To set a print target, you'll need
x2goclient. For example you can use the RDP tunneling feature of X2Go.
Although some tools (e.g. Gnome Keyboard Indicator) might have trouble changing the layout, you should be able to change the keyboard layout using setxkbmap.
setxkbmap de setxkbmap us
This happens because of a package called
kscreen. If you encounter an X2Go session trying to launch KDE and this KDE session won't resize properly to your client-side screen or session window size.
In general, this is not a bug. Using two applications that handle display resolution is not supported, as it can lead to many unexpectable situations and race conditions.
On machines that act as X2Go Server only, it may make sense removing the kscreen package completely. This, however, may have an effect on your X2Go server's plug'n'play capabilities. The
kscreen package handles hotplugging of display hardware. So if your X2Go Server machine is used locally, as well as via X2Go, consider well, if it is ok to remove that package or not.
For X2Go we suggest disabling the KScreen KDED module (System Settings → Startup and Shutdown → Service Manager, uncheck “KScreen 2”) in the user's profile, since X2Go handles resolution switches for you. To manually change output settings (rotation, enabling/disabling outputs etc) use the KScreen KCM.
Some people have asked for font size customizations in X2Go session windows. Please use the DPI value in the session setup to customize font sizes within your X2Go sessions:
Add users that shall be granted X2Go file and folder sharing functionality to the “fuse” group on your system (openSUSE/SLES users: to the “trusted” group). For user foo this may look like this at the command line:
$ sudo adduser foo fuse
# if on SUSE + derivatives $ sudo usermod -G trusted foo
This KB article shows one solution for this:
At this time libssh, the ssh library used by X2Go is unable to work with an ECDSA key. However you may use an RSA key–if you need to–or go with the SSH default authenticating method using the remote user's password.
If you already use openssh to get a shell on your x2go server, you may get this message when trying to connect with x2go:
The host key for this server was not found but an othertype of key exists. An attacker might change the default server key to confuse your client into thinking the key does not exist
This is related to the ECDSA Key (see FAQ above). To solve this issue, you can disable ECDSA keys on your ssh server configuration, by commenting the following line in /etc/ssh/sshd_config file:
Then restart ssh service. Now you should not get the error message anymore.
Eclipse and DartEditor crash on Debian Wheezy due to cairo lib, as explained on http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=721181.
The bug report and its links explain how to work around this problem by updating to the cairo library from Jessie, or modifying a line in the /usr/bin/eclipse launcher script, changing last line:
exec $ECLIPSE "$@"
exec $ECLIPSE -vmargs -Dorg.eclipse.swt.internal.gtk.cairoGraphics=false "$@"
If when using Libreoffice, text selections and copy/paste operations make your X use lots of cpu, disable anti-aliasing and selection transparency on Libreoffice options.
If using Mate DE, your numlock key makes numeric keyboard act in a numeric manner or as a moviment keys, disable the dconf setting with:
gsettings set org.mate.peripherals-keyboard remember-numlock-state false
Another interesting setting is:
gsettings set org.mate.peripherals-keyboard numlock-state 'on'
Lastly, you can tell X to always use numeric pad as digits, on keyboard options.
Using an buffered X-window and reducing the update rate can significantly improve performance for complex graphs.
#Only update Window every 5 seconds (you have to play with this value) options(X11updates = 5) #Open a new X-Window with buffered window X11(type = "dbcairo"); #Everything following this line will be drawn into this window.
Please visit de-compat to find out which Desktop Environments are supported on the X2Go Server side.