Es stellt sich heraus, dass die Meldung "schwerwiegender Fehler" geeigneter ist als ich dachte. Der Ursprung des Problems (das in einem Zwei-Computer-Setup auftreten würde, wenn ein Host seinen Namen ändert) ist, dass die beiden Android-Geräte, die mit Hostnamen synchronisiert werden sollen, beide bestimmt wurden localhost
, obwohl sie sich unterscheiden und durch unterschiedliche IP-Adressen festgelegt sind. Adressen.
Gemäß dem unisono-Handbuch kann der Hostname manuell durch Exportieren der UNISONLOCALHOSTNAME
Umgebungsvariablen angegeben werden. Da unison keine Login-Shell erstellt, kann sie jedoch nicht in die .profile
Datei auf den Sync-Geräten exportiert werden. Es stellte sich heraus, dass auch die ./ssh/environment
Datei meiner SSH-Server (in beiden Fällen SshDroid) nicht gelesen wurde. Schließlich wird auch der Android-Hostname (der mit festgelegt werden kann setprop net.hostname [hostname]
) von unison nicht gelesen. Stattdessen scheint es Standard zu sein localhost
.
Daher kam ich zu folgender Problemumgehung:
unison -servercmd "export UNISONLOCALHOSTNAME=host1; unison" ssh://"$myhost1//dir" "$HOME/dir" unison -servercmd "export UNISONLOCALHOSTNAME=host2; unison" ssh://"$myhost2//dir" "$HOME/dir"
Hier -servercmd
legt die Option fest, welcher Befehl auf den entfernten Geräten ausgeführt werden soll, um unisono zu starten. In meiner Version UNISONLOCALHOSTNAME
werden zuerst die zwei verschiedenen Werte exportiert .
Dann werden die Hosts als unterschiedlich erkannt und es ist möglich, mehrere "Tipps" von einem zentralen "Hub" aus in einem "Stern" -Status zu synchronisieren.