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


14

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

スナップパッケージは、ホームフォルダーの外にあるファイルを検索できますか?KeePassXC(および残りのスナップパッケージ)が私の別のext4パーティション(おそらくどこかで構成されている)にあるファイルにアクセスする方法はありますか?


ハードリンクがパーティションをまたぐことは禁止されていると思います。
ジョージウドセン2017年

2
ジョージ、私はそれらがシンボリックリンクだと思う。
カイル

回答:


14

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

これを機能させる方法、難易度順:

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

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

$ sudo snap connect keepassxc:removable-media

ありがとう!!本当に良い説明とコマンドsudo snap connect keepassxc:removable-mediaがトリックをしました!!
Thanos Apostolou 2017年

2
エラー:スナップ "keepassxc"に "removable-media"という名前のプラグがありません
Erdnase

2
@Erdnaseはkeepassxcがインストールされていますか?
Tahlor

0

以下は、snapアプリケーションをクラシックインストールとして動作させる、つまり制限のない動作にするための簡単な修正です。

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

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

(驚いたことに、この特定のアプリケーションは「制限:厳密」でセットアップされています。これは、他のファイルシステムのファイルでは機能しないため、非常に煩わしいものです。)


これは悪い考えです。定義したアプリを使用せずにスナップからバイナリを実行すると、期待するすべての環境変数を取得できないため、多くの場合失敗します。たとえ実行されたとしても、それは制限されず、想定されていない場所にデータを書き込むことになります。
カイル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.