Last updated: 2021-3-22 (fix Filecloud forum links)
FileCloud is an enterprise grade file sharing, sync, and backup solution developed by CodeLathe that can be self-hosted (on-prem). They provide sync clients for Windows, Mac, and Linux. While the Linux client can serve its purpose, getting it working and accessible can be a bit cumbersome.
The Wound
As it currently sits, the Linux sync client installer isn't quite as fleshed out as the Windows sync client installer, primarily because they don't have very many Linux users (reference).
For Linux, the documented installation process involves downloading and unzipping their latest archive, making a couple files executable, and then running one of them to start the sync app... which may work, providing all dependencies are met.
As user Ilsa Loving calls out on their community forums, the process leaves a bit to be desired.
Topic: Linux Sync client support for 18.10+
The Linux client as it currently exists is hopelessly inadequate. On Ubuntu (18.10) it won't launch. Furthermore, you have no idea what's wrong unless you modify the filecloudsyncstart.sh file and remove the redirection to /dev/null. Apparently I do not have the necessary libpng12.so.0 file.
For anyone else having the problem and are using Ubuntu, here is the solution:https://www.linuxuprising.com/2018/05/fix-libpng12-0-missing-in-ubuntu-1804.html
In addition, there is no .desktop file, so unless the user knows how to create one on their own, it is not possible to launch the app from the application menu.
The best option would be to provide the linux sync client in the form of a snap, flatpak or appimage package, so that you can distribute the client in a non-distribution specific manner, using whatever libraries you want.
To elaborate on her points;
-
An end-user would have no idea if they're missing a dependency since the
filecloudsyncstart.sh
script dumps output to/dev/null
(prevents it from being displayed in terminal). So executing the command listed in the installation guide could lead to some head-scratching and googling things like "linux task manager" while trying to make sense of filteringtop
orps aux
via terminal, looking for a stale "filecloud" process. -
A
.desktop
file is not included, which means an end-user will either have to create one or run the script manually any time they want to launch the sync client. This also adds complexity for end-users utilizing UI tools to automatically launch the sync client at startup/login.
Additionally the downloaded .zip file contains 93 files nested in the root of the archive; a plethora of libraries and images, and few certs and scripts. When the average end-user downloads the file and executes the command provided in the installation guide, all 93 of those files are likely going to be dumped straight into their ~/Downloads
folder.
Expand for .zip file contents
unzip -l filecloudsync_linux_amd64.zip
(o)Archive: filecloudsync_linux_amd64.zip
(o) Length Date Time Name
(o)--------- ---------- ----- ----
(o) 148 2018-09-27 14:43 calendar.png
(o) 511 2018-09-27 14:43 cbabout32.png
(o) 359 2018-09-27 14:43 cbactivity32.png
(o) 1739 2018-09-27 14:43 cbalt_rate_limit.png
(o) 310 2018-09-27 14:43 cbbackward.png
(o) 427 2018-09-27 14:43 cbcreatefolder.png
(o) 371 2018-09-27 14:43 cbdelete.png
(o) 561 2018-09-27 14:43 cbdoc.png
(o) 325 2018-09-27 14:43 cbdownload.png
(o) 243 2018-09-27 14:43 cbfile.png
(o) 256 2018-09-27 14:43 cbfile2.png
(o) 203 2018-09-27 14:43 cbfolder.png
(o) 203 2018-09-27 14:43 cbfolder_open.png
(o) 282 2018-09-27 14:43 cbforward.png
(o) 1337 2018-09-27 14:43 cbglobal_rate_limit.png
(o) 463 2018-09-27 14:43 cbhome32.png
(o) 386 2018-09-27 14:43 cblock.png
(o) 5738 2018-09-27 14:43 cblogin.png
(o) 655 2018-09-27 14:43 cbok30.png
(o) 601 2018-09-27 14:43 cbpause30.png
(o) 520 2018-09-27 14:43 cbpdf.png
(o) 478 2018-09-27 14:43 cbpic.png
(o) 570 2018-09-27 14:43 cbppt.png
(o) 268 2018-09-27 14:43 cbprivate.png
(o) 1785 2018-09-27 14:43 cbprofile.png
(o) 702 2018-09-27 14:43 cbproperties.png
(o) 286 2018-09-27 14:43 cbpublic.png
(o) 350 2018-09-27 14:43 cbquickedit.png
(o) 336 2018-09-27 14:43 cbrefresh.png
(o) 334 2018-09-27 14:43 cbsearch.png
(o) 735 2018-09-27 14:43 cbsettings32.png
(o) 329 2018-09-27 14:43 cbshare.png
(o) 410 2018-09-27 14:43 cbunlock.png
(o) 331 2018-09-27 14:43 cbuploadfile.png
(o) 355 2018-09-27 14:43 cbuploadfolder.png
(o) 548 2018-09-27 14:43 cbxls.png
(o) 220293 2018-09-27 14:43 clientca.pem
(o) 4893 2018-09-27 14:43 clientcert.pem
(o) 3114 2018-09-27 14:43 doc.png
(o) 504 2018-09-27 14:43 email_disabled.png
(o) 550 2018-09-27 14:43 emailpermitted.png
(o) 189 2018-09-27 14:43 file.png
(o) 5632278 2018-09-27 14:43 filecloudsync
(o) 3721278 2018-09-27 14:43 filecloudsynccon
(o) 73 2018-09-27 14:43 filecloudsyncstart.sh
(o) 1510 2018-09-27 14:43 folder.png
(o) 167 2018-09-27 14:43 folder_name.png
(o) 271 2018-09-27 14:43 folder_open.png
(o) 1039 2018-09-27 14:43 generic.png
(o) 2035 2018-09-27 14:43 image.png
(o) 306 2018-09-27 14:43 info.png
(o) 139568 2018-09-27 14:43 libPocoCrypto.so
(o) 139568 2018-09-27 14:43 libPocoCrypto.so.31
(o) 1982768 2018-09-27 14:43 libPocoFoundation.so
(o) 1982768 2018-09-27 14:43 libPocoFoundation.so.31
(o) 324016 2018-09-27 14:43 libPocoJSON.so
(o) 324016 2018-09-27 14:43 libPocoJSON.so.31
(o) 1189416 2018-09-27 14:43 libPocoNet.so
(o) 1189416 2018-09-27 14:43 libPocoNet.so.31
(o) 292568 2018-09-27 14:43 libPocoNetSSL.so
(o) 292568 2018-09-27 14:43 libPocoNetSSL.so.31
(o) 461584 2018-09-27 14:43 libPocoUtil.so
(o) 461584 2018-09-27 14:43 libPocoUtil.so.31
(o) 584160 2018-09-27 14:43 libPocoXML.so
(o) 584160 2018-09-27 14:43 libPocoXML.so.31
(o) 287296 2018-09-27 14:43 libPocoZip.so
(o) 287296 2018-09-27 14:43 libPocoZip.so.31
(o) 52048 2018-09-27 14:43 libappindicator.so.1
(o) 1938840 2018-09-27 14:43 libcrypto.so
(o) 1938840 2018-09-27 14:43 libcrypto.so.1.0.0
(o) 56448 2018-09-27 14:43 libindicator.so.7
(o) 387168 2018-09-27 14:43 libssl.so
(o) 387168 2018-09-27 14:43 libssl.so.1.0.0
(o) 3128554 2018-09-27 14:43 libwx_baseu-2.9.so.5
(o) 2480660 2018-09-27 14:43 libwx_gtk2u_adv-2.9.so.5
(o) 765803 2018-09-27 14:43 libwx_gtk2u_aui-2.9.so.5
(o) 7819406 2018-09-27 14:43 libwx_gtk2u_core-2.9.so.5
(o) 1599 2018-09-27 14:43 music.png
(o) 2097 2018-09-27 14:43 pdf.png
(o) 2986 2018-09-27 14:43 ppt.png
(o) 416 2018-09-27 14:43 read_disabled.png
(o) 404 2018-09-27 14:43 readpermitted.png
(o) 574 2018-09-27 14:43 share_disabled.png
(o) 681 2018-09-27 14:43 sharepermitted.png
(o) 3401 2018-09-27 14:43 sync.png
(o) 715 2018-09-27 14:43 sync_disabled.png
(o) 1513 2018-09-27 14:43 syncindicator.png
(o) 874 2018-09-27 14:43 syncpermitted.png
(o) 104915 2018-09-27 14:43 translationsdc.zip
(o) 2110 2018-09-27 14:43 video.png
(o) 574 2018-09-27 14:43 write_disabled.png
(o) 717 2018-09-27 14:43 writepermitted.png
(o) 2852 2018-09-27 14:43 xls.png
(o)--------- -------
(o)39216070 93 files
The Bandaid
I put a crude script on GitHub that will install the current sync client (18+). I tested this on my current preferred flavor, Kubuntu (versions 18.10 and 19.04), but it should work on any recent (.?[Uu]buntu) release.
Installation
Run the following from your terminal...
git clone https://github.com/derek-shnosh/filecloudsync-install.git ~/Downloads/filecloudsync-install
chmod +x ~/Downloads/filecloudsync-install/filecloudsync-install.sh
~/Downloads/filecloudsync-install/filecloudsync-install.sh install
What this does...
- Clones the github repo to
~/Downloads/filecloundsync-install/
.- Contains my installer script and a .png file to be used for the icon.
- Makes the installation script executable.
- Runs the installation script.
- Downloads the latest sync client from FileCloud servers.
- Downloads
libpng12
from Ubuntu. - Installs prerequisites (
libpng12
andlibdbusmenu-gtk-dev
). - Unzips the sync client to
~/apps/filecloudsync
. - Copies the .png file to
~/apps/filecloudsync
. - Makes required files executable (
filecloudsync
,filecloudsyncstart
). - Creates a
filecloudsync.desktop
file in~/.local/share/applications/
. - Registers
~/apps/filecloudsync
to shared libraries for dependencies. - The sync client can now be launched from an app menu.
Uninstall
Run the following command to uninstall.
~/Downloads/filecloudsync-install/filecloudsync-install.sh uninstall
Post-Install Thoughts
Cache & Config Visibility
The ~/FileCloudSyncData
(cache folder) and ~/syncclientconfig.xml
file are both created when the sync client is launched the first time; I'd like to see these files prepended with .
by default so they aren't visible in graphical file managers.
I was able to prepend the cache folder with a .
(i.e. ~/.FileCloudSyncData
) and then update the config file accordingly...
<rowentry>
<name>syncclientlocation</name>
<type>string</type>
<value>/home/derek/.FileCloudSyncData</value>
</rowentry>
However I can't prepend the config file with a .
because the sync client won't find it, causing it to populate a new one.
Initial Setup Wizard
This one is not constrained to Linux... once the sync client is launched on any platform and a user logs in, it immediately starts syncing everything to the default location. I'd like to see options to configure selective sync and sync location before any syncing occurs; similar to other solutions like MEGA and Dropbox, that provide a setup wizard to accommodate these changes.
As a workaround for those who want to enable selective sync, check the Document editing only (no sync) option during the initial login/setup, configure selective sync, and then start syncing.