====== Setting up File Sharing in X2GoClient ====== On some older Linux distributions, it was required that you add your users to the ''fuse'' group on your server. Newer distributions do away with this requirement. So if your server does **not** have a group called ''fuse'', you should not need to create (and populate) it. Only populate it with your users if it already exists, to avoid [[https://en.wikipedia.org/wiki/Cargo_cult_programming|Cargo Cult Programming]]. The following screenshots were made using [[http://code.x2go.org/releases/binary-win32/x2goclient/releases/4.0.5.1-2016.08.18/x2goclient-4.0.5.1-2016.08.18-setup.exe|X2GoClient for Windows 4.0.5.1-2016.08.18]]. The design of the session tabs may vary slightly in later versions, however, the principle stays the same. **Attention:** There is a bug in X2GoClient 4.0.5.2 that causes Folder Sharing to fail in some, if not all use cases. If you need this feature, please upgrade to the latest X2GoClient release //or// downgrade to X2GoClient 4.0.5.1 ===== Session Setup ===== ==== First, let's create a New Session ==== {{:doc:howto:filesharing-1.png|}} For this example, we'll be using MATE as Desktop Environment (see [[doc:de-compat|List of supported Desktop Environments]]). Feel free to use any other of the supported DEs, or Published Application/Single Application mode. ==== Adding Shared Folders ==== === Go to the "Shared Folders" tab and Click on the Folder Icon === {{:doc:howto:filesharing-2.png|}} === Navigate to the Folder you Wish to Add === {{:doc:howto:filesharing-3.png|}} For this example, we'll be using the ''Downloads'' folder of the Windows user account named ''WindowsUserAccount'', located at ''C:\Users\WindowsUserAccount\Downloads''. Feel free to use any other folder that your local Windows user account has access to. Click ''Select Folder'' to confirm your selection. === Add the Selected Folder to the List of Available Shares === {{:doc:howto:filesharing-4.png|}} If you've ever used PuTTY and its port forwarding feature, this step might already be familiar to you. You need to add the folder you just selected to the list of available shares (the large, empty field that the red arrow points to). Do this by clicking the ''Add'' button. === Use Automount and Port Forwarding === {{:doc:howto:filesharing-5.png|}} Make sure you've checked the ''Automount'' checkbox as well as the one that says ''Use SSH port forwarding...''. The latter should be enabled by default. If you decide against automounting, see [[doc:howto:x2goclient-file-sharing#manually_mounting_shared_folders_on_demand|Manually mounting Shared Folders on Demand]] below for manual mounting instructions. Unless you really know what you are doing, do **not** un-check ''Use SSH port forwarding...'' for Folder Sharing, especially if you're a beginner and are trying to get your first connection with Folder Sharing working. While the connection will still be encrypted due to the use of SSH on the reverse connections, it will likely cause problems that result in Folder Sharing not working at all. \\ \\ --------------------------------- //In theory,// it should be possible to un-check this box if there is no firewall or NAT routing between the Windows client and the Linux server. Note that //firewall// in this case refers to **both** hardware firewalls build into routers or bridges, as well as to software firewalls running on the Windows Client - like the built-in one that comes with every Windows since Windows XP ServicePack 2, or one belonging to an Internet Security Suite you might be running, and/or on the Linux Server, like ''iptables''. //In reality,// though, we've seen it fail more often than not, even when these conditions were met. --------------------------------- The one reason why you might want to un-check it is a slight performance increase due to saving some overhead, especially when running over a VPN connection (wrapping TCP in TCP, just to wrap it in TCP again is of course less than ideal), but at present, it just isn't worth the additional setup and debug effort for the average user. --------------------------------- **TL;DR:** If you don't have the faintest idea what the above paragraphs mean, don't un-check that box. === Optionally activate Filename Charset Translation === {{:doc:howto:filesharing-6.png|}} Unless you're using the same charset on both the Windows client and the Linux server, you should check this box so filenames with special characters in them don't get mangled. ===== Running the Session ===== === Navigate to your Home Directory === {{:doc:howto:filesharing-7.png|}} Once you're connected, you should see a symlink ''media'' in your home directory, assuming you followed our suggestion to use the Automount feature. Follow that symlink. If you decided against automounting, see [[doc:howto:x2goclient-file-sharing#manually_mounting_shared_folders_on_demand|Manually mounting Shared Folders on Demand]] below for manual mounting instructions. === Locate your Shared Folders == {{:doc:howto:filesharing-8.png|}} Inside the ''media'' folder are several sub-folders, one of them is named ''disk''. Navigate there. Inside the ''disk'' folder, you will see every mounted shared folder, the name always starting with ''_cygdrive_''. Note that folder names are abbreviated, so in our example, ''C:\Users\WindowsUserAccount\Downloads'' becomes ''_cygdrive_C_Users_WINDOW1_DOWNLO1''. === Compare Folder Contents === {{:doc:howto:filesharing-9.png|}} You can now navigate to one of the shared folders and access it like it was a local folder. All changes will be replicated instantly. Note that on the Linux side, you will always see file extensions (like ''.bmp'' in our example) as well as files that may be present, but hidden from you due to system settings on the Windows side. This behavior can be changed on the Windows side and is not specific to X2Go. Default behavior of Windows is to hide known file extensions as well as entire files with file system attributes ''hidden'' and/or ''system''. ===== Manually mounting Shared Folders on Demand ===== If you've decided against using the Automount feature, you will need to mount the Shared Folder(s) manually before you can use them. How you mount them manually depends on what checkboxes you checked under ''Options/Settings/General'' in X2GoClient: {{:doc:howto:filesharing-10.png|}} {{:doc:howto:filesharing-11.png|}} If you set X2GoClient to minimize into the system tray (any of the ''Hide...'' options in the screenshot above), then: {{:doc:howto:filesharing-12.png|}} Right-click the session icon next to the clock, select the session name (in our example: ''MATE-FileSharing test''), then ''Share folder ...''. {{:doc:howto:filesharing-13.png|}} If, instead, you have the X2GoClient window on your screen even with an active connection (noticeable by the two X2Go-related items in your taskbar, as highlighted by the two red arrows in the screenshot), click on the small ''folder icon'', that's the left of the three icons ''Folder'', ''Pause'', ''Power'' marked in the red box in the screenshot. From there, the steps are the same again for both variants: {{:doc:howto:filesharing-14.png|}} Click the name of the share (in our example: ''C:\Users\WindowsUserAccount\Downloads'') in the window that has opened, then click the ''share'' button to confirm your selection.