こんにちは、lisです!
Syncthingというツールで、termuxとWindows間でファイル同期をしてみました!
Syncthingは各プラットフォーム用にアプリがあるようなので、同じ用に設定していけば、他の環境でも同様に同期ができると思います!
- スマホ: Syncthingをインストール
- スマホ: GUI設定画面をPCブラウザから開けるように設定
- スマホ: 初回設定
- Windows: SyncTrayzorをインストール
- 接続先デバイス設定
- スマホ: 共有設定
- ちゃんと共有されたか確認する
- Widnows: これで自動起動とタスクトレイ常駐
- 参考
- あとがき
スマホ: Syncthingをインストール
インストールはaptから。
$ apt update
$ apt install -y syncthing
スマホ: GUI設定画面をPCブラウザから開けるように設定
一旦起動して閉じます。起動するとズラズラっとログが出てきますが構わずCtrl+C
で閉じます。
$ syncthing [Ctrl-C]
1回起動すると~/.config/syncthing/が作成される。
その中のconfig.xml
のバックアップを取って編集。
- gui.address: IPを0.0.0.0に変更
</device> <gui enabled="true" tls="false" debugging="true"> - <address>127.0.0.1:8384</address> + <address>0.0.0.0:8384</address> <apikey>xxxxxxxxxxxxxxxxxxxxxxxxxxxx</apikey> <theme>default</theme> </gui> <ldap></ldap>
これで外部のブラウザからでも「IPアドレス:8384」にアクセスすれば、スマホのsyncthingの設定画面にアクセスできます。
スマホからなら「127.0.0.1:8384」などでもアクセス可能です。
syncthingをバックグラウンドで起動すればOK。
# 起動 $ syncthing &
.profileなどに記述して起動時に勝手に起動してもらってもよいと思います。
スマホ: 初回設定
Webブラウザからスマホのsyncthingの設定画面にアクセスします。
ぼくはPCからアクセスしています。
初回は匿名レポートの許可を聞かれますが、お好みで設定。
「パスワード設定しようね!」という警告も出るので、お好きに設定しましょう。
メニューから設定を開き、下記を設定します。
- 一般タブ
- デバイス名: 任意のわかりやすい名前
- GUIタブ
- GUI認証ユーザー名: 任意のユーザ名(パスワード設定する場合)
- GUI認証パスワード: 任意のパスワード(パスワード設定する場合)
- GUIテーマ: お好きに
パスワードを設定した場合、ログインフォームが出てきて以後アクセス時にログインが必要になります。
ちなみに入力時にChromeに「覚えたよ!」って言われるのに、ログインフォームが開いても記憶したらしきものは表示されません。
2回目移行は出たような気がします。
Windows: SyncTrayzorをインストール
SyncthingのWindows用のクライアントは「SyncTrayzor」です。
ここから最新のものをダウンロードしてインストールできます。
Chocolateyの場合、下記でインストールできます。
> choco install synctrayzor
接続先デバイス設定
これはスマホ/PCどちらの設定画面主体に行ってもOKです。
今回はスマホの設定画面主体で話を進めます。
メイン画面の「接続先デバイス」にある「+接続先デバイスを追加ボタン」を押します。
Widnows側の「このデバイス」という欄を確認。
「ID」という項目の値クリック。
表示されるIDをコピーします。
スマホ側の設定画面に戻って、「デバイスID」に貼付け。
任意のデバイス名を設定します。
この設定をしたあと、PC側設定画面に戻ると「新規デバイス」というポップアップが出ます。
「+デバイスを追加ボタン」で追加しましょう。
これで2つのデバイスが接続されました。
スマホ: 共有設定
任意のディレクトリをスマホ-Windows間で共有する設定をしましょう。
試しにこんな感じで共有するディレクトリとファイルを作成しました。
~ $ mkdir syncdir ~ $ cd syncdir/ ~/syncdir $ echo hoge > file ~/syncdir $ cat file hoge
スマホ側設定画面を開きます。
「フォルダー」という欄の「+フォルダーを追加」をクリック。
下記設定をしていきます。
- 一般タブ
- フォルダー名: 任意のわかりやすい名前
- フォルダーパス: 任意のフォルダパス
- 今回の場合「/data/data/com.termux/files/home/syncdir」
- 共有タブ
- 共有するデバイス名のチェックボックスを☑ON
Windows側設定画面を開くと、「新規フォルダー」というポップアップが出ます。
「追加ボタン」を押します。
下記を設定します。
- 一般タブ
- フォルダー名: 任意のわかりやすい名前(基本デフォルトでOK)
- フォルダーパス: 共有するフォルダパスを任意で
これで共有されます!
ちゃんと共有されたか確認する
Windows側を見ます。共有されています。
.stfolderはsyncthingが使っているものなので触れないでおきましょう。
Windows側で、「dirフォルダ」とその中に「test.txt」を作ってみました。
Termuxで確認するとちゃんと共有されています。
~/syncdir $ ls dir file ~/syncdir $ cd dir ~/syncdir/dir $ ls test.txt ~/syncdir/dir $ cat test.txt hello
やったね!
Widnows: これで自動起動とタスクトレイ常駐
ファイル→設定からアプリの設定ができます。
ぼくは↓はONにするようにしています。
- SyncTrayzorタブ
- SyncTrayzor欄
- ☑最小化するとき通知領域へ格納する
- ☑閉じるとき通知領域に格納する
- ログイン時の起動欄
- ☑ログインしたときに自動的に起動する
- ☑起動時に最小化する
- SyncTrayzor欄
これで自動起動とタスクトレイ常駐してくれます。
参考
コチラを参考にしました。ありがとうございました!
あとがき
SyncthingでtermuxとWindowsを同期してみたでした!
やり方さえわかっちゃえばデバイス間同期が簡単に行えるのでかなりいい感じです。
ちなみに今回はtermuxでのsyncthingに触れましたが、アプリ版もあるようです。
なので単純にスマホのファイルを同期したいという目的にも使えるツールかもしれません。
使い方によってはチーム内で共有とかもできるかも知れませんね。