torazaemon2016’s blog

手書き文字認識メモ開発

iOSで無料のSyncthing「Synctrain」をインストールして使ってみる

Synctrain

Synctrain

  • T-Shaped
  • 仕事効率化
  • 無料
apps.apple.com

Synctrainは、SwiftUI で作られたiOS用 Syncthingクライアントです。

Synctrainの最大の魅力は「無料」であること。 iOS版ではこれまでなかったSyncthingの無料アプリになります。 少なくとも現時点では、開発者の方の方針が有料よりは無料でというようなので、非常に期待できるアプリです。

Möbius Sync と違い、SwiftUIでの設定画面のため、戸惑いやすかったので書いてみました。

Möbius Sync

Möbius Sync

Möbius Sync

  • Pickup Infinity Limited
  • 仕事効率化
  • 無料
apps.apple.com

なお、Syncthingの仕組みを知っておかないと、設定ができないので、下記記事も参考にしてください。 torazaemon2016.hatenablog.jp

(この記事では上記記事を前提に、2nd側のiOS側の話中心で、 1st側のノートPCでのことは上記で理解して設定できるとして、簡単にしか書いていません)

1. インストール編

ここでは、iPad miniにインストールしたときのを説明します。

Synctrain

Synctrain

  • T-Shaped
  • 仕事効率化
  • 無料
apps.apple.com からインストール

画面

  • 起動後最初のStart画面

  • 設定画面(Start画面の右上の「歯車」を押す)

  • 左側のDevices画面(まだ登録がない)

初期設定(ネットワーク設定)

Möbius syncのときと同じで、ローカルネットワークだけの接続にする

Settings(設定画面)での「Advanced settings」にて

DISCOVERYについて

  • 「Announce on local networks」「Announce LAN addresses」のみON
  • NETWORK TRAVERSALのものをすべてOFF

2. 接続編(デバイスを追加する)

SyncthingでQRコードで追加したのと同様に行う。

Devices画面で「+ Add device...」を押す

「Scan using camera」を押す

カメラでノートPC側のQRコードを写して

バイスIDを取得

バイスが登録された

ノートPC側でもiPadminiを追加して、マシン間で接続ができると、Display nameなども自動で取得された

syncthing同士ならここまででネットワーク的に接続されるような表示になったりしたのですが、 Synctrainでは、次のフォルダの指定をしないと、緑の接続がつながった表示(Connected)にならない感じもあります。

なんだかんだでつながったりもしたので、単に時間が掛かっただけかもしれませんが、 つながったか不明な状態でもフォルダ共有設定に進んでみてください。 (Display nameが自動でセットされた段階で接続はされたことがあるはずです)

3. フォルダ同期編

例としてdefaultフォルダを共有

ノートPC側のDefaultフォルダを共有OKにしたのち

SyncTrainのDevicesでノートPC側の「SHARED FOLDERS」の共有設定で☑入れた「default」をONにする

接続され共有された(今回中身がないのでno files)

sampleフォルダを共有 (パターンA)

同様に、1stノートPC側(共有元)で「フォルダ名『sample』フォルダID『gsqgq-sgqde』」を、2nd「iPadmini」に対して共有に☑を入れると、

iPadmini側に「+ gsqgq-sgqde」フォルダが追加される 「+ gsqgq-sgqde」を押す

Add folder画面

FOLDER ID

  • 変更しちゃダメ
  • この名前でFoldersに並ぶ下の方で説明するFolder Settingでの Display nameの欄につけた名前でFoldersに並ぶ

  • 下のSelect exsisting folderで、他のアプリのフォルダ指定することは可能だけど、ノートPC側のフォルダを識別するためにユニークなIDである必要ということのよう

  • (共有元のSyncthingで指定したフォルダ名にはならないので、とても使いにくいので将来バージョンアップで修正してほしい)

FOLDER LOCATION

  • 「Create a new folder」Synctrainフォルダの中に「FOLDER ID」の文字列のフォルダが作られる (上の変更しちゃダメっていうやつ。ノートPC側で設定したフォルダIDに対応するフォルダ名の文字列ではない)
  • 「Select existing folder」Synctrainフォルダ外のフォルダを指定することで、他のアプリケーション(Obsidianなど)と共有可能になる

Synchronize

  • Selected files にすると、ファイル毎に選択しないと共有(同期)されない
  • All files でほとんどの場合、いいような気がする

SHARE WITH

  • ここでデバイスIDが出ているので、共有するマシンをONにする

(なお、ここでの設定は、このあとの説明にあるように他の場所でも変更可能)

Add folder画面でのが終わると、右上の「Add folder」を押す (ほとんど変えずに「Add folder」する)

SHARE WITHをまだONにしていない状態

「Devices」押して、ノートPCへの設定情報を表示

Devicesで右側の下部のほうでSHARED FOLDERSをONにして Connectedする。

右上の〇…を押すと

一番下の「Folder settings」を選択

ここで「Selection」を変更できる

ここでDisplay nameを変更可能だが、単なるSynctrainの左側一覧が変わるだけで、実際のフォルダ名がこれになるわけではない。 Display nameの欄につけた名前でFoldersに並ぶので、わかりやすい名前に修正しておくのも手だが、

結論としては、「FOLDER ID」は、共有元のノートPCの方で共有設定するときに、そこでフォルダIDとフォルダ名を同じにして、わかりやすいユニーク(固有)な文字列にして付けたほうが、Synctrainでは名前がわかりやすくなるのかと思われる。 (個人で使う分には複数フォルダの名前が重複しないよう管理できるでしょう)

Select existing folderでObsidianのVaultを共有(同期)可能にする(パターンB)

1st(ノートPC)側で Obsidianのvaultフォルダを共有設定して共有☑入れる(フォルダIDが「x2enn-2kotb」)

2nd(iPadmini)側で、「+ x2enn-2kotb」が追加されてくるので、押す

Add folderで「Select existing folder」選択

フォルダ選択画面になるので、「このiPad内」の「Obsidian」(Obsidianアプリを入れると作られるフォルダ)を選択してObsidianアプリのフォルダの中に入る。

ここ(「このiPad内」->「Obsidian」中)で、「(空いたところで長押しでメニュー出して「新規フォルダ」で)『obsidiain』フォルダを作って」、それを押して、「obsidian」の中に入ったのちに右上の「開く」を押す。

(「このiPad内」->「Obsidian」->「obsidian」という階層構造)

「開く」を押した結果(✔Existing folder: 'obsidian')で

Synchronizeを「All files」に変更して、右上の「Add folder」を押す

「Continue」を押す

追加された(「x2enn-2kotb」が+から📁アイコンに)

Devicesで共有元のデバイスでのSHARED FOLDERSで今回追加した該当するフォルダ「x2enn-2kotb」をONに

共有(コピー)されていく

基本Syncthingなので、1st(ノートPC)側でのSyncthingでの仕組みや設定を、よく理解していれば、 Synctrainの設定も可能かと思います。

SynctrainでiOSの写真を共有

iPadminiのPhotoを同期(コピー)する。

SynctrainでのPhotoの共有は、Möbius Syncとは違い、直接Photoのフォルダを扱うのではなく、一度 Synctrainのローカルフォルダに写真ファイルなどをコピーして、コピーしたファイルを共有する形になる。 そのため、iPad(iPhone)に空き容量がその分必要になる。 また、新しい写真を撮ったときは、それを追加するというアクションが必要となる。

写真共有用フォルダを作成

左の「+ Add folder...」を押して、FOLDER IDの文字列を指定(今回は「iPadminiPhotos」)して、「Create a new folder」で追加する、(All files設定なども忘れずに指定)

Settings(設定画面)にて初期設定

(上記でiPadminiPhotosフォルダが追加されている状態で) SettingsのPhotos synchronization を選択

COPY PHOTOSの「To folder」を設定する。

iPadminiPhotosを指定

Start画面で「Copy new photos」を押して、

写真を共有フォルダの「iPadminiPhotos」フォルダにコピー

FILES(ファイル)アプリで見ると、日付ごとのフォルダが生成されている

1st(ノートPC)側において、2nd(iPadmini)のを受け入れる設定を行うと、共有(同期)が進む

同期した

このあとも、新しい写真を撮ったら、「Start」画面を出して「Back-up new Photos」 (もしくはCopy new photos)を押してコピーすることで、iOSのPHOTOフォルダからSynctrainのフォルダにコピーして、それをSyncthingで同期するとなっていく。

おわりに

Settingsのほうで「periodically in the background」をONにすることで自動にすることもできるみたいや、 「Copy new photos」を押したのに、新しい写真が同期しないなどのときは、一度 Synctrainを終了して、再度立ち上げるとうまく行く。 そもそも写真を別なフォルダにコピーするので容量が必要など、Synctrainにはやや癖(不具合?)がありますが、バージョンアップによってどんどん良くなっていくといいなと思います。