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'. هذه العملية المعينة مدعومة، بالإضافة إلى تنفيذ الأوامر الخارجية، لأن الأخطاء السيئة أحيانًا تجعل النظام غير قادر على fork؛ في هذه الحالات النادرة يجب أن يكون المبرمج قادرًا على إيقاف النظام على أي حال، وقتل 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 قيد التشغيل. يمكن استخدام هذا من قبل مستخدمي busmouse لقتل gpm قبل تشغيل X (إلا إذا استخدموا -R أو تمت إزالة قيد الفتح الفردي من النواة).

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

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

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

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

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

-r number
    اضبط الاستجابة. استجابة أعلى تُستخدم لحركة مؤشر أسرع.

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

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

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

-t name
    ضبط نوع الفأرة. استخدم -t help للحصول على قائمة الأنواع المسموح بها. منذ الإصدار 1.18.1، تُظهر القائمة أيضًا البروتوكولات المتاحة كمكررات (انظر -R أعلاه)، بوضع علامة النجمة (“*”) عليها. استخدم -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-gpm2008@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')

انظر أيضًا
 mev(1)        نموذج لعميل برنامج gpm الخفي.
 gpm-root(1)   معالج لأحداث Control-Mouse.
ملف المعلومات حول `gpm'، والذي يعطي معلومات أكثر اكتمالاً ويشرح كيفية كتابة عميل gpm.

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

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

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