En fait, petite précision, rsync marche forcémenet avec une source et une cible (pas en bi-directionnel).
C'est normal, c'est conçu comme ça, et d'ailleurs la synchronisation bi-directionnelle pose forcément certains problèmes auquel il convient de répondre pour que le procédé soit fiable.
Dans certains contextes précis, il est possible de faire d'abord un rsync dans un sens puis dans l'autre, mais c'est loin d'être le cas tout le temps...
grsync n'est qu'une interface graphique pour rsync.
Par contre, pour le bi-directionnel, en mode console,
unison doit gérer ça correctement même si ce n'est pas forcément hyper-intuitif. Il y a bien sûr des cas où le programme à besoin que l'utilisateur fasse un choix.