web-dev-qa-db-ja.com

スナップアプリケーションが別のパーティションのファイルを認識しない

Ubuntu 17.10にKeePassXCスナップパッケージをインストールしました。同じドライブに複数のLinuxシステムがインストールされているため、〜/ Documentsのようなホームフォルダーのほとんどを別のext4パーティションへのリンクとして作成しました(ユーザーは同じuidを持っているため、アクセス許可が正しい)。ドキュメント内にあるパスワードのデータベースを開こうとしましたが、keepassxcはドキュメント内のファイルを表示できません。ファイルをホームフォルダーに配置すると、ファイルが表示されます。

スナップパッケージは、ホームフォルダーから外部のファイルを見つけることができますか? KeePassXC(および残りのスナップパッケージ)が別のext4パーティションにあるファイルにアクセスする方法(おそらくどこかの設定)

10

通常、スナップは限定されています。デフォルトでは、スナップは独自の書き込み可能領域以外にはアクセスできませんが、インターフェースを介して許可を取得できます。デフォルトを超えてファイルにアクセスする機能を提供するインターフェースには、homeインターフェースとremovable-mediaインターフェースの2つがあります。 KeePassXCはhomeインターフェースを使用していると思います。これが~/Documentsにアクセスする方法です。おそらくremovable-mediaインターフェイスを使用することもありますが、それは/mediaにマウントされたものだけを対象としています。他のパーティションが別の場所にマウントされている場合、スナップにはシンボリックリンクをたどる権限がありません。

難易度順に並べられたこの作業を行う方法:

  1. パーティションをシンボリックリンクするのではなく、ホームディレクトリにマウントします。
  2. パーティションを/mediaにマウントし、KeePassXCがremovable-mediaインターフェイスを使用することを確認します。これはアップストリームの変更かもしれませんが、小さな変更です。
  3. KeePassXCをクラシックスナップに変更し、厳密に制限されないようにします。これは大きな変更であり、アップストリームはそれに関心がないかもしれません。

更新:KeyPassXC snapcraft.yamlここ です。既にremovable-mediaインターフェースを持っているようです。 (2)に従うために必要なことは、接続することだけです(自動的には接続されません)。

$ Sudo snap connect keepassxc:removable-media
10
Kyle

これは、スナップアプリケーションをクラシックインストールとして動作させるための簡単な修正です。つまり、何の制限もありません。

次のように、バイナリへのシンボリックリンクを/ usr/local/binに作成します。

/ usr/local/bin/pdftk->/snap/pdftk/current/usr/bin/pdftk

(驚くべきことに、この特定のアプリケーションは「confinement:strict」でセットアップされていますが、他のファイルシステムのファイルでは動作しないため、非常に迷惑です。)

1