lisz-works

プログラミングと興味を貴方に

SyncthingでtermuxとWindowsを同期してみた!同期の手順

【スポンサーリンク】

Syncthing

こんにちは、lisです!

Syncthingというツールで、termuxとWindows間でファイル同期をしてみました!

Syncthingは各プラットフォーム用にアプリがあるようなので、同じ用に設定していけば、他の環境でも同様に同期ができると思います!

スマホ: 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」です。

ここから最新のものをダウンロードしてインストールできます。

github.com

Chocolateyの場合、下記でインストールできます。

> choco install synctrayzor

接続先デバイス設定

これはスマホ/PCどちらの設定画面主体に行ってもOKです。

今回はスマホの設定画面主体で話を進めます。

メイン画面の「接続先デバイス」にある「+接続先デバイスを追加ボタン」を押します。

+接続先デバイスを追加ボタン

Widnows側の「このデバイス」という欄を確認。

「ID」という項目の値クリック。

「ID」という項目の値クリック

表示されるIDをコピーします。

表示されるIDをコピー

スマホ側の設定画面に戻って、「デバイスID」に貼付け。

任意のデバイス名を設定します。

この設定をしたあと、PC側設定画面に戻ると「新規デバイス」というポップアップが出ます。

「+デバイスを追加ボタン」で追加しましょう。

デバイスを追加

これで2つのデバイスが接続されました。

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欄
      • ☑最小化するとき通知領域へ格納する
      • ☑閉じるとき通知領域に格納する
    • ログイン時の起動欄
      • ☑ログインしたときに自動的に起動する
      • ☑起動時に最小化する

これで自動起動とタスクトレイ常駐してくれます。

参考

コチラを参考にしました。ありがとうございました!

linuxfan.info

ict-worker.com

www.virment.com

www.virment.com

あとがき

SyncthingでtermuxとWindowsを同期してみたでした!

やり方さえわかっちゃえばデバイス間同期が簡単に行えるのでかなりいい感じです。

ちなみに今回はtermuxでのsyncthingに触れましたが、アプリ版もあるようです。

なので単純にスマホのファイルを同期したいという目的にも使えるツールかもしれません。

使い方によってはチーム内で共有とかもできるかも知れませんね。

www.lisz-works.com

www.lisz-works.com

www.lisz-works.com