Syncthingを使ってみる、その3
Syncthingを使ってみる、その2の続きである。今回は、AndroidとWindowsを同期してみる。つまり、AndroidにSyncthingをインストールする。
インストール
Syncthingはオープンソースなので、F-Droidからインストールできる。
※F-droidはオープンソースのみを集めたAndroid用のアプリリポジトリである。F-Droidに同じようなソフトがあるならば、Google Play Storeにあるものよりも優先して使って欲しい。
Syncthing-Forkというアプリもあるので注意すること。これは改良版とされているが、オフィシャルでもなく、満足にも動作しなかった。
GrapheneOS等のネットワーク権限許可のある場合はONにする。
そのまま開く
初期設定
ファイルアクセス権限を与えないといけない。
Wifiを検出するために位置情報許可が必要だという。
通知は不要だろう。
これで終了なのだが、場合によっては次の警告が出るので設定する。
この場合はトップのチェックをOFFにする。そもそもこの機能の意図としては、携帯キャリア接続の場合はパケット代が高いので機能しないようにし、Wifi接続の時だけ機能するといったことなのだが、バグのためかうまく動作していないようだ。チェックOFFにすることにより、「いつでも」機能する、つまり、アップロードやダウンロードが必要な時はそれを行ってしまうのだが、仕方がない。
前画面に戻ると以下の状態。この「実行条件」から先の画面にいける。
さらに前画面に戻る。操作していない時に停止してしまうのを避ける。
バックグラウンド実行を許す。
アプリの画面になる。デフォルトでは、カメラによる写真のフォルダの共有準備ができているが、もちろん共有しなくてもよい。
Windowsパソコンと接続する
アプリアイコンができているので、もし終了してしまったら、ここから起動する。
デバイスタブにて追加ボタンを押す。
QRコードマークをタップ。
写真撮影を許可する。
この後、QRコードを撮影できるので、Ultraman側のQRコードを撮影する。Windowsどうしの場合には、デバイスID文字列をコピーするしかなかったのだが、スマフォの場合は撮影すればよい。
このようになるので、パソコン側の名前を入力してOKする。
デバイスリストにUltramanが現れたが、切断中表示になっている。
少々待っていると、Ultraman側に以下の表示がされる。
共有するフォルダにチェックして、保存。
スマフォ側のデバイスリストは以下の表示になる。
フォルダを共有する
上記で、デバイスどうしが接続し、パソコン側はそのSyncFolderフォルダの共有を指定したのだが、スマフォ側ではこのフォルダ共有を受け入れ、どの場所にファイルを格納するのか指定する必要がある。不思議なことに、これはウェブGUIで行うことになっている。
左上のハンバーガーメニューをクリック。
Web GUIを選択。
最初はこれが表示される。お好みでどちらでも。
Ultraman側からフォルダ共有要求が来ているので受け入れる。
初期値として適当な名前とフォルダが設定されている。フォルダのパスについては後で解説。
共有を受け入れると、早速ダウンロードが始まる。このフォルダの他に元からある「カメラ」フォルダがあるが、これはどことも共有していない。
下の方にスクロールすると、接続先としてUltramanが現れている。
ファイルパスの意味
上でSyncFolderのデフォルト場所として、/storage/emulated/0/SyncFolderになっていたが、「/storage/emulated/0/」という部分は、Androidの内部ストレージを表している。つまり、メインのディスク領域のことである。これに対して、外部とはSIMスロットにSIMと同時に入れるSDカードや、USBコネクタに接続するUSBメモリスティックなどがある。この場合、「/storage/xxxx-xxxx(SDカード名)」などという名前になる。AndroidはLinuxシステムなので、Windowsのようなドライブの概念はなく、すべてのストレージが単一のツリー構造になっている。
実際にファイルマネージャでメインストレージを見てみると、SyncFolderはトップにあることがわかる。
同期のチェック
さて、これでもともとNatashaにて作成したSyncFolderを、Ultramanに同期し、そこから、PangeaとPixel 5aにも同期した。これらはきちんと同期しているのだろうか?
Pixel 5aでファイルを作成し、他にも反映されていることを確かめる。つけっぱなしのWindowsパソコンには完全に同期されるが、電源を落としておいたPangeaは同期されない。
UltramanからみてもPangeaは切断されたまま。
Pangea側でもUltramanに切断されたままだ。
しかし、5分から10分程度待ち続けたところ、接続されて同期が終了した。特に行うべきことはないようだ。
how to force connectionによれば、Syncthingは1分に一度接続をこころみているそうだ。