كيفية ربط HotKeys العالمية لبرنامج WINE تحت لينكس
هل سبق لك أن قمت بتثبيت برنامج ويندوز في لينكس تحت WINE ، فقط لتكتشف أنه لا يربط المفاتيح الساخنة على مستوى النظام؟ يحتوي HTG على العمل الذي تبحث عنه.
الصورة عن طريق الديوكالبتوس
نظرة عامة
فكل من فكر في فكرة التحول إلى لينكس ، ربما واجه بسرعة مشكلة وجود تطبيق Windows واحد تحتاجه للعمل. لقد أظهرنا بالفعل أنك تستطيع تحقيق ذلك باستخدام WINE.
بالنسبة لهذا الكاتب ، كان التطبيق تطبيق تحويل النص إلى كلام والذي يستخدم مشغل Microsoft SAPI4. كان تثبيت البرنامج تحت WINE أمرًا سهلاً ، ولكن عند اكتماله ، اكتشفت بسرعة أن المفاتيح الساخنة المستخدمة لتشغيل الإجراءات المختلفة للبرنامج (بدء القراءة ، والتوقف عن القراءة ، وما إلى ذلك) لم تعمل وأن هذا معروف مشكلة مع WINE.
يسعدني أن أقول أنه بعد الدهور من البحث ، وجدت في النهاية الحل في شكل أداة غنو التي يمكن أن تتلاعب بواجهة X.org باستخدام وظائف أصلية. على الرغم من أنه ليس الوحيد من نوعه ، فإن xdotool هو الوحيد الذي كان أسهل في العمل وكان بالفعل في مستودعات أوبونتو / منت.
xdotool
يمكن لبرنامج xdotool القيام بالعديد من المهام ذات الصلة بالنافذة من CLI ، ومع ذلك ، فإن البرنامجين الوحيدين اللذين سنستخدمهما هما "البحث" و "المفتاح". تقوم وظيفة "البحث" بهذا فقط ، حيث تبحث عن معرف نافذة / ثانية وفقًا للمعلمات التي قمت بتعيينها لها. تمكنك وظيفة "المفتاح" من محاكاة ضربة مفتاح لمعرف نافذة.
التثبيت والتكوين
من المفترض أنك قمت بالفعل بتثبيت WINE والبرنامج الذي تحتاجه تحته. في هذا المثال سوف نستخدم برنامج Balabolka كتطبيق "Windows" لأنه نسخة مجانية جيدة من البرنامج الأصلي احتاج إلى هذا الحل (مركز الكلام الثاني).
إذا كنت قد اخترت استخدام Balabolka كذلك ، فأنت بحاجة إلى تفعيل قدرات مفاتيح الاختصار الخاصة به.
ملاحظة: قد تحتاج إلى تثبيت TTSReader أو مركز الكلام الثاني حتى في وضع العرض ، حتى يتم تثبيت أصوات SAPI.
افتح البرنامج وانتقل إلى الإعدادات (Shift + F6) ضمن "الخيارات" -> "الإعدادات".
انتقل إلى علامة التبويب مفاتيح الاختصار وتحقق من خانة الاختيار "استخدام مفاتيح الاختصار العمومية".
انقر فوق موافق.
اتركها تعمل في الخلفية حتى تتمكن من القيام بمهمتها عندما نضع ضغطات المفاتيح عليها.
قم بتثبيت xdotool بإصدار:
sudo apt-get install xdotool
ملزم عالمي
لا يساعدنا برنامج xdotool من تلقاء نفسه في الارتباط بمفاتيح الاختصار على مستوى العالم ، ولكن يمكننا استخدام نظام التشغيل السريع OS الموجود حاليًا. ما سنفعله هو إنشاء برنامج نصي بسيط يستخدم أداة xdotool لإرسال ضغطات المفاتيح التي نريدها لبرنامج Balabolka واستدعاءها من نظام Hotkey لنظام التشغيل OS.
قم بإنشاء برنامج نصي يسمى "start_read.sh" بالمحتوى التالي:
xdotool key --window $ (xdotool search --limit 1 --all --pid $ (pgrep balabolka) --name Balabolka) "ctrl + alt + F9"
قم بإنشاء برنامج نصي آخر هذه المرة يسمى "stop_read.sh" بالمحتوى التالي:
xdotool key --window $ (xdotool search --limit 1 --all --pid $ (pgrep balabolka) --name Balabolka) "ctrl + alt + F7"
ملاحظة: أعلم أن هذه بطانة واحدة لا تتطلب برنامج نصي ، ولكن برنامج "اختصارات لوحة المفاتيح" Mint / Ubuntu ، لم يتعاون مع مجرد استدعاء البرنامج مباشرة. إذا كنت تعرف كيفية القيام بذلك ، يرجى المشاركة في التعليقات أدناه.
فرملة هذا الأمر إلى مكوناته ، ما نراه هو:
- الجزء "-pid $ (pgrep balabolka)" ، ينفذ "pgrep" على البرنامج الذي نريد استخدامه للتأكد من معرف العملية الخاصة به. هذا سوف يضيق xdotool من "البحث" لمجرد أن PID.
- الجزء "xlotool search -limit 1 -all… -name Balabolka" ، يضيق نطاق البحث عن xdotool أكثر ويحد من الإجابات التي تم إرجاعها إلى 1. كما هو الحال في حالتنا لا يهم أي من معرفات النوافذ التي تم إرجاعها من البرنامج ، والحد من أعمال بمثابة المنسق لأمر "المفتاح". قد تجد أنك تحتاج إلى تدليك هذا الجزء أكثر إذا كان له أهمية للبرنامج الذي تستخدمه.
- يرسل "مفتاح xdotool key -window٪ WINDOW_ID٪" ctrl + alt + F7 "، ضغط المفاتيح المطلوب إلى معرف النافذة الذي تم الحصول عليه من الأجزاء السابقة.
جعل البرامج النصية للتنفيذ.
لينكس منت لوحة المفاتيح اختصارات
تحت Linux Mint ، يتم تعيين مفاتيح الاختصار العالمية في برنامج "اختصارات لوحة المفاتيح".
بمجرد فتحه ، انقر فوق "إضافة" لإنشاء اختصار مخصص جديد:
اعطها اسما وتحت عنوان "القيادة" أعط المسار الكامل لأحد البرامج النصية التي قمنا بإنشائها أعلاه. كرر العملية للبرنامج النصي الثاني.
الآن ، على عمود "الاختصارات" ، انقر فوق الكلمة "معطل" للحصول على الخيار لتعيين تحرير وسرد مفتاح جديد.
ملاحظة: يمكنك ، إذا كنت ترغب في ذلك ، استخدام شيء آخر ثم الافتراضي للبرنامج. بمعنى أن تقوم بإنشاء "إعادة رسم" للارتباطات الرئيسية التي ، بخلاف البرنامج الذي تستخدمه ، قد تكون خارج سيطرتك.
ضرب التحرير والسرد الذي اخترته وسماع السحر.
لوحة مفاتيح أوبونتو
تحت أوبونتو ، ما يسمى البرنامج الذي يحدد مفاتيح الاختصار العالمية يسمى "لوحة المفاتيح".
قم بالتبديل إلى علامة التبويب "اختصارات" واختر "Custom Shortcuts".
انقر فوق علامة الجمع لإضافة اختصار. اعطها اسما وتحت عنوان "القيادة" أعط المسار الكامل لأحد البرامج النصية التي قمنا بإنشائها أعلاه. كرر العملية للبرنامج النصي الثاني.
الآن انقر فوق الكلمة "معطل" للحصول على خيار لتعيين تحرير وسرد مفتاح جديد.
ملاحظة: يمكنك تكرار استخدام المذكرة من قسم Mint ، إذا كنت ترغب في ذلك ، إذا كنت ترغب في ذلك. بمعنى أن تقوم بإنشاء "إعادة رسم" للارتباطات الرئيسية التي ، بخلاف البرنامج الذي تستخدمه ، قد تكون خارج سيطرتك.
ملاحظات المؤلف
في كل مرة كنت أفكر بجدية في الانتقال إلى Linux ، كانت هذه المسألة هي الأولى على قائمة المشاكل. ليس أن لينكس ليس لديه مشاكل ، لكن هذه كانت العقبة الحقيقية ، بالنسبة لي. لقد جربت مرارًا وتكرارًا ، وسألت أصدقاء / أشخاصًا في هذا المجال ، بل ودخلت في فضل ... أنا سعيد بأن هذه الملحمة انتهت وأن روحي يمكن أن ترتاح أخيرًا.
آمل أن أكون قد ساعدت شخصًا ما هناك على عدم الذهاب إلى نفس المحنة.
Doc Brown: لقد أخذني ما يقرب من ثلاثين سنة وثروة عائلتي بأكملها لتحقيق رؤية ذلك اليوم. يا إلهي ، لقد مضى وقت طويل?