I need to sync my folders on Linux PCs and sometimes Windows. I don't want cloud sync (uploading file on a cloud), I want direct synchronization like peer to peer. I am going to sync several folders. Please suggest something with a GUI.
Unison is a bidirectional file synchronization tool. It is open source and available for Linux, OSX and other unix variants, and Windows (where available, install the distribution's package, e.g.
unison-gtk on Ubuntu with the GUI). You need to have the same version of Unison on all machines.
Unison handles only file synchronization, it doesn't do network communication. Between Linux machines, the normal way to communicate is SSH (on Ubuntu, install
openssh-server at least one machine).
You can mount remote folders on or from Windows with Samba.
Unison keeps track of which file versions have been synchronized already and which ones haven't, so it'll only transfer files that have changed, and it will tell you if there is a conflict, i.e. you've modified the same file on both sides.
To synchronize between more than two machines, use a star pattern, with one machine that's always reachable and used as an intermediate step between other machines. Although it's theoretically possible to synchronize between any two pairs of machines, doing so introduces a high risk of conflict, where you end up with multiple versions of the same file and have no way to know which one is the most recent.
By syncing you mean sharing some files?
If so, and if you don't want use any online softwares, Best option is samba sharing. It works on both Windows and Linux.
All you need to do is make a folder sharable at the properties.
And it's accessable through network tag under Volumes on nautlies (file manager) in Linux and Explorer on Windows.