fstabにマウントすることとファイルマネージャにマウントすることの違いは何ですか

fstabにマウントすることとファイルマネージャにマウントすることの違いは何ですか

..さまざまなアプローチの結果は何ですか?

私はsda2パーティションをマウントするいくつかの方法を試してきました。 fstab以外のファイルマネージャからfstabにマウントします。

これまでのところ、正しい場合はfstabにマウントすると、ブート時にパーティションが自動的にマウントされることがわかります。ただし、このマウントされたパーティションはファイルマネージャの「デバイス」の下には表示されませんが、ルートパーティションとCDROMなどは表示されます。

サイドバーのデバイスの下にパーティションを配置するには、fstabにパーティションをマウントせずにファイルマネージャでクリックする必要があります。そうですか?

しかし、両方が欲しいなら、どの道に行くべきですか?起動時に自動的にインストールされ、ファイルマネージャのサイドバーに表示されますか?

答え1

これは文書化されています(少なくともgnome-shell/ nautilus)。gvfs-udisks2-volume-monitor:

The gvfs-udisks2-volume-monitor process is responsible for the disks,
media, mounts and fstab entries shown in the desktop user interface.
..........................................
A device is either mounted (in which case its directory is known) or
it's not. If the device is not mounted, then its directory is known
only if it's referenced in the /etc/fstab file.

説明は次のとおりです。

If the directory for a device is known and outside /media, $HOME
(typically /home/foo) or /run/media/$USER then the device is not shown
in the user interface. Additionally, if any of component directories
in its directory starts with a dot ("."), the device is not shown
either. This policy may be overriden by use of the options x-gvfs-show
and x-gvfs-hide.

要約する:

デフォルトでは、にリストされているパーティションは、/etc/fstabまたは下にインストールされている場合にのみ表示されます。システムの起動時にパーティションが自動的にマウントされ、ファイルマネージャのサイドバーに表示されるようにする最も簡単な方法は、次の3つの場所のいずれかでパーティションをマウントすることです。パーティションを別のディレクトリ(たとえば)にマウントし、サイドバーに引き続き表示する場合は、マウントオプションを次に追加してデフォルトの動作をオーバーライドできます。/media$HOME/run/media/$USER/etc/fstab
/mntx-gvfs-showfstab

UUID=5a1615ca-cffd3124917a /mnt/storage ext4 rw,noatime,discard,x-gvfs-show 0 2

リストにないパーティションは/etc/fstab1によって処理され、1の値に基づいてマウントさudisks2れるため、サイドバーの下に表示されます。ただし、自動的にインストールされるわけではありません。ユーザーはセッションの開始時に以下を追加することで自動的にインストールできます。/run/media/$USER/VolumeName/media/VolumeNameUDISKS_FILESYSTEM_SHAREDDevicesudisksctl

udisksctl mount -b /dev/sdb2 -t ext4

セッション開始スクリプトに。


1
man udisks :

UDISKS_FILESYSTEM_SHARED
   If set to 1, the filesystem on the device will be mounted in a shared directory e.g. /media/VolumeName)
   instead of a private directory (e.g. /run/media/$USER/VolumeName) when the Filesystem.Mount() method is handled.

関連情報