Twoim głównym problemem przy próbie zrobienia tego jest podjęcie decyzji jak scalać zmiany, propagować usuwanie i rozwiązywać konflikty. Jest to trudne do zrobienia w sposób całkowicie zautomatyzowany, szczególnie jeśli masz konfigurację 3 komputerów używanych przez wiele osób.
Jeśli rozdzielisz użytkowników, sprawy stają się o wiele prostsze. Ponieważ jeden użytkownik nie może być w dwóch miejscach na raz (i dlatego generować konflikty), możesz skonfigurować zadanie rsync, aby uruchomić po zalogowaniu się, aby “pobrać zmiany” i wylogować się, aby “przepchnąć zmiany” … do jednego z komputerów, który byłby master … więc na tym poziomie szczegółowości będziesz synchronizował /home/myuser za każdym razem, a nie cały /home/. Dodatkowym udoskonaleniem (w przypadku osób, które się nie wylogowują) byłoby uruchamianie skryptu push po krótkim okresie bezczynności.
Istnieje wiele innych potencjalnych rozwiązań, ale żadne, które w magiczny sposób rozwiązują ten problem, o ile mi wiadomo. Pierwszym krokiem jest prawdopodobnie zastanowienie się, w jaki sposób używasz maszyn i wymyślenie polityki synchronizacji, aby dopasować ją do zachowania użytkowników.