
修正する
間違っていたら訂正してください:マイコンピュータでDebianというGNU / Linuxディストリビューションを使用して作業するときは、コマンドの入力、アプリケーションの実行、ファイルを開くという2つの方法がわかります。
- ㅏコマンドラインインタフェーステキストを入力する場所
- ㅏGUI[別名GUI]:「ウィンドウ」、記号などへのインターフェースを提供します。
「ウィンドウマネージャ」というものがあります。私はGNU / Linuxを使用するときに次のことをします。Xウィンドウシステム[私の知る限り]。
オリジナル投稿
状態:USBスティックの自動マウントを無効にしました/etc/fstab
[例/dev/sdb1
]。インストールにはroot
少なくとも1つのsudo
項目が必要です。コマンドラインでは可能ですが、ウィンドウマネージャでは不可能(!)。私の言葉は、ウィンドウautomount
マネージャで「記号をクリックすると」何の問題もなくGUIでデバイスを開きますが、CLIではルートでなければならないということです。
質問:GUIからのインストールは「舞台裏で」どのように機能しますか?共通ウィンドウマネージャファイルはありますかconfig
、それとも個別に設定する必要がありますか?
mount
私はコマンドを理解して使用し、読んで構成する方法を理解し、/etc/fstab
そこにあるアイテムを見る場所と/etc/mtab
その意味を知っていると思います。
答え1
これはWindows環境(GNOME / KDE /など)によって異なりますが、たとえばGNOMEではgvfs-*-volume-monitor
。/etc/fstab
完全に独立して。
構成ファイルに関連してDEを実行しているユーザーのホームディレクトリには、いくつかの関連ファイルがあります$HOME/.local/share/gvfs-metadata
。
このU&L Q&Aの質問は次のとおりです。gvfsとは何ですか?私のシステムでなぜ使用するのですか?、GVFSが何であるかを説明しようとしています。これはこれを非常によく説明します。しかし、あなたが本当に尋ねたい質問は、次のU&L Q&Aで解決できると思います。Uディスク自動装着(動作原理)。
答え2
簡単な答えは、彼らがトリックを書くということです。彼らはfstab
通常、udev
挿入イベントを捕捉するためにフックを使用し、ディスクを手動でマウントします。root
これはファイルマネージャに渡され、dbus
新しいディスクを通知したり、マウント解除の代わりsuid
にユーティリティを使用したりできますdbus
。残念ながら、標準設定オプションはなく、デスクトップワークアウトは複雑さを隠すことを信じているため、これをユーザー文書に文書化せず、開発者文書にのみ文書化し、シングルユーザーシステムを想定するため、USBドライブはXサーバーにログインした最初のユーザーに。
答え3
これは状況の私の理解ですが、専門家ではないので、他の答えほど技術的ではありません。これは長年にわたってこれらのシステムを使用してきた結果であり、詳細に研究していません。
これには、乗り物を管理する3人の主要プレイヤーがあります。
ヒューズ: で指定されているように、これはすべての中心です。ウィキペディアページ:
FUSE(ユーザー空間ファイルシステム)は、権限のないユーザーがカーネルコードを編集せずに独自のファイルシステムを作成できるようにするUnix系コンピュータオペレーティングシステムのオペレーティングシステムメカニズムです。これは、FUSEモジュールが実際のカーネルインタフェースに「ブリッジ」を提供するだけで、ユーザー空間でファイルシステムコードを実行することによって達成されます。
したがって、デフォルトでは、これは権限のないユーザーがファイルシステムをマウントできるようにすることです。
gvfs
:Gnomeデスクトップ環境(Gnome、Mate、Cinnamonを含む)スイートでは、新しく接続されたドライブを自動的にマウントするデーモンです。もちろん渡すヒューズ。私はKDEシリーズに対応していますカーチン独立団体主なプロセス
gvfs
は次のとおりです(から抜粋man gvfs
)。- gvfsd - 主なgvfsデーモン
- gvfs-fuse-daemon - gvfsをヒューズファイルシステムとしてインストールする
- gvfsd-metadata - gvfsメタデータの書き込み
udev
:新しいデバイスを検出し、接続するとスクリプト/コマンドを実行できるようにするシステムです。たとえば、udev
新しい画面を検出してその画面にデスクトップをミラーリングできます。udevはLinuxカーネルのデバイスマネージャです。主に/ devのデバイスノードを管理します。これはdevfsとhotplugの後継製品です。これは、ファームウェアのロードを含むデバイスを追加/削除するときに/ devディレクトリとすべてのユーザースペース操作を処理することを意味します。
特にudisksベースのボリュームモニターで動作しているよう
gvfs
です。しかし、それ自体は(参照)によって異なります。gvfs-udisks2-volume-monitor
udisks
udev
man 7 udisks
したがって、デフォルトで(「ひどい単純化」を読む)ドライブを接続すると、ドライブはudev
それを検出してgvfs
デーモンに警告してからFUSEデバイスにマウントします。
FUSEはudev
すべてのデスクトップ環境で同じで、udev
ドライブをFUSEファイルシステムで監視およびマウントするDEデーモンが変更されました。
答え4
あなたが探している共通の要素は次のとおりです。ヒューズ、 たとえば、GNOMEのgvfsはそれを後で使用します。1 これはカーネルとのインタフェースです。みんなに共通だと思います。特権のないLinuxへのシステムの自動インストール[しかしコメントを見て]。 各DEにはカーネルパッチが必要なので、独自のバージョンを作成しません。
このホームページへのリンクは実際に古いです。ここで述べたように、FUSEは数年前に公式カーネルの一部になりましたが、プロジェクトの起源と目的を説明しています(無許可のマウントだけではありません)。
異なるデスクトップ環境があるのと同じ理由で、異なるシステムは異なるスタイルを持つ可能性があります。これは、GUIがどのように/何であるべきかについての異なるビジョンを表します。ユーザーインターフェイスの形式と機能を担当しますが、FUSEは実際のインストールとカーネルレベルの操作を担当します。 FUSEは実際には「自動」部分を実行せず、「無許可」部分に/dev
近いですが、自動部分は非常に簡単です。私はこのように動作するインストールアプリケーションを作成しましたが、これは新しいノードの表示を監視するだけです。2この 部分は約100行のC ++コードで構成されています。シンプルで簡単です。このレベルでは、共通のAPIは実際には必要ありません。
1または実際の権限のないインストールを実行している場合はOKです。 Theresaの答えは、一般的なマウントへのアクセスを可能にする新しい方法を扱うことができます。
2 hildredが観察したように、udevコールバックはより良くハッキングの少ないアプローチです。