Obsidianとは
Obsidian(オブシディアン)とはMarkdown形式のテキストファイルをベースにノートを管理するノート管理アプリケーションです.クラウド上ではなく,ローカルにMarkdownファイルを保存するため,自分のデータを手元のローカル環境で管理できることがメリットになります.ちなみにObsidianというのは黒曜石を意味する英単語らしいです.
インストール方法は以下のページで確認できます。
Syncthingとは
Syncthing(シンクシング)は,複数の端末同士でファイルを直接同期するためのオープンソースのP2Pファイル同期アプリです.こちらもクラウドに依存せず,ユーザーの環境下で端末間を相互に同期できる点が大きな特徴です.
インストール方法は以下のページで確認できます。
やりたいこと
Obsidianの良さはローカル環境でノート管理が可能なことですが,その反面,複数端末でのファイル内容の同期が難しいという欠点があります.筆者は職場でwindowsのデスクトップ,普段はmacbookAirを利用しているため,2台の端末間でノートの内容を同期したく,今回の方法を試しています.Obsidianの公式同期機能もあるようですが,有料です.OneDriveやicloudを使って同期することも考えましたが,windowsとmac間の同期は反映に時間がかかることが多かったため断念しました.
1. 複数端末間でフォルダを共有する流れ
Syncthingでは「フォルダ」と「デバイス」をペアで登録して同期します.端末には固有のID(デバイスID)が付与されるため,同期したいフォルダのある端末間で相互にデバイスIDとフォルダパスを登録します.
端末A(PCなど)と端末B(別のPCやノートPCなど)でそれぞれ Syncthing を起動.
端末Aの管理画面で,端末BのデバイスIDを登録.
端末Bの管理画面で,端末AのデバイスIDを登録.
いずれかの端末で相手のIDを追加すると,相手の画面でも「この端末を承認するか?」というリクエストが表示されます.承認してお互いを認識させる形です.
1) フォルダを追加する
端末Aで Syncthing の管理画面を開き,「Add Folder」または「Create Folder」のようなボタンをクリックし,同期したいフォルダを選択します.
フォルダパス(例:C:\Users\YourName\ObsidianVaultなど)と、フォルダIDを設定.
同期対象にするデバイス(端末Bなど)にチェックを入れるとフォルダごとにどの端末と同期するかを指定できます.
2) 相手端末でフォルダを受け入れる
端末B側の Syncthing 画面に「フォルダ共有リクエスト」のようなものが表示されます.許可(Accept)すると,端末Bにも同じフォルダIDでフォルダが作成されるよう求められます.端末B側で「どのパスに同期するか?」を指定すれば,以後そのフォルダがAとB間で自動同期(両方の端末がオンラインである必要があります)されます.
3) 同期の開始
登録が完了すると,フォルダ内のファイルが自動で転送され,双方の端末で同じ内容になります.同期完了までの進捗が管理画面に表示されます.
3. Obsidian Vault を同期する例
Obsidian で使う Vaultをそのまま Syncthing で共有する手順を示します.vaultとは,Obsidianのノートの内容や情報をすべて管理するフォルダのことです.
1)Obsidian 側で Vault フォルダを用意
たとえば C:\ObsidianVault というフォルダを作成し,そこに Markdown ファイルを保存しているとします.
2)Syncthing でフォルダを追加
端末Aの Syncthing 管理画面で「Add Folder」を選び,C:\ObsidianVault を指定します.フォルダの名前やID,同期先として端末Bを指定し,「Save」もしくは「Add」を押します.
3)端末Bで受け入れ
端末Bの Syncthing に「フォルダ XYZ を受け入れますか?」と表示されるので,承認します. 端末B側で D:\ObsidianVault のような同期先フォルダを指定し,
「Save」を押します.
4)端末Bで Obsidian の Vault として開く
端末Bにファイルが同期完了したら,Obsidian で D:\ObsidianVault を開いて同じノートを閲覧・編集できます.以後,AやBでノートを更新すると,お互いの端末がオンラインなら自動的に変更が同期される用になります.複数端末で同時編集をすると,コンフリクトが起こるので,コンフリクトが起こりそうな作業は極力避けて,作業後に同期が完了していることを確認してから別端末を開くなどの対策をとりましょう.