====== Using the X2Go Desktop Sharing Feature ======
With the desktop sharing function of X2Go you can gain full-access to the desktop of another computer, similar to programs such as Remote Desktop, TeamViewer, and LogMeIn. You can see an X2Go session from somebody else, but you can also see a normal desktop.
Desktop Sharing functionality requires access to port 22. You may need to enable port forwarding on your router (see [[http://www.wikihow.com/Set-Up-Port-Forwarding-on-a-Router|here]] for more details).
===== The Server Side =====
First you need to install the package x2godesktopsharing on the server (the machine you want to access, this can be a very normal PC):
aptitude install x2goserver-desktopsharing
Then there is a new application in the menu. I can find it with "Applications | Internet | X2Go desktop sharing". You can start the program with this command too:
$ x2godesktopsharing
After starting the application and some searching, you will find a new icon on your panel. On the top the icon it's blue, and under it is white with a red cross in it. When you right-click on the button you can activate the desktop sharing there. After activating other people who can login, can access your desktop.
===== Client Side =====
To connect to another user's desktop, use [[doc:usage:x2goclient|X2Go Client]]. For installation instructions refer to the [[download:start|download page]].
* Start the client.
Preparing the session:
* Create a new session with "session | new session...".
* Assign a session name.
* As 'host name' give the name of the machine, the session you want to connect to, is running on.
* As 'user name' give your account on the remote machine.
* As 'session type' choose 'connection to local desktop'.
* Recommended: choose "full screen" on the settings tab. Otherwise, everything can become too small to read.
* Press 'OK' to save the session.
Making the connection:
* Activate the newly created session.
* Enter the password of your remote account, and start the session.
* You'll be presented with a list of running sessions. Choose, which you want to connect to. (In most cases there will be only one session listed.)
After this you will login on the desktop of the other user. When your monitor is smaller than the other ones, it might be a bit difficult to read.
Be aware, that by selecting 'shutdown' within the shared desktop, the remote system will be turned off!
===== Misc notes (needs to be rewritten) =====
* if you use x2godesktopsharing on :0 then you can connect to it through x2goclient with the session profile...
* session type ,,Connect to local desktop''
* however, there is a not-a-real-bug in x2godesktopsharing. User foo on :0 can connect to the desktop through x2goclient as user foo without x2godesktopsharing doing much, asair.
* user bar can access user foo on :0 if user foo grants access for user bar through x2godesktopsharing.
* however, in x2goclient there is a hard-coded restriction that only allows view-only access to user bar...
* in pyhoca-cli, desktop sharing is already implemented (pyhoca-cli is a cmdline X2Go client)
* and with pyhoca-cli you can choose --share-mode 0 or --share-mode 1 (where 0 is view-only and 1 is full access)
* x2godesktopsharing basically does not care if it runs on :0 or :50 (normally the display number for the first X2Go session on the machine)
FIXME This section needs to be rewritten. For now it's just a copy & paste from an IRC discussion