web-dev-qa-db-ja.com

/ run / user / 1000 / gvfs /とは

ファイルをダウンロードするために、Ubuntu 16.10 LTSを実行しているコンピューターにアクションカメラ(GoPro Hero 5)を接続しました。驚いたことに、/media/にカメラのフォルダーが表示されませんでした。ルートフォルダーからfind | grep DCIMを実行すると、探しているビデオファイルが含まれる次のパスを持つフォルダーが見つかりました。

/run/user/1000/gvfs/gphoto2:Host=%5Busb%3A003%2C094%5D/DCIM/

それで、/run/user/1000/gvfs/とは何であり、その目的は/media/とどう違うのですか?

8
AlwaysLearning

すべての道路はノームに通じます

Ubuntuは多くのものに加えて、Canonical(Ubuntuの所有者)による自作のプログラミングに基づいています。ほとんどの人は、Linuxカーネルに基づいており、「GNOME」デスクトップ環境を提供することを知っています。しかし、Debianにも基づいており、おそらくGnome Internalsと同じくらい重要です。 Ubuntuでは、「すべての道がGnomeに通じる」と言うことを敢えて言っています。

GIO/gvfsとは何ですか?

あなたの質問/run/user/1000/gvfs/gvfsコンポーネントは「Gnome Virtual File System」の略です。カメラとAndroid電話は、通常の「マウント」が発生する「カーネルスペース」の外側のこの「ユーザースペース」にマウントされます。

GIO(Gnome Input Output I surmise)の詳細については、 here および here を参照してください。 Ubuntuには、GIOを使用して gvfs-mountコマンド を使用してデバイスをマウントするページがあります。

質問のその他のコンポーネント/run/user/1000/gvfs//run/userコンポーネントです。これはsystemdによって作成され、/tmpディレクトリを使用して回避します。これは、ネットワークの「ルール」を回避するため、このようなデバイスの一般的な方法です。 here を参照してください。

あなたの質問の他の部分は、/mediaとどう違うのですか?

/mediaディレクトリは、リムーバブルストレージが置かれている場所です。リムーバブルストレージは、ext4fat、またはntfsなどの使い慣れたファイル形式です。デバイス名とマウント名は静的です。

Android電話は、リムーバブルストレージだけでなく、ストレージを備えたリムーバブル外部オペレーティングシステムです。ストレージには通常、MTPを使用してアクセスします。ただし、電話と通信するプログラムのホストがあります。それが/run/user/1000/gvfsに入る理由です。 Sambaも同じディレクトリチェーンに入りますが、まだ調査していません。

/run/user/1000ディレクトリ構造では、マウント名は動的であり、接続ごとに変化します。たとえば、私の電話は現在:

$ ll /run/user/1000/gvfs/mtp:Host=%5Busb%3A001%2C013%5D
total 0
dr-x------ 1 rick rick 0 Dec 31  1969 ./
dr-x------ 3 rick rick 0 May  9 18:20 ../
drwx------ 1 rick rick 0 Dec 31  1969 Internal storage/
drwx------ 1 rick rick 0 Dec 31  1969 SD card/

USB列挙は変更することで悪名高いため、次回はディレクトリ名が変わる可能性があります。 /media一方、「もの」は静的です。

カーネル4.14.34の下にUbuntu 16.04で表示される日付に注意してください。 1969年以来、このAndroidスマートフォンを持っていません。これをバグと呼ぶことができると思います。

6