本文へスキップ
このページは機械翻訳されたものです。不正確な箇所が含まれる可能性があります。英語の原文を読む

Google Driveで同期する方法

このガイドでは、Google Driveクラウドストレージを使って、KeePassiumのデータベースを他のデバイスと同期する方法を説明します。

KeePassiumは、Google Driveに対して2つの同期方法をサポートしています。

方法1: 直接接続

この方法では、KeePassiumはGoogleのサーバーと直接通信します。アプリがデータ転送を完全にコントロールでき、他のアプリに依存しません。そのため、直接接続はファイルアプリ経由よりも信頼性が高くなります。

Google Driveからデータベースを同期するには、次の手順に従ってください。

  • データベース 画面に移動します
  • その他サーバーに接続 をタップします
    • 確認された場合は、ネットワークアクセスを許可してください。
  • クラウドストレージの種類を選択します
  • KeePassiumがクラウドアカウントへのログインを求めます
  • データベースファイルまで移動して選択します

プライバシー

Googleにサインインすると、今後の接続を可能にするアクセストークンがKeePassiumに渡されます。アプリがGoogleアカウントのパスワードを見たり保存したりすることはありません。

方法2: iOSファイルアプリとの連携

この方法では、KeePassiumはオフラインで動作し、同期をGoogle Driveアプリに委ねます。設定は簡単ですが、直接接続の方法よりも信頼性は劣ります。

  • Google Driveアプリをインストールし、アカウントにログインします
  • KeePassiumを開き、データベース画面に移動します(必要に応じて 戻る をタップ)
  • その他データベースを開く をタップします
  • Google Driveがリストに表示されない場合は、表示されるように設定します
  • データベースファイルを選択します

トラブルシューティング

オフラインで動作しない

Google Driveは、データベースファイルを「オフラインで使用可能」にしていても、オフラインでは動作しません。

データベース選択時に「サポートされていないファイル形式」と表示される

これはGoogle Driveのプライバシー画面が原因です。この機能は、KeePassiumなど他のアプリからのファイルアクセスをブロックします。KeePassiumでファイル選択ダイアログを開くと、システムは「認証が必要です」と表示します。そのダイアログで「Google Driveを開く」をタップすると、KeePassiumからGoogle Driveアプリに切り替わります。そこでデータベースを選択すると、Google Driveは.kdbxファイルを認識できないと表示します。

解決策は、Google Driveの設定でプライバシー画面をオフにすることです。

Google Driveが応答しない

これは、データベースをKeePassiumに追加した後で、Google Driveのプライバシー画面を有効にした場合によく発生します。プライバシー画面は、他のアプリからGoogle Driveのファイルへのアクセスをブロックします。その結果、KeePassiumがデータベースを読み取ろうとしても、Google Driveが応答しなくなります。

解決策は、Google Driveの設定でプライバシー画面をオフにすることです。

共有ファイルに関する制限

Google Driveは共有ファイルをファイルアプリに公開しないため、KeePassiumに直接追加することはできません。

部分的な回避策: Google Driveアプリ → 共有中 → 該当の共有ファイルの …ドライブへのショートカットを追加。これにより、データベースがファイルシステム、ファイルアプリ、KeePassiumからアクセス可能になります。ただし、ショートカットは読み取り専用のようで、KeePassiumからデータベースを保存することはできません。

Google Drive上のFUSEファイルシステム(google-drive-ocamlfuse)

google-drive-ocamlfuseをKeePassXCと併用している場合、KeePassiumが「Google Driveが応答しない」と頻繁に報告することがあります。詳細な診断情報を見ると、データベースファイルが削除されたと表示されます。

Error Domain=NSCocoaErrorDomain 
Code=4101 "Couldn't communicate with a helper app"
UserInfo={
  NSUnderlyingError=0x1234ABCD {
    Error Domain=trash 
    Code=0 "(null)"
  }
}

原因は、KeePassXCがデータベースを保存する際に、google-drive-ocamlfuseが新しいファイルIDを作成することにあります。KeePassiumは古い参照を使ってアクセスしようとするため、Google Driveは古いファイルが削除されたと報告します。

解決策は、~/.gdfuse/default/config を開いて mv_keep_target=true を設定することです。

関連情報