GPM(8)

الاسم
gpm - أداة قص ولصق وخادم فأر لوحدات التحكم الافتراضية

موجز
gpm [ options ]

الوصف
تحاول هذه الحزمة أن تكون خادم فأر مفيدًا للتطبيقات التي تعمل على وحدة تحكم لينكس. تستند إلى حزمة "selection"، ويأتي بعض كودها من selection نفسها. تهدف هذه الحزمة إلى أن تكون بديلاً لـ "selection" كآلية قص ولصق؛ كما توفر تسهيلات إضافية. قدمت حزمة "selection" أول تطبيق للقص واللصق للينكس باستخدام زرّي الفأر، ولا تزال مخبأة القص تُسمى "مخبأة التحديد" أو ببساطة "التحديد" في جميع أنحاء هذا المستند. المعلومات أدناه مستخرجة من ملف texinfo، وهو المصدر المفضل للمعلومات.

الملف التنفيذي `gpm` مصمم ليعمل كخفي (وبالتالي، `gpmd` سيكون اسمًا أفضل له). يهدف هذا القسم إلى وصف خيارات سطر الأوامر لـ `gpm`، بينما يتم توضيح تفاصيله الداخلية في القسم التالي.

بسبب القيود في استدعاء النظام `ioctl(TIOCLINUX)`، يجب تشغيل `gpm` بواسطة المستخدم الفائق. أُضيفت هذه القيود في نوى 1.1 الأخيرة لإصلاح ثغرة أمنية متعلقة بالتحديد وتفريغ الشاشة.

يمكن تكوين الخادم ليتناسب مع ذوق المستخدم، وأي تطبيق يستخدم الفأر سيرث سلوك الخادم. من الإصدار 1.02 حتى 1.19.2 كان من الممكن لأي مستخدم مسجل الدخول على وحدة تحكم النظام تغيير إحساس الفأر باستخدام الخيار -q. لم يعد هذا ممكنًا لأسباب أمنية.

اعتبارًا من الإصدار 0.97، يضع برنامج الخادم نفسه في الخلفية. لقتل `gpm` يمكنك إعادة استدعائه باستخدام المفتاح `-k` في سطر الأوامر، على الرغم من أن `killall gpm` قد يكون خيارًا أفضل.

أوامر خاصة

يضيف الإصدار 1.10 القدرة على تنفيذ أوامر خاصة في ظروف معينة. تكون الأوامر الخاصة مبدئيًا لإعادة تشغيل النظام وإيقافه، لكن يمكن للمستخدم تحديد اختياره الشخصي. القدرة على استدعاء الأوامر باستخدام الفأر مفيدة للمبرمجين، لأنها تسمح بإصدار إيقاف تشغيل نظيف عندما تكون لوحة المفاتيح مقفلة ولا تتوفر شبكة لاستعادة النظام إلى حالة سليمة.

يتم تبديل الأوامر الخاصة بالنقر الثلاثي على الزر الأيسر والأيمن - وهو حدث غير محتمل أثناء استخدام الفأر العادي. أسهل طريقة للنقر الثلاثي هي الضغط على أحد الأزرار والنقر الثلاثي على الآخر. عند تبديل المعالجة الخاصة، تظهر رسالة على وحدة التحكم (ويصدر مكبر الصوت صوتين، إذا كان لديك مكبر صوت)؛ إذا حرر المستخدم جميع الأزرار وضغط على أحدها مرة أخرى خلال ثلاث ثوانٍ، فسيتم تنفيذ الأمر الخاص المقابل للزر.

الأوامر الخاصة المبدئية هي:

الزر الأيسر
    إعادة تشغيل النظام عن طريق إرسال إشارة إلى عملية init

الزر الأوسط (إن وجد)
    نفذ `/sbin/shutdown -h now`

الزر الأيمن
    نفذ `/sbin/shutdown -r now`

مفتاح سطر الأوامر `-S` يُفعّل معالجة الأوامر الخاصة ويسمح بتغيير الأوامر الخاصة الثلاثة. لقبول الأوامر المبدئية، استخدم `-S ""` (أي حدد وسيطة فارغة). لتحديد أوامرك الخاصة، استخدم قائمة مفصولة بنقطتين لتحديد الأوامر المرتبطة بالزر الأيسر والأوسط والأيمن. إذا كان أي من الأوامر فارغًا، يُفسر على أنه `أرسل إشارة إلى عملية init`. هذه العملية مدعومة، بالإضافة إلى تنفيذ الأوامر الخارجية، لأن الأخطاء البرمجية السيئة قد تجعل النظام غير قادر على الانشطار أحيانًا؛ في هذه الحالات النادرة، يجب أن يكون المبرمج قادرًا على إيقاف تشغيل النظام على أي حال، وقتل init من عملية قيد التشغيل هو الطريقة الوحيدة لفعل ذلك.

كمثال، `-S ":telinit 1:/sbin/halt"` يربط قتل init بالزر الأيسر، والانتقال إلى المستخدم الفردي بالزر الأوسط، وإيقاف النظام بالزر الأيمن.

يجب على مسؤولي النظام أن يكونوا حذرين بوضوح بشأن الأوامر الخاصة، حيث يعمل gpm بصلاحيات المستخدم الفائق. الأوامر الخاصة مناسبة بشكل أفضل لأجهزة الكمبيوتر التي يمكن الوصول إلى فأرها ماديًا فقط من قبل أشخاص موثوقين.

خيارات سطر الأوامر

خيارات سطر الأوامر المتاحة هي التالية:

-a accel
    اضبط قيمة التسارع المستخدمة عندما يكون حدث حركة واحد أطول من delta (انظر `-d`).

-A[limit]
    ابدأ مع تعطيل لصق التحديد. هذا يُقصد به كإجراء أمني؛ هجوم محتمل على النظام يبدو أنه حشو أمر شل خبيث في مخبئة التحديد (`rm -rf /`) بما في ذلك فاصل الأسطر النهائي، ثم كل ما على الضحية فعله هو النقر على زر الفأرة الأوسط.. اعتبارًا من الإصدار 1.17.2، تطور هذا إلى آلية تقادم أكثر عمومية؛ يمكن لخفي gpm تعطيل (تقادم) لصق التحديد آليًا بعد فترة من الخمول. لتفعيل هذا الوضع، أعطِ معامل limit الاختياري (بدون مسافة بينهما!) والذي يُفسر على أنه الوقت بالثواني الذي يُعتبر فيه التحديد صالحًا وقابلًا للصق. اعتبارًا من الإصدار 1.15.7، تم توفير برنامج بسيط يسمى `disable-paste`. ما يلي يُشكل إضافة جيدة إلى `/etc/profile` إذا سمحت لعدة مستخدمين بالعمل على وحدتك الطرفية.

`case $( /usr/bin/tty ) in
/dev/tty[0-9]*) /usr/bin/disable-paste ;;
esac'

-b baud
    اضبط معدل الباود.

-B sequence
    اضبط تسلسل الأزرار. `123` هو التسلسل العادي، `321` يمكن استخدامه من قبل الأشخاص الأعسر، و`132` يمكن أن يكون مفيدًا مع الفئران ذات الزرين (خاصة داخل Emacs). جميع تباديل الأزرار مسموح بها.

-d delta
    اضبط قيمة دلتا. عندما يكون حدث حركة واحد أطول من delta، يُستخدم accel كعامل مضاعف. (يجب أن يكون 2 أو أعلى)

-D  لا تدخل آليًا في وضع الخلفية عند البدء، وسجل الرسائل إلى تيار الخطأ المعياري، وليس آلية syslog. هذا مفيد لتصحيح الأخطاء؛ في الإصدارات السابقة كان يُفعل بخيار وقت الترجمة.

-g number
    مع أجهزة glidepoint، قم بمحاكاة الزر المحدد بالنقر. يجب أن يكون number `1` أو `2` أو `3`، ويشير إلى رقم الزر قبل إجراء إعادة تعيين الزر `-B`. هذا الخيار ينطبق على فك تشفير mman و ps2. لا يتم محاكاة أي زر مبدئيًا لأن النقر ps2 غير متوافق مع بعض الفئران ps2 العادية

-h  اطبع ملخصًا لخيارات سطر الأوامر.

-i interval
    اضبط interval لاستخدامه كحد زمني أعلى للنقرات المتعددة. إذا كانت الفترة بين أحداث رفع الزر وضغطه أقل من limit، يُعتبر الضغط نقرة مزدوجة أو ثلاثية. الوقت بالمللي ثانية.

-k  اقتل gpm قيد التشغيل. يمكن استخدام هذا من قبل مستخدمي فأرة الناقل لقتل gpm قبل تشغيل X (إلا إذا استخدموا `-R` أو تمت إزالة قيد الفتح الفردي من النواة).

-l charset
    اختر جدول البحث `inword()`. وسيطة charset هي قائمة من الأحرف. `-` يُستخدم لتحديد نطاق و`\ ` يُستخدم لإفلات الحرف التالي أو لتوفير رموز ثمانية. فقط الأحرف المرئية يمكن أن تظهر في charset لأن أحرف التحكم لا يمكن أن تظهر في ذاكرة الفيديو في وضع النص، حيث يتم قص التحديد.

-m filename
    اختر ملف الفأرة لفتحه. يجب أن يكون قبل -t و -o.

-M  فعّل الوضع المتعدد. سيقرأ الخفي جهازي فأرة مختلفين. أي خيار لاحق سيشير إلى الجهاز الثاني، بينما أي خيار سابق سيُستخدم للجهاز الأول. هذا الخيار يُجبر تلقائيًا خيار المكرر (`-R`) على التفعيل.

-o list-of-extra-options
    يعمل هذا الخيار بشكل مشابه لخيار “-o“ في mount؛ يُستخدم لتحديد قائمة من “الخيارات الإضافية“ الخاصة بكل نوع فأرة. القائمة مفصولة بفواصل. الخيارات `dtr` و `rts` و `both` تُستخدم بواسطة التهيئة التسلسلية لتبديل خطوط المودم، بشكل متوافق مع إصدارات gpm السابقة؛ لاحظ مع ذلك أن استخدام -o dtr المرتبط بأنواع فأرة غير تسلسلية عادية قد يُنتج خطأ الآن. وبالمناسبة، استخدم -o بعد -m وبعد -t.

-p  يُجبر المؤشر على أن يكون مرئيًا أثناء التحديد. هذا هو سلوك `selection-1.7`، لكنه مربك أحيانًا. المبدئي هو عدم إظهار المؤشر، والذي يمكن أن يكون مربكًا أيضًا.

-r number
    ضبط الاستجابة كنسبة مئوية من الحركة (1 إلى 100، المبدئي 10). يمكن استخدام رقم أقل لإبطاء حركة المؤشر، ولا يمكن استخدامه لجعل الفأرة تتحرك أسرع، انظر `-a'.

-R[name]
    يُسبب عمل `gpm' كمكرر: أي بيانات فأرة تُستقبل أثناء الوضع الرسومي ستُنتج على fifo `/dev/gpmdata` في البروتوكول name، المُعطى كوسيط اختياري (بدون مسافة بينهما!). من حيث المبدأ، يمكنك استخدام نفس الأسماء المستخدمة للخيار `-t`، على الرغم من أن التكرار في بعض البروتوكولات قد لا يُنفذ لفترة. بالإضافة إلى ذلك، يمكنك تحديد `raw` كـ name، لتكرار بيانات الفأرة بايتًا بايت، دون أي ترجمة بروتوكول. إذا تم حذف name، فالمبدئي هو `msc`. باستخدام gpm في وضع المكرر، يمكنك تكوين خادم X لاستخدام fifo الخاص به كجهاز فأرة. هذا الخيار مفيد لأصحاب فئران الناقل لتجاوز قيد الفتح المفرد. وهو أيضًا طريقة سهلة لإدارة تلك الفئران ثنائية الوضع الغبية التي تُجبرك على إبقاء الزر الأوسط مضغوطًا أثناء تغيير وضع الفيديو. يُفرض الخيار بواسطة الخيار `-M`.

-s number
    اضبط معدل العينة لجهاز الفأرة.

-S commands
    فعّل معالجة الأوامر الخاصة، واختياريًا حدد أوامر مخصصة كقائمة مفصولة بنقطتين. انظر أعلاه لوصف مفصل للأوامر الخاصة.

-t name
    ضبط نوع الفأرة. استخدم `-t help` للحصول على قائمة الأنواع المسموح بها. استخدم -t بعد تحديد جهاز الفأرة باستخدام -m.

-v  اطبع معلومات الإصدار، ثم اخرج.

-2  فرض زرين. يعني ذلك أن الزر الأوسط، إن وُجد، سيُعتبر كالزر الأيمن.

-3  فرض ثلاثة أزرار. مبدئيًا، تُعتبر الفأرة ذات زرين، حتى يتم الضغط على الزر الأوسط. إذا كانت هناك ثلاثة أزرار، يُستخدم الأيمن لتمديد التحديد، والأوسط للصقه. احذر: إذا استخدمت الخيار `-3` مع فأرة ذات زرين، فلن تتمكن من لصق التحديد.

العملية

لتحديد النص، اضغط زر الفأرة الأيسر واسحب الفأرة. للصق النص في نفس وحدة التحكم أو أخرى، اضغط الزر الأوسط. يُستخدم الزر الأيمن لتمديد التحديد، كما في `xterm'.

الفئران ذات الزرين تستخدم الزر الأيمن للصق النص.

النقر المزدوج والثلاثي يحددان الكلمة كاملة والسطور كاملة. يُوصى باستخدام الخيار `-p' للحصول على أفضل تغذية بصرية.

إن تم إبراز مسافة لاحقة بعد محتويات سطر، ولم يكن هناك نص آخر في باقي السطر، فسيتم تحديد باقي السطر آليًا. إن تم تحديد عدد من السطور، فستُزال المسافات اللاحقة المُبرزة من كل سطر من مخبأة التحديد.

أي مخرجات على وحدة التحكم الافتراضية الحاملة للتحديد ستُزيل التحديد المُبرز من الشاشة، للحفاظ على سلامة العرض، رغم أن محتويات مخبأة اللصق لن تتأثر.

تُعطّل آلية التحديد إن وُضعت وحدة التحكم الافتراضية المسيطرة في وضع الرسوميات، مثلًا عند تشغيل X11، وتُعاد تفعيلها عند استئناف وضع النص. (لكن انظر قسم BUGS أدناه.)

العلل
قد يواجه خادم `gpm` مشاكل في التفاعل مع X: إذا كانت فأرتك جهازًا أحادي الفتح (أي فأرة ناقل)، فيجب قتل `gpm` قبل بدء X، أو استخدام الخيار `-R` (انظر أعلاه). لقتل `gpm`، استدع `gpm -k` فقط. هذه المشكلة لا تنطبق على الفئران التسلسلية.

لا يمكن تشغيل مثيلين من gpm على نفس النظام. إذا كان لديك فأرتان، استخدم الخيار `-M` (انظر أعلاه).

أثناء وجود وحدة التحكم الحالية في الوضع الرسومي، ينام `gpm` حتى يعود الوضع النصي (ما لم يُستخدم `-R`). وبالتالي، لن يرد على العملاء. على أي حال، من غير المحتمل أن يظهر العملاء المتلهفون للفأرة في وحدات التحكم المخفية.

العملاء المُوزعون مع gpm غير مُحدّثين، وبالتالي توجد مخاطر أمنية محتملة عند استخدامهم.

المؤلفون
أندرو هايليت <ajh@gec-mrc.co.uk> (كود الاختيار الأصلي)
إيان زيمرمان <itz@speakeasy.org> (المسؤول السابق)
أليساندرو روبيني <rubini@linux.it> (المسؤول السابق (لا يزال يقدم الكثير من المساعدة))
نيكو شوتيليوس <nico@schottelius.org> (المسؤول)

العديد والعديد من المساهمين، في كل من ”selection“ و”gpm“.

المُشرفون

المُشرف الحالي هو Nico Schottelius. لكن دون مساعدة Alessandro Rubini والقائمة البريدية، سيكون من المستحيل عليّ صيانة gpm. يمكن الوصول إلى القائمة البريدية للتطوير على gpm@lists.linux.it. مزيد من المعلومات عن القائمة موجود في ملف README ضمن توزيعة المصدر لـgpm.

الملفات
/var/run/gpm.pid رقم تعريف العملية (PID) لبرنامج gpm قيد التشغيل
/dev/gpmctl     مقبس تحكم للعملاء
/dev/gpmdata    مخزن FIFO الذي يكتب إليه برنامج الخلفية repeater (`-R')

انظر أيضًا
 gpm-types(7)  وصف أنواع المؤشرات الحالية التي يدعمها gpm

ملف المعلومات حول `gpm'، والذي يعطي معلومات أكثر اكتمالاً ويشرح كيفية كتابة عميل gpm.

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.