web-dev-qa-db-ja.com

スナップとしてインストールされたアプリケーションからUSBストレージにアクセスする方法は?

Ubuntu 18.04 LTSがインストールされています。

私はラップトップにUSBフラッシュを挿入しました。 / media/username/DISKLABELに自動マウントされ、Nautilusで開かれました。オブジェクトを読み書きできます。

Snapとしてインストールされているアプリケーションからどのようにアクセスできますか?

geditarduino-mhall119organize-my-filesなどの次のアプリケーションのスナップを試しました。 / mediaフォルダーに移動すると、すべてエラーが表示されます:

trying to access /media

trying to access /media

アクティブスナップの出力 インターフェイス は以下のとおりです。

$ snap interfaces  | grep -v ".*-$"
Slot                             Plug
:browser-support                 organize-my-files
:core-support                    core:core-support-plug
:cups-control                    gedit
:desktop                         gedit,organize-my-files
:desktop-legacy                  gedit,organize-my-files
:gsettings                       gedit,organize-my-files
:home                            arduino-mhall119,gedit,organize-my-files
:network                         arduino-mhall119,gedit,organize-my-files,pulsemixer
:opengl                          organize-my-files
:pulseaudio                      organize-my-files,pulsemixer
:unity7                          arduino-mhall119,gedit,organize-my-files
:wayland                         gedit
:x11                             arduino-mhall119,organize-my-files,pulsemixer
gnome-3-26-1604:gnome-3-26-1604  gedit
gtk-common-themes:gtk3-themes    gedit
gtk-common-themes:icon-themes    gedit
gtk-common-themes:sound-themes   gedit
-                                arduino-mhall119:serial-port
-                                gedit:avahi-observe
-                                gedit:mount-observe

更新:

  • snap connect gedit:mount-observeを使用してmount-observeをGeditに接続しても役に立ちません。
  • removable-media インターフェイスをサポートする特別なスナップが必要なようです。
8
N0rbert

そのため、removable-mediaインターフェイス/プラグインをサポートする特別な準備されたスナップが必要です。

以下は、YAML-manifestで説明されているremovable-mediaプラグを使用したSnapのリストです。

次の GitHub検索リンク でSnapCraftersによってリリースされた他のスナップを見つけることができます。


そのため、アプリケーションにremovable-mediaの自動接続がない場合は、手動で接続する必要があります。

snap connect some-snap-name:removable-media

しかし、すべてのアプリケーションがこのプラグ/インターフェースをYAMLマニフェストに持っているわけではありません。


サポートされているプラ​​グでパッケージを見つけるのは難しいため、snapcraft.ioサイトに関する「フィルター(removable-mediaなどのプラグ)を使用したパラメトリックスナップ検索機能の追加」を作成しました

という名前のsnapコマンドに関するバグ「snapは、必要なプラグまたはコネクタを持つパッケージを検索する機能を提供する必要があります」がバグ1776938 としてlaunchpadに提出されました。

7
N0rbert

接続する必要があるインターフェイスはremovable-mediaです。

/ mediaおよび/ run/mediaのリムーバブルメディアのファイルにアクセスできます。これは、デスクトップ上のマウントされたUSBスティックと外部ハードドライブへのアクセスをアプリに与えるために使用できます。

mount-observeインターフェイスでは、マウントにアクセスするのではなく、マウントされているもののみを表示できます。

システムマウント情報を照会できます。これは、マウント引数への特権読み取りアクセスを許可し、信頼できるアプリでのみ使用する必要があるため、制限されています。

これら2つのインターフェイスはどちらも自動接続しません。から https://github.com/snapcore/snapd/wiki/Interfaces#removable-media

2
dobey

Ubuntu Softwareプログラムは、インストールした各SnapプログラムのページにPermissionsボタンを表示します。

the Krita page of Ubuntu Software program showing the buttons under the title - Launch, Remove, and Permissions

[アクセス許可]をクリックすると、ポップアップウィンドウに[リムーバブルストレージデバイス上のファイルの読み取り/書き込み]オプションが表示されます。右側のボタンをクリックすると、これがオンになります。

enter image description here

この方法で各プログラムを1つずつアクティブにする必要がありますが、ボタンが存在すること以外、覚えておくべき特別なことはありません。

1
kim holder