جي في اف اس
تعتمد هذه المقالة بشكل مفرط على المراجع الأولية . ( فبراير 2017 ) |
| إصدار مستقر | 1.56.1 [1]
/ 18 أكتوبر 2024 |
|---|---|
| مستودع |
|
| نظام التشغيل | لينكس |
| منصة | جنوم |
| يكتب | طبقة التجريد لنظام الملفات |
| رخصة | LGPL-2.0 أو أحدث |
| موقع إلكتروني | wiki.gnome.org/Projects/gvfs |
GVfs (اختصار لنظام الملفات الافتراضي GNOME ) هو نظام الملفات الافتراضي لمساحة المستخدم في GNOME المصمم للعمل مع التجريد I/O لـ GIO ، وهي مكتبة متوفرة في GLib منذ الإصدار 2.15.1. وهو يقوم بتثبيت العديد من الوحدات النمطية التي تستخدمها التطبيقات تلقائيًا باستخدام واجهات برمجة التطبيقات الخاصة بـ libgio. كما يوجد دعم FUSE الذي يسمح للتطبيقات التي لا تستخدم GIO بالوصول إلى أنظمة الملفات GVfs.
أحد أسباب الارتباك هو حقيقة أن تجريد نظام الملفات الذي تستخدمه نواة Linux يُطلق عليه أيضًا اسم طبقة نظام الملفات الافتراضي (VFS). ومع ذلك، فإن هذا على مستوى أدنى.
يختلف نموذج GVfs عن GnomeVFS ، الذي يحل محله، حيث يجب تثبيت أنظمة الملفات قبل استخدامها. يوجد خادم رئيسي ( gvfsd) يتعامل مع عمليات التثبيت المنسقة، ثم يكون كل خادم (عادةً) في عملية خادم خاصة به (على الرغم من أن عمليات التثبيت يمكن أن تشترك في عملية الخادم).
يأتي GVfs مع مجموعة من الواجهات الخلفية، بما في ذلك دعم سلة المهملات، وSFTP ، وFTP ، وWebDAV ، وSMB ، والبيانات المحلية عبر تكامل Udev ، و OBEX ، و MTP وغيرها. [2] يبدو أن GVfs لا يدعم الملفات المنقولة عبر بروتوكول shell (FISH).
يحتوي GVfs أيضًا على وحدات نمطية لـ GIO تنفذ مراقبي الحجم وتكوين معالج مخطط GNOME URI.
هناك مجموعة من الوسائط لبرنامج سطر الأوامر "gio" الذي يسمح لك بتشغيل الأوامر (مثل cat، وls، وstat، وmount، وما إلى ذلك) على الملفات الموجودة في عمليات تثبيت GVfs.
يتم عرض الموارد المرفقة عبر صيغة URI ، على سبيل المثال smb://server01/gamedata أو ftp://username:password@ftp.example.net/public_html، ولكن يتم أيضًا تثبيتها بالطريقة التقليدية ضمن الدليل ~/.gvfs/أو /run/user/$UID/gvfsأو [3] [4] لجعلها متاحة للتطبيقات التي تستخدم أوامر POSIX القياسية والإدخال/الإخراج.
$XDG_RUNTIME_DIR/gvfs
التفاصيل الفنية

x-gvfs-showعملية gvfs-udisks2-volume-monitor ما إذا كان الجهاز المثبت معروضًا أم لا [5] في ملفات GNOME . لقطة شاشة لأقراص GNOME .إلى جانب واجهات برمجة التطبيقات المفيدة عمومًا مثل الشبكات ودعم D-Bus، يوفر GIO أيضًا واجهة برمجة تطبيقات VFS للتطبيقات. يوفر GVfs تنفيذات تتجاوز ذلك وتسمح بالوصول إلى الملفات والتخزين باستخدام العديد من البروتوكولات. يوفر GVfs تنفيذات لأنظمة ملفات الشبكة المختلفة كوحدات قابلة للتحميل. بالإضافة إلى ذلك، يوفر GVfs أيضًا دعمًا لمجلدات المهملات أو الشبكة أو المجلدات الحديثة، ولحرق الأقراص المضغوطة ومراقبة الأجهزة والمجلدات المثيرة للاهتمام على الكمبيوتر.
كان هدف GVfs هو التغلب على أوجه القصور في GnomeVFS [6] وتوفير واجهة برمجة تطبيقات جيدة للغاية لدرجة أن المطورين يفضلونها على استدعاءات POSIX الخام. من بين أمور أخرى، يعني ذلك استخدام GObject. كما يعني عدم استنساخ واجهة برمجة تطبيقات POSIX، بل توفير واجهات ذات مستوى أعلى ومركزة على المستندات. يمكن لـ GTK استخدامها مباشرة، على سبيل المثال في filechooser.
تستخدم التطبيقات GVfs بشكل غير مباشر، عن طريق تحميل GIO لوحدة GVfs التي تنفذ نقاط امتداد GIO. يقوم خادم GVfs الرئيسي gvfs بتوليد المزيد من خوادم التثبيت لكل اتصال فردي. يتم تضمين دعم GVfs لمراقبة الحجم في وحدة قابلة للتحميل منفصلة.
يتم توزيع تنفيذ GVfs الفعلي على عدد من العمليات.
يمكن لـ GVfs استخدام FUSE لتركيب VFS الخاص به مباشرة على نظام الملفات. [7] ويتكون من جزأين: [8]
- مكتبة مشتركة يتم تحميلها بواسطة التطبيقات التي تدعم GIO
- GVfs نفسه، والذي يحتوي على مجموعة من الشياطين التي تتواصل مع بعضها البعض ومع وحدة GIO عبر D-Bus .
تعمل مجموعة من أدوات سطر الأوامر (مثل gvfs-mount وgvfs-less) مع موارد VFS. [9]
- https://developer.gnome.org/gio/stable/ch01.html#gvfs-overview
| شيطان | مهمة |
|---|---|
| رئيسي | |
| جي في اف اس دي | gvfsd هو البرنامج الرئيسي لبرنامج GVfs. وهو يوفر اسم "org.gtk.vfs.Daemon" على ناقل الجلسة. ويتم تشغيل برنامج gvfsd تلقائيًا بواسطة عملاء GIO إذا لم يكن قيد التشغيل. وتتمثل المهمة الأساسية لبرنامج gvfsd في العمل كمتتبع/مدير للتثبيت. فهو ينشئ واجهات خلفية جديدة عند الطلب ويتابع دورة حياتها، ويحافظ على قائمة بالتثبيتات النشطة وينشئ اتصالات مباشرة بها. كما يقوم برنامج gvfsd أيضًا بتشغيل gvfsd-fuse(1)، ويوفر له نقطة التثبيت حيث يجب تثبيت نظام ملفات التثبيت. |
| الصمامات gvfsd | يحافظ gvfsd-fuse على تثبيت FUSE ( نظام الملفات في مساحة المستخدم ) لجعل واجهات GVfs الخلفية متاحة لتطبيقات POSIX. يتم توفير نقطة التثبيت لنظام الملفات fuse بواسطة وسيطة [PATH]. يتم تشغيل gvfsd-fuse عادةً بواسطة gvfsd. |
| بيانات تعريفية لـ gvfsd | gvfsd-metadata هو برنامج يعمل كمُسلسل كتابة لتخزين بيانات التعريف الداخلية لـ gvfs. يتم تشغيله تلقائيًا بواسطة عملاء GIO عندما يقومون بإجراء تغييرات على البيانات التعريفية. تتم عمليات القراءة بواسطة كود GIO من جانب العميل مباشرةً، ولا تتطلب تشغيل البرنامج. يتم استخدام إمكانيات بيانات التعريف لـ gvfs بواسطة مدير ملفات GNOME ، على سبيل المثال. |
| شاشات مراقبة مستوى الصوت | |
| gvfs-goa-volume-monitor | دعم حسابات GNOME Online (راجع حسابات GNOME Online في GNOME wiki) |
| gvfs-gphoto2-volume-monitor | دعم بروتوكول نقل الصور كما تم تنفيذه في gPhoto |
| gvfs-mtp-volume-monitor | دعم بروتوكول نقل الوسائط |
| gvfs-udisks2-مراقبة مستوى الصوت | عملية gvfs-udisks2-volume-monitor مسؤولة عن الأقراص والوسائط والتركيبات وإدخالات fstab المعروضة في واجهة مستخدم سطح المكتب. على وجه الخصوص، يستخدم GNOME Shell و GNOME Files بالإضافة إلى أي تطبيق آخر يستخدم واجهات برمجة تطبيقات GLib معلومات من هذه العملية. [5] في دبيان، يتم توزيعه كجزء من حزمة gvfs-daemons. [10] لا ينبغي الخلط بينه وبين udisksd وudisksctl، والتي تعد جزءًا من حزمة udisks2. [11] udisks : يعمل خادم udisks كواجهة لأجهزة كتلة النظام، ويتم تنفيذه عبر D-Bus . إنه يتعامل مع عمليات مثل الاستعلام أو التركيب أو إلغاء التركيب أو التنسيق أو فصل أجهزة التخزين مثل الأقراص الصلبة أو محركات أقراص USB. |
| gvfs-afc-volume-monitor | دعم لـ Apple File Conduit |
| تثبيت الواجهات الخلفية | |
| gvfsd-afc | تثبيت وحدات تخزين iPhone/iPod touch |
| gvfsd-afp | تثبيت مجلدات بروتوكول ملفات Apple |
| gvfsd-afp-تصفح | تصفح مجلدات بروتوكول تقديم ملفات Apple |
| أرشيف gvfsd | يقوم بتثبيت ملفات الأرشيف بتنسيقات مختلفة |
| حرق gvfsd | يوفر موقعًا لحرق الأقراص المضغوطة/ الأقراص الضوئية |
| gvfsd-cdda | تثبيت أقراص الصوت المضغوطة |
| gvfsd-الكمبيوتر | يوفر الكمبيوتر:// |
| gvfsd-dav | تثبيت أنظمة ملفات DAV |
| gvfsd-dnssd | يتصفح DNS-SD |
| gvfsd-ftp | يتم التحميل عبر FTP |
| gvfsd-gphoto2 | يتم التثبيت عبر PTP، مما يعني أن GVfs يستخدم libgphoto2 لعرض الصور الموجودة على الكاميرا على تطبيقات GNOME عبر VFS |
| gvfsd-http | يتم التحميل عبر HTTP |
| اختبار gvfsd المحلي | اختبار خلفي |
| gvfsd-mtp | يتصاعد عبر MTP |
| شبكة gvfsd | يوفر الشبكة:// |
| gvfsd-nfs | يتم التثبيت عبر بروتوكول NFS |
| gvfsd-الأخيرة | يوفر أحدث:// |
| gvfsd-sftp | يتم التحميل عبر sftp |
| gvfsd-smb | يقوم بتثبيت مجلدات SMB (أي نظام الملفات الذي يشاركه Windows) |
| gvfsd-smb-تصفح | يستعرض مجلدات نظام الملفات التي يشاركها Windows |
| gvfsd-سلة المهملات | يوفر trash:// |
يرجى الرجوع إلى https://wiki.gnome.org/Projects/gvfs/backends للحصول على الوثائق الرسمية.
التوصيل الساخن
الأجهزة المتصلة عبر eSATA أو USB قابلة للتوصيل المباشر فعليًا (من المفترض أن تكون كذلك) . عندما يتم توصيل جهاز فعليًا بنظام الكمبيوتر أو إزالته فعليًا منه، تلاحظ نواة Linux هذا الأمر وترسل حدثًا إلى مساحة المستخدم. تتلقى نواة Linuxsystemd-udevd مثل هذه الأحداث وتستجيب لها وفقًا لتكوينها الشامل تمامًا:
- يدير نظام الملفات الخاص الذي تم تثبيت devfs عليه
/dev، وبالتالي يقوم systemd-udevd بإنشاء وإزالة عقد الجهاز بشكل ديناميكي من /dev، كما يقوم أيضًا بتحميل برامج التشغيل حسب الضرورة في وقت التمهيد - في حالة وجود جهاز كتلة، يقوم systemd-udevd بإخطار
udisksd، وgvfsdوgvfs-udisks2-volume-monitor. [12]
يعمل برنامج udisks2 udisksdكواجهة لأجهزة حظر النظام، والتي يتم تنفيذها عبر D-Bus. وهو يتعامل مع عمليات مثل الاستعلام عن أجهزة التخزين مثل الأقراص الصلبة أو محركات أقراص USB المحمولة أو تركيبها أو فك تركيبها أو تنسيقها أو فصلها. كما توفر هذه الحزمة udisksctlالأداة المساعدة، والتي يمكن استخدامها لتشغيل هذه العمليات من سطر الأوامر (إذا سمح PolicyKit بذلك ).
التغليف
في Debian يتم تجميع GVfs في أربع حزم: gvfs، وgvfs-daemons، وgvfs-bin، وgvfs-backends.
انظر أيضا
- يتيح GNOME Files ، مدير الملفات لسطح مكتب GNOME ، للمستخدمين التفاعل مع أنظمة ملفات GVfs
- Thunar ، مدير الملفات لبيئة سطح المكتب Xfce، يوفر أيضًا تجريدًا لنظام الملفات باستخدام مكتبة GVfs
- مكتب الاستثمار الكويتي ، منشأة مماثلة لأنظمة كيدي
- Archivemount ، تنفيذ نظام ملفات افتراضي مخصص للوصول إلى ملفات الأرشيف
مراجع
- ^ "الإصدار 1.56.1". 18 أكتوبر 2024. تم الاسترجاع 21 أكتوبر 2024 .
- ^ ملاحظات إصدار GNOME 2.22، 6.1: GVfs وGIO محفوظ في 2008-06-01 على موقع Wayback Machine
- ^ "gvfsd-fuse.1 - manned.org". manned.org . تم الاسترجاع في 18 أبريل 2018 .
- ^ "نقطة التثبيت الافتراضية للمجلد البعيد في Nautilus". askubuntu.com . تم الاسترجاع في 18 أبريل 2018 .
- ^ من "udisks2/what-is-shown.txt". 5 ديسمبر 2012..
- ^ "خطط لاستبدال gnome-vfs". mail.gnome.org . تم الاسترجاع في 18 أبريل 2018 .
- ^ "gvfs status report". mail.gnome.org . تم الاسترجاع في 18 أبريل 2018 .
- ^ "استخدام GNOMEvfs للتعامل مع الملفات"، Linux.com
- ^ "OpenSolaris 2009.06 - صفحة دليل لـ gvfs-mount (قسم opensolaris 1) - أوامر يونكس ولينكس". www.unix.com . تم الاسترجاع في 18 أبريل 2018 .
- ^ "قائمة ملفات حزمة gvfs-daemons".
- ^ "قائمة ملفات حزمة udisks2".
- ^ ديفيد زيوثين (2014-05-28). "التركيب الحديث باستخدام Udisks2".
روابط خارجية
- الموقع الرسمي
